LoginSignup
2
1

More than 1 year has passed since last update.

MotionBoardのWebAPIを使ってMotionBoardのデータをDataSpiderで外部に出力する

Last updated at Posted at 2022-09-03

最初に

MotionBoardは様々なデータを集め、画面上で仮想統合ができるBIツールです。
データを集め、データをビジュアライズすることに長けています。

image.png

※キャプチャはウイングアーク1st社のホームページより抜粋

今回やりたいこと

MotionBoardでデータを集め・加工して、可視化する以外に、このデータをもっと他のアプリに渡したいというニーズが出てくると思います。
今回はMotionBoardで表示しているデータをWebAPIの機能を使って、外部に出力をしてみたいと思います。

今回使う機能はこちらです。

プログラムでもAPIを叩いてデータ抽出が可能ですが、今回はETLツールであるDataSpiderからAPIを呼び出してみたいと思います。

実装してみる

今回の流れはこちらです。
・MotionBoardで明細表をつくる
・DataSpiderでデータを抽出する

MotionBoardで明細表をつくる

image.png

まずはMotionBoardから取得したいデータを選択し、明細表を作成します。
(集計したチャートなども選択可能ですが、ここでは明細表を選びます)

この明細表の[アイテムプロパティ]→[共通]タブをクリックし、[WebAPIでのデータ取得を許可する]にチェックを入れます。
そして以下の情報をおさえておきましょう。
・ボードパス
・ボード名
・アイテムID

これらはAPIを呼び出す際に使用をします。

DataSpiderでデータを抽出する

image.png

今回解説するところは赤枠の中です。
それ以外はETLツールで効率的にログや実行判断をするライブラリです。
それらについてはこちらで解説をしています。
DataSpiderやETLツールを使う人にはぜひご覧になっていただきたい内容です。

グローバルリソースの設定

image.png

グローバルリソースのRESTを選択します。
URLはMotionBoard Cloudか、MotionBoard Cloud for Salesforceか、MotionBoardオンプレかによって変わります。

詳細はこちらをご覧ください。

スクリプトの設定

今回のスクリプトではWebAPIで実行した結果をCSVにして、そのCSVをDr.Sumに格納しています。
今回の解説ではWebAPIをCSVにするところまでを解説します。青枠のところですね。

image.png

WebAPI実行(POST実行処理)

まずはWebAPIの実行の定義を作ります。
使用するコンポーネントは[REST]の[POST実行処理]です。

接続先は先ほど設定したグローバルリソースを選択します。
image.png

パスは[rest/item/get/csv]
クエリパラメータは
 tenant:%{WebAPI_MBSF_テナント}  ←ここでは環境変数に入れていますがベタ打ちでOKです
 boardpath:先ほどMotionBoardの明細表を作ったボードのパス

リクエスト設定ではマルチパートフォームを選択します。
image.png

マルチパートフォームは下記を登録しておきます。
 id
 pw
 itemId
 readCount
種類はすべて文字列です。

レスポンス設定ではCSVをどこに出力するかを設定します。
image.png

RESTコンポーネントの設定は以上です。

定数入力(Mapper)

image.png

WebAPIで指定したマルチパートフォームに渡すデータを定義します。

ぼくはユーザーIDやパスワードは環境変数に入れています。
image.png

アイテムIDは明細表のIDを入れます。
image.png

レコードカウントは固定値で[2147483647]を入れます。
image.png

設定は以上です。

こちらを実行するとMotionBoardのデータをCSVとして出力することが可能です。
他にもJSON形式にしたり、別のアプリに転送することも可能となります。

最後に

今回の処理はマニアックですが、使いどころによってはすごく便利になります。
MotionBoardは数多くの接続ドライバーを持っているので、MotionBoardでデータを抽出して、外部で活用することもできます。

夢が広がりますね。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1