MotionBoardでポップアップをつくろう

#最初に
MotionBoardは綺麗でわかりやすいグラフや画面を作ることができます。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/04c48011-e65b-88dd-f666-a838819636e4.png" width=60%>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/e777e485-f3d0-3dc7-57e2-ddddd2df8860.png" width=60%>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/7bc601e7-ace8-cafa-2313-c2d66b9de500.gif" width=60%>
綺麗な上に、動いたりもします。
気になる人は下記リンクをクリックしてください。体験デモもできます。
[MotionBoard　体験デモについて（公式HPより）](https://www.wingarc.com/product/motionboard/demo/index.html)

<details><summary>【MotionBoardとは】</summary><div>
様々なデータソースからデータをあつめ、１つの画面上で統合するMotionBoard。
クラウドサービスとの接続もでき、チャットツール送信もできるのでとてもおもしろいです。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657180/877897e8-35d1-b055-a80c-b9051866bc38.png" width=60%>
※キャプチャはウイングアーク1st社のホームページより抜粋
[ウイングアーク１ｓｔ株式会社　MotionBoard](https://www.wingarc.com/product/motionboard/index.html)
</div></details>

今回はポップアップメニューの作り方を紹介します。
![test12.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/e8524f2d-ab26-4278-55e9-93331824316d.gif)

ブロック別のグラフから、さらに詳細を見たい時に、グラフをクリックすると、ウィンドウが出てきて詳細の集計表があらわれます。

ダッシュボードでよくある悩みのひとつとして、画面の中に入れたい情報が多すぎて、ゴチャゴチャしちゃうことがあります。
そんなときに有効な手段として、ポップアップメニューが使えるんです。

BIやダッシュボード製品はいろいろありますが、このようなホームページのような動きがつくれるのはMotionBoardならではだと思います。

さっそくつくりかたを見てみましょう。

#つくり方サマリー
今回は以下のようなMotionBoardのマニアックな機能を複数つかいます。
✅ コンテナ
✅ 変数
✅ データポイントアクション
✅ 左クリック割り当て

今回のMotionBoardの機能を覚えると、様々に応用が効きますので、ぜひ挑戦してください。

大まかな流れはこちらです。
１.コンテナを用意する
２.コンテナON、OFFボタンを用意する
３.集計表に変数をセットする
４.データポイントアクションを設定する
５.左クリック割り当てをする

さっそく見ていきましょう。

#１.コンテナを用意する
まずはポップアップ用のコンテナを用意します。
今回は画面から浮かせた形でコンテナを出したいので、フリーレイアウト型にコンテナを用意します。
![test123.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/23b29f36-44da-65fb-cab3-2291e5beab0a.gif)

操作方法はコンテナをレイアウトにはめこむのではなく、ドラッグして大きさを決めるのですね。

コンテナにはグラフの項目を掘り下げた集計表をセットします。
今回のぼくの例ですと
グラフ：ブロック別の売上金額
集計表：ブロック・支店別、年度・月度毎の売上金額
となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/d7d933e2-77b8-4b66-a96b-517e1e5065bc.png)

#２.コンテナON、OFFボタンを用意する
続いて、コンテナを表示ボタン、非表示ボタンを用意します。

表示ボタンは見栄えが悪くてOKです、最終的に非表示にして画面から出しません。
非表示ボタンはコンテナの中に入れましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/e198078c-22ba-2c4d-9515-5bdfb563f190.png)

ボタン表示の設定はこちら。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/7a6f116d-4ce3-e18f-c385-5c92403a31ee.png)

ボタン非表示はこれの逆ですね。

以下のように動けばOKです。
![test1.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/9730e39a-ed9e-cf15-a016-b9180fb3f6b6.gif)

#３.集計表に変数をセットする
さて、次は集計表の絞り込みをおこないます。
たとえばグラフで「関東」をクリックしたら、コンテナの中の集計表は「関東」で絞り込んだ状態にします。

こちらはMotionBoardの変数を使用します。
プログラムを書く人であれば当たり前の機能ですが、[ユーザーシステム変数](https://cs.wingarc.com/manual/mb/6.1/ja/UUID-58872979-69eb-84c2-2174-828800402ea8.html)は複雑なボードを作る上で切っても切れない存在です。

今回はグラフでクリックしたブロック（関東とか関西とか）を変数に入れて、集計表の検索条件にセットをします。

順番に紹介しましょう。

##変数をつくる
画面右上の「管理」から
　管理→システム変数→全般→変数
を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/aa3cb2ac-2b7d-241c-e49d-68c7ef3f1327.png)

設定箇所は画面の右側になります。
今回気をつけるべき設定はこちら。

|項目  |入力する値  |備考  |
|---|---|---|
|カテゴリ  |テンプレート  |任意の値でOK（あとで探しやすくするための名前だから）  |
|データ型  |文字型  |  |
|変数名  |ブロック名  |  |
|値  |  |👈　ここを空っぽにする  |

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/74b446fe-5c9b-ff2f-eb12-a25f70600395.png)

何を作ったかというと、「ブロック名」という名前の"箱"をつくったのです。
この"箱"の中にボード上から値をセットするのですね。


##グラフから変数に値を格納する
では次につくりました変数に値を入れる作業をします。

ここでは[データポイントアクション](https://cs.wingarc.com/manual/mb/6.1/ja/UUID-a6891f65-a095-36fb-e98a-9bc47e99c465.html)という機能を使います。

グラフをクリックして、アイテムプロパティを表示させると、一番下に"データポイントアクション"が表示されますので、そこの歯車マークをクリックします。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/c5cde7fb-2c48-f67b-c226-c2fda90070cd.png" width=40%>

今回はこのデータポイントアクションで２つの機能をセットします。
ひとつは先ほどつくったコンテナ表示ボタンの実行、もうひとつが変数の格納です。
下図のように指定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/d1bbf8e1-5cb1-908c-c627-2e5463498eae.png)

反映するシステム変数の"項目名"のところで絞り込みたい項目を入力し、システム変数に格納するという流れですね。

ではもうひとつ。
せっかく変数に情報が入りましたので、ポップアップで出てくる集計表の検索条件にこの変数をセットしましょう。
集計表のデータソースエディタから「検索」を選択します。
ブロック名を指定して、値の中に変数を入れます。
${ブロック名}のように 半角のドルマークと中カッコで変数の名前をはさめばOKです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/1d010771-bb49-b867-4e1e-30aa2402c100.png)

うまくいかなければ、下図の赤枠のところをクリックすると、変数を選んでくることができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/679a6528-065c-c59d-cdf0-313ad5f7a7e3.png)



これで**グラフを右クリックしたらボタンを実行できる**ようになりました。
開いたコンテナの中にある集計表はきちんとブロック名で絞り込まれていますね。
![test1234.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/16b36b28-8eb1-3ae0-e850-4aa9ea8141f4.gif)


では最後にワンクリックでこの動きが起きるようにしましょう。

##左クリック割り当てにデータポイントアクションを設定する
グラフを左クリックしたときに、先ほどのデータポイントアクションを動かすようにします。

グラフの「チャート編集」を開き、「共通設定 ＞ 全般」を開き、一番下までスクロールをすると、"左クリックに割り当てる機能"が出てきます。
こちらの設定を「データポイントアクション」にしてあげると、左クリックで動作が実行します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/bf7c7208-7e8b-a1e9-fdb0-656a6345c9f1.png" width=40%>

これで無事に動かすことができました。
![test12345.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/a5d4ce7c-436c-1930-1209-0526ed26402f.gif)

コンテナ表示のボタンは直接クリックしなくてOKになりましたので、アイテム管理からボタンを非表示にしちゃいます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/bcf613f8-9b74-8161-a4bc-31ca08fe3338.png)


これで完成です。
下図のような動きになりましたでしょうか？
![test12.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/e8524f2d-ab26-4278-55e9-93331824316d.gif)


#さいごに
いかがでしたでしょうか。
こんなホームページみたいな動きができちゃうのがMotionBoardの特長です。
操作が大変な部分はありますが、ノウハウをつかんでしまえばいろいろな動きをさせることができます。

ぜひひとつずつ、機能を覚えていきましょう。