0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MotionBoardにデータストレージにデータを入れよう〜手動で入れてログをチェックする方法〜

Posted at

最初に

MotionBoardは綺麗でわかりやすいグラフや画面を作ることができます。



綺麗な上に、動いたりもします。
気になる人は下記リンクをクリックしてください。体験デモもできます。
MotionBoard 体験デモについて(公式HPより)

【MotionBoardとは】
様々なデータソースからデータをあつめ、1つの画面上で統合するMotionBoard。 クラウドサービスとの接続もでき、チャットツール送信もできるのでとてもおもしろいです。 ※キャプチャはウイングアーク1st社のホームページより抜粋 [ウイングアーク1st株式会社 MotionBoard](https://www.wingarc.com/product/motionboard/index.html)

今回はデータストレージに関しての投稿です。
いきなりですが、みなさまはMotionBoard Cloudのデータストレージを使っていますか?

image.png

上の図の赤枠で囲んだところです。
MotionBoard Cloudはデータベースやクラウド製品に直接データを取りに行く仕組みの他に、MotionBoard Cloudの中にデータを貯める領域があり、そこをデータストレージと呼んでいます。

このデータストレージは集計に特化したデータベースなので、データを入れると高速集計ができたり、データベース関数が使えるのでやや複雑なロジックが書けるようになるというポイントがあります。

さて、このデータストレージには何パターンかデータを取り込む方法がございます。
✅ スケジュール起動(主に夜中)でクラウドサービスやオンプレDBからデータを入れる
✅ 社内のファイルサーバに入っているExcelやCSVを監視していて、更新が入ったら自動取り込み
✅ 自分のタイミングで手動で取り込み

自動取り込みについてはMotionBoard Agentという機能が役立ちます。
こちらはマニュアルがありますので、こちらを案内します。
MotionBoard Agentとは

今回は自分のタイミングで手動でデータを取り込むときの運用について案内します。
手動だとデータが正常に取り込めたかを確認する必要があるので、下図のような確認用ボードを作る必要があるのですね。
この作り方を見ていきましょう。

全体の流れ

今回の流れは大きくわけて、4つとなります。

1.なぜ手動にする必要があるのか
2.タスク実行の設定をする
3.ログデータを表示する
4.チャートリフレッシュを自動化する

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

なぜ手動にする必要があるのか

自動の方がいいですよね。
そりゃ人の手を介さない仕組みにするべきです。まずは自動化を考えましょう。

しかし、業務によっては完全に自動化できるものというのは、そう多くありません。
人間の目でデータをチェックした後に取り込む、という仕組みも必要になります。

例えば週報のチェックの場合、MotionBoardにいったんはファイルで取り込んで可視化、ひとりひとりのデータをチェックし、MotionBoard上で修正。
修正したデータをデータストレージに格納して、最終データとする。

ほら、この場合は手動で更新する作業が必要になりますよね?

ではそのやり方について解説をしていきます。

今回解説をする対象はこちらになります。
image.png

見映えはこんな感じでOK。
管理者が見るものなので、そこまでこだわりません。
むしろ内部構造に気を配ります。

今回はMotionBoardの共有フォルダに入っているExcelをデータストレージに登録します。
image.png

複雑な形のExcelファイルを読み込んだり、複数Excelを仮想的にひとつに統合する方法につきましては、別記事を案内させてください。
MotionBoardのExcel読み込み機能を使おう

タスク実行の設定をする

スナップショット取り込み設定

Excel複数読み込み機能はとても便利です。
このような形でひとつのデータソースとして、読み込むことができます。
image.png

そしてデータストレージの設定ですが、繰り返しタイプは「実行しない」でOKです。
手動実行なので、自動の設定は行いません。
image.png

ここまでが下準備です。
データストレージへの登録は手動実行、つまりボタンクリックをしたら取り込むようにします。

ボタンアクションはこのような設定をします。
image.png

✅ 表示非表示切り替え
たいしたことをしていません。
タスク実行中にクリックしたボタンを非表示させているだけです。
タスク実行が終わりましたら、また表示させます。
image.png

✅ タスク実行
アクション種別を「タスク実行」に、タスク種類を「スナップショット作成」に、タスク名はデータストレージの登録した名前を指定します。
image.png

確認メッセージが作れますので、必要に応じて入れましょう。

✅ 表示非表示切り替え
ひとつめのアクションと逆ですね。
タスク実行の処理が終わったので、ボタンを再表示させます。

image.png

以上でタスク実行の設定は終了です。

タスクは流れますが、それが終わったのか、成功なのか異常なのかがわかりません。
そのため、次のステップはボタンの右側にログを出すようにしましょう。

image.png

ログデータを表示する

データストレージには特徴があります。
それはログデータをデータベースで保持していることです。
下図のようにDataStorageの中をのぞいてみると、「・・・_LOG」とあり、こちらがログデータとなります。
image.png

この長所を活かしましょう。

ログはこのような内容で表示されます。
image.png

データストレージの最大履歴数を1より大きくすると、ログの行が増え、SNAPSHOT_NUMも履歴の数だけ増えていきます。
データはInsertで入りますし、キー項目を見て、UPDATEすることもできます。
image.png

逆に最大履歴数を1にすると、全件洗い替えとなります。
その場合、ログは1行となります。

さて、今回はタスク実行の成否を判定すれば良いのです。
なので、このログの最新(SNAPSHOT_NUMの最大)が取得できればOKです。

さぁ、最大値の取得をしてみましょう。

明細表を用意して、データストレージの該当のLOGデータを選択します。
image.png

最大値取得のポイントはここです。
image.png
検索候補地を「他データソース定義項目の値」にして、他のデータソース定義は自分自身を選択(別に自分じゃなくてもいいですが)、
項目名(値)はもちろん「SNAPSHOT_NUM」で、初期値に**「!bottom」**

これは何をしているかというと、複数行ある中から1件だけを指定しています。
その指定がSNAPSHOT_NUMのボトム、つまり並べたら一番下に来るもの、つまり最大値というわけです。
これは正直、初見ではわからないです💦

これで最新の1件が常に表示されます。
image.png

チャートリフレッシュを自動化する

これで最後です。
いくら最新の1件が表示されるとはいえ、それはデータをリロードしなければ表示されません。
ログデータがいつ更新されるかわからないのに、リロードボタンをカチカチ押し続けるのはイヤですね。

なので、明細表を自動でリロードかけるようにしましょう。

明細表をクリックして「プロパティ」を表示します。
そして「共通」タブからリフレッシュ間隔のチェックを有効にして、たとえば10秒とします。
image.png

こうすると10秒に一度、チャートリフレッシュをします。
こちらはグラフにも使えますので、活用の幅は広いです。

おわりに

さて、このような画面はできましたでしょうか。
image.png

タスク1を実行すると、しばらくしたらログが書き換わる仕様となります。

MotionBoardはただダッシュボードを綺麗に見せるだけでなく、今回のように運用を意識した作りも重要となります。
これらの技術が、みなさまの会社の中で、使いやすい運用の一助となれば幸いです。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?