一.概要
1.応用シーン
チャートのモニタリング更新機能はバックグラウンドのデータの変化をリアルタイムでモニタリングできるのみならず、チャートのデータを動的更新することもできます。なお、チャートコンポネットにあるパラメータの更新までモニタリングできます。すなわち、チャートコンポネットの一部の属性に数式パラメータが設定されると、そのパラメータが更新される度に、チャートはそれに伴ってデータを更新します。
下図のメーターのモニタリング更新のように、データはリアルタイムで更新できます。
注:チャートのデータはセルのデータに由来する場合、チャートは自動更新をサポートしません。
2.機能案内
チャートの属性パネルにおいて、特殊効果-インタラクションという順に沿って選び、さらにモニタリング更新の中でお好みの設定を済ませれば実現できるようになります。
二.例示
1.テンプレート設計
下図のように、ダッシュボードを新規作成し、その中にメーターchart0をドラッグします。メーターは360°多ポインタメーターを選びます。
2.データの準備
データベースクエリds1を新規作成します。SQLクエリ文は次の通りです。
SELECT
OrderID,ShipPrefecture,
OrderDate, sum(CustomerID) fare
FROM Orders
where OrderID=1001+'${mod((datetonumber(now())-datetonumber(a))/3000,1000)}'
group by ShipPrefecture,strftime('%Y-%m',OrderDate)
order by fare
SQL文に関する説明:
SQL文における订单IDは時間が経つにつれて動的に変化します。これを以てバックグラウンドのデータ変化をシミュレートします。
数式mod((datetonumber(now())-datetonumber(a))/3000,1000)に関する説明は次の通りです。
数式 | 説明 |
datetonumber(now()) | 1970年1月1日 00:00:00GMTから現在までの経過ミリ秒数を返します。テンプレートをプレビューする時、ここのnow()もリアルタイムで変わります。 |
datetonumber(a) | ここのaがテンプレートパラメータであり、aの既定値もnow()となりますが、このnow()はテンプレートをプレビューするその瞬間の時刻を表示するため、テンプレートをプレビューする時にaは変わることがありません。 注:パラメータの追加に関する説明は二.5.帳票ブロックの設定をご参照ください。 |
/3000 | 本例では定期更新の間隔を3秒にするため、ここで3000ミリ秒で割ることになります。つまり、2秒ごとに更新します。経過時間もそれにつれて変わります。 |
mod(number,divisor) | 二つの数値の割り算をして余りを返します。結果の正負の符号は割る方の数値の符号と同様です。numberは割られる方の数値、divisorは割る方の数値を意味します。 |
3.チャートデータをバインド
下図のように、メーターを選択し、「データ」を選んでデータをバインドします。
4.テンプレートパラメータを作成
デザイナのメニューバーで テンプレート-テンプレートパラメータ という順に沿ってクリックし、テンプレートパラメータaを新規作成します。既定値を数式のnow()に設定します。操作は下図の通りです。
6.メーターの設定
1.スタイル設定
下図のように、メーターを選択し、属性のパネルでスタイル-タイトルを選んでタイトルのテキストの内容と色を設定します。
タイトルのテキストの数式は次のようになります。
ds1.select("ShipPrefecture", OrderID = 1001 + mod((datetonumber(now()) - datetonumber(a)) / 3000, 1000))
すなわち、都道府県別でダイナミックに表示させます。
2.自動更新の設定
下図のように、メーターを選択し、属性のパネルで特殊効果-モニタリング更新を選んで自動更新の属性を設定します。
バックグラウンド検出:オン
時間間隔:2秒(上述のSQL文における定期更新の間隔と一致)
自動データヒント:選択しない
7.効果プレビュー
帳票を保存し、プレビューをクリックすると次の効果が表示されます。