ネストされた変数を使用すると、ダッシュボード上の変数間に動的な依存関係を作成できます。これにより、次のことが可能になります。
- ダッシュボードの変数を再利用し、特に他の変数のデータに基づいてフィルタリングする場合に表示される内容を動的に変更します。
- 変数に親/子関係を作成し、さまざまなレベルのフィルターを選択できるツリー構造を形成します。
使用事例
環境 (本番環境とステージング環境など) を選択するためのEnv
変数を作成したとします。選択した環境に基づいて、マシンのリストでMachine
変数を更新します。標準設定では、 Machine
のWHERE
条件に Env 変数を直接埋め込むことはサポートされていません。
例:
Variable Env
=production
またはstaging
Variable Machine
=SELECT uniques(machine) FROM Table WHERE env in ({{Env}})
この直接的なアプローチは、ネストされた変数なしではサポートされません。ネストされた変数は、 Machine
変数のクエリがEnv
変数の値を動的に参照できるようにすることで、この問題を解決します。
ネストされた変数の使い方
ネストされた変数を実装するには、次の手順に従います。
- 編集できるダッシュボードに移動します。
Add Variable
関数を使用して親変数 (たとえば、env
) を作成します。FROM TransactionSELECT uniques(environment)- 別の変数(たとえば、
variable_cluster
)を作成し、定義するときにテキストボックス内に{{env}}
を配置します。FROM TableSELECT uniques(machine)WHERE env IN ({{env}}) - 両方の変数を保存します。
- ダッシュボードに移動して、変数の値を操作します。ネストされた変数値の選択に基づいて自動的に変更されるはずです。
これで、ダッシュボード上の任意のウィジェット内で子変数を使用できるようになります。variable_cluster
が変更されると、ウィジェットも変更されます。
制限
ネストされた変数を使用する場合は、次の制限に注意してください。
- 子の定義には親変数の選択が必要です:
machine
変数を定義するときに、env
変数に選択された値があることを確認してください。それ以外の場合、machine
クエリは結果を返しません。 - ウィジェットの使用には変数の選択が必要です: ウィジェット内で使用する場合は、変数に選択された値が含まれていることを確認してください。 それ以外の場合、ウィジェットのクエリは結果を返しません。
- 削除の影響:
env
変数が削除されると、machine
変数の読み込み時にエラーが表示される場合があります。 - クリアされた値:
env
変数の値がクリアされた場合、machine
変数にはenv
の以前の選択に基づいた値が引き続き表示されます。