最初に
MotionBoardは様々なデータを集め、画面上で仮想統合ができるBIツールです。
データを集め、データをビジュアライズすることに長けています。
※キャプチャはウイングアーク1st社のホームページより抜粋
今回やりたいこと
MotionBoardでデータを集め・加工して、可視化する以外に、このデータをもっと他のアプリに渡したいというニーズが出てくると思います。
今回はMotionBoardで表示しているデータをWebAPIの機能を使って、外部に出力をしてみたいと思います。
今回使う機能はこちらです。
プログラムでもAPIを叩いてデータ抽出が可能ですが、今回はETLツールであるDataSpiderからAPIを呼び出してみたいと思います。
実装してみる
今回の流れはこちらです。
・MotionBoardで明細表をつくる
・DataSpiderでデータを抽出する
MotionBoardで明細表をつくる
まずはMotionBoardから取得したいデータを選択し、明細表を作成します。
(集計したチャートなども選択可能ですが、ここでは明細表を選びます)
この明細表の[アイテムプロパティ]→[共通]タブをクリックし、[WebAPIでのデータ取得を許可する]にチェックを入れます。
そして以下の情報をおさえておきましょう。
・ボードパス
・ボード名
・アイテムID
これらはAPIを呼び出す際に使用をします。
DataSpiderでデータを抽出する
今回解説するところは赤枠の中です。
それ以外はETLツールで効率的にログや実行判断をするライブラリです。
それらについてはこちらで解説をしています。
DataSpiderやETLツールを使う人にはぜひご覧になっていただきたい内容です。
グローバルリソースの設定
グローバルリソースのRESTを選択します。
URLはMotionBoard Cloudか、MotionBoard Cloud for Salesforceか、MotionBoardオンプレかによって変わります。
詳細はこちらをご覧ください。
スクリプトの設定
今回のスクリプトではWebAPIで実行した結果をCSVにして、そのCSVをDr.Sumに格納しています。
今回の解説ではWebAPIをCSVにするところまでを解説します。青枠のところですね。
WebAPI実行(POST実行処理)
まずはWebAPIの実行の定義を作ります。
使用するコンポーネントは[REST]の[POST実行処理]です。
パスは[rest/item/get/csv]
クエリパラメータは
tenant:%{WebAPI_MBSF_テナント} ←ここでは環境変数に入れていますがベタ打ちでOKです
boardpath:先ほどMotionBoardの明細表を作ったボードのパス
マルチパートフォームは下記を登録しておきます。
id
pw
itemId
readCount
種類はすべて文字列です。
RESTコンポーネントの設定は以上です。
定数入力(Mapper)
WebAPIで指定したマルチパートフォームに渡すデータを定義します。
レコードカウントは固定値で[2147483647]を入れます。
設定は以上です。
こちらを実行するとMotionBoardのデータをCSVとして出力することが可能です。
他にもJSON形式にしたり、別のアプリに転送することも可能となります。
最後に
今回の処理はマニアックですが、使いどころによってはすごく便利になります。
MotionBoardは数多くの接続ドライバーを持っているので、MotionBoardでデータを抽出して、外部で活用することもできます。
夢が広がりますね。