前回は図表の表示の調整方法について説明しました。

これまでの連載の内容とこちらのサイトのテーブル情報をもとに静的なダッシュボードを作成することができるようになりましたね。

今回は部品間のデータ連携により動的なダッシュボードを作成する方法を説明します。

同一の水色の部品に接続された複数の緑色の部品間の連携

まずは同一の「クエリデータ」に接続する「グリッド」と「図表」の連携を見てみます。

前回までに作成したダッシュボードを開き、「ツールボックス」ペインの「グリッド」を「ダッシュボード」ペインにドラッグ&ドロップし、「クエリデータ2」の上部の接続ポイントを追加した「グリッド1」の下部の接続ポイントにドラッグ&ドロップします。

同様に「グリッド2」を追加して「クエリデータ2」から接続します。

これにより「クエリデータ2」という水色の部品に、「ヘルススコア推移」と「グリッド1」と「グリッド2」という3つの緑色の部品が接続されました。

同一の水色の部品に接続された複数の緑色の部品間の連携

このダッシュボードを表示すると下図のように表示されます。

ここで「ヘルススコア推移」ペインの任意のデータポイントをクリックすると、「グリッド1」 ペインと「グリッド2」 ペインの該当する日付の行が選択表示されます。

次に「グリッド1」 ペインの任意の行をクリックすると、「グリッド2」 ペインの該当する日付の行が選択表示されますが、「ヘルススコア推移 」ペインの表示は何も変化がありません。

ただし、「ヘルススコア推移」 ペインも内部的には該当する日付のデータポイントが選択されています。

ダッシュボード表示図

このように同一の水色の部品に接続された複数の緑色の部品は、そのすべてが常に同じデータ行を選択した状態となります。

別の捉え方をすると、これらの(緑色の部品のデータ行を選択する)操作は水色の部品のデータ行を選択する操作でもあると考えることができます。

この考え方は次回説明する「水色の部品間のデータ連携」を理解するときに重要となりますので覚えておいてください。

黄色の部品とそれに接続された水色の部品の連携

次にヘルススコアの表示期間を選択できるようにダッシュボードを変更してみます。

先程追加した「グリッド1」と「グリッド2」について、それぞれクリックしてからDeleteキーを押下して削除します。

「ツールボックス」ペインの「日時」を「ダッシュボード」ペインにドラッグ&ドロップし、「日時1」の上部の接続ポイントを「クエリデータ1」と「クエリデータ2」の下部の接続ポイントにそれぞれドラッグ&ドロップします。

「日時1」をクリックしてプロパティを表示し、「ペイン」を「ヘルススコア推移」に変更し、「レンジモード」をチェックし、「デフォルトの範囲」を「最新30日」に変更して、「適用する」をクリックします。

黄色の部品とそれに接続された水色の部品の連携

この状態でダッシュボードを表示すると下図のようになります。

「日時1」のプロパティにおいて、「ペイン」を「ヘルススコア推移」にしたので期間指定の部品が「ヘルススコア推移」ペインに表示されており、「レンジモード」をチェックしたので開始日時と終了日時の2つの日時を設定できるようになっており、「デフォルトの範囲」を「最新30日」にしたので30日前から現在時刻までの期間が選択されています。

しかし、この追加された部品で指定された期間を変更してもゲージや折れ線グラフには反映されません。

これは、「日時1」から「クエリデータ1」や「クエリデータ2」に接続をしても「日時1」のデータを参照することができるようになるだけで、SQL文の中からそのデータを明示的に参照しないとSQL文の実行結果が変わらないからです。

ダッシュボード表示図

このままでは動的なダッシュボードにならないので、「クエリデータ1」と「クエリデータ2」のSQL文を変更して「日時1」ので指定したデータを参照するようにします。

「クエリデータ1」をクリックし、「プロパティ」ペインの「クエリー」のSQL文を下記に変更して、「適用する」をクリックします。

赤字の部分が追加されていますが、「@{Start}」と「@{End}」は他の部品から渡されるデータを参照するための変数です。

SELECT
  (SUM(WACTIVE) - SUM(WSUMMARY)) / (SUM(WACTIVE) + 0.001) * 100 AS HEALTH_SCORE
FROM
  RPT_VUHealthDaily
WHERE
  ACTIVESTATUS = 1
  AND DOTY >= @{Start}
  AND DOTY < @{End}

これらの変数に期間指定の部品のデータを結び付けるために「プロパティ」ペインの「Input Bindings」の左の三角アイコンをクリックして展開します。

「Start」と「End」はSQL文で使用した変数を表しており、このドロップダウンリストから参照するデータを指定します。

ここでは「Start」のドロップダウンリストの右の三角アイコンをクリックして[日時1]→[startDate]をクリックし、「End」のドロップダウンリストの右の三角アイコンをクリックして[日時1]→[endDate]をクリックし、「適用する」をクリックします。

ドロップダウンリストから参照するデータを指定

同様に「クエリデータ2」についても下記のSQL文に変更して「適用する」をクリックし、「Input Bindings」で「Start」と「End」の参照設定をして、「適用する」をクリックします。


SELECT
  DOTY
  ,(SUM(WACTIVE) - SUM(WSUMMARY)) / (SUM(WACTIVE) + 0.001) * 100 AS HEALTH_SCORE
FROM
  RPT_VUHealthDaily
WHERE
  ACTIVESTATUS = 1
  AND DOTY >= @{Start}
  AND DOTY < @{End}
GROUP BY
  DOTY
ORDER BY
  DOTY

このダッシュボードを表示すると、期間指定の部品で指定した期間がゲージや折れ線グラフに反映されるようになっています。

期間指定の部品で指定した期間がゲージや折れ線グラフに反映されるようになっています

まとめ

今回は部品間のデータ連携により動的なダッシュボードを作成する方法のうち、「同一の水色の部品に接続された複数の緑色の部品間の連携」と「黄色の部品とそれに接続された水色の部品の連携」について説明しました。

これまでの決まったデータを表示するだけの静的なダッシュボードと違い、動的なダッシュボードではユーザーの操作により表示内容を変えられるので工夫次第で色々な視点でデータを分析できるようになります。

次回も引き続き部品間のデータ連携により動的なダッシュボードを作成する方法を説明します。

「SysTrackのDashboardを使いこなそう」連載一覧