マスタッシュ パラメーターの構文
Mustache 構文はレガシーSQLエディターでのみサポートされます。 Databricks 、新しいクエリには名前付きマーカーを使用することをお勧めします。 口ひげ構文を使用してクエリをノートブック、 AI/BI dashboardセット エディター、またはGenieスペースにコピーする場合は、実行する前に名前付きマーカーに変換する必要があります。
従来のSQLエディターでは、二重中括弧 ( {{ }} ) で囲まれた文字列はクエリーとして扱われます。 結果ペインの上にウィジェットが表示され、そこで値を設定します。
口ひげを追加する
Cmd + Iを押してください。カーソル位置に問題が挿入され、 [追加] ダイアログが表示されます。- キーワード を入力し、必要に応じて タイトルを 変更し、 タイプ を選択してください。
- 「追加」 をクリックします。
- ウィジェットに「問題」の値を設定します。
- 「変更を適用」 をクリックしてください。
- 保存 をクリックします。
または、クエリに直接{{ }}と入力し、 ウィジェットの歯車アイコンをクリックして設定します。
別の値でクエリを再実行するには、ウィジェットを更新して 「変更を適用」 をクリックします。
問題を編集、削除、並べ替える
編集 : ウィジェットの横にある歯車アイコンをクリックします。 クエリの所有者ではないユーザーが 値を変更できないようにするには、 [結果のみ表示] をクリックします。
Remove : クエリから問題マーカーを削除します。 ウィジェットは自動的に削除されます。
並べ替え : ウィジェットをクリックして希望の順序にドラッグします。
ウィジェットの種類
以下のウィジェットタイプが利用可能です。
文章
文字列を入力として受け取ります。バックスラッシュ、シングルクォーテーション、ダブルクォーテーションは自動的にエスケープされます。Databricksは値の周りに引用符を追加します。
SELECT * FROM samples.tpch.customer WHERE c_name = {{ name_param }}
番号
数値を入力として受け取ります。
SELECT * FROM users WHERE age = {{ number_param }}
日時
日付とタイムスタンプの値をパラメータ化します。選択肢は3つあります。
Type | Precision |
|---|---|
Date | 日 |
日時 | 分 |
日時 (秒を含める) | 秒 |
日付と時刻の値はすべて文字列リテラルとして渡されるため、クエリ内では単一引用符で囲む必要があります。
SELECT * FROM usage_logs WHERE date = '{{ date_param }}'
「範囲」 オプションを選択すると、Databricksは.startと.end接尾辞を使用して2つのパラメーターを作成します。
SELECT * FROM usage_logs
WHERE modified_time > '{{ date_range.start }}'
AND modified_time < '{{ date_range.end }}'
日付範囲ウィジェットは、 DATE型の列に対してのみ正しい結果を返します。タイムスタンプ列には、日付と時刻範囲ウィジェットを使用してください。
動的な日付値 :日付ウィジェットには、青い稲妻アイコンが表示されます。クリックすると、 today 、 yesterday 、 this week 、 last week 、 last month 、 last yearなどの動的な値を選択できます。これらの値は自動的に更新されます。
動的な日付値は、スケジュールされたクエリとは互換性がありません。
ドロップダウンリスト
入力を事前に定義された静的リストに制限します。単一値選択と複数値選択の両方をサポートします。
-
単一値 : クエリ内で問題を一重引用符で囲みます。
-
複数値 :ウィジェット設定で 「複数の値を許可 する」を有効にします。 引用符 オプションを使用して、値を単一引用符、二重引用符、または引用符なしで囲むかどうかを制御します。
WHERE句をINを使用するように更新してください。SQLSELECT * FROM orders WHERE status IN ( {{ status_param }} )二重引用符を選択した場合、クエリは
WHERE status IN ("value1", "value2", "value3")に解決されます。
ドロップダウンリストの値は文字列です。日付またはタイムスタンプを使用する場合は、データソースが要求する形式で入力してください。
クエリベースのドロップダウンリスト
保存済みのクエリからドロップダウンリストの選択肢を表示します。ドロップダウンリストのように動作しますが、選択肢は動的です。
- 設定パネルの「 タイプ」 で、 「クエリベースのドロップダウンリスト」 を選択します。
- 「クエリ」 フィールドをクリックし、保存済みのクエリを選択します。
クエリが複数の列を返す場合、Databricksは最初の列を使用します。クエリがnameとvalueという名前の列を返す場合、ウィジェットはname列を表示しますが、関連付けられたvalueをクエリに渡します。 。
例:
SELECT user_uuid AS 'value', username AS 'name' FROM users
Value | name |
|---|---|
1001 | ジョン・スミス |
1002 | ジェーン・ドウ |
1003 | ボビー・テーブルズ |
実行時にデータベースに渡される値は、表示名ではなく、 1001 、 1002 、または1003です。
ソースクエリが大量のレコードを返す場合、パフォーマンスが低下します。
従来のダッシュボードで口ひげを使用する
必要に応じて、クエリで問題または静的な値を使用できます。 パラメーター化されたクエリに基づくビジュアライゼーションをダッシュボードに追加すると、各パラメーターに対して、次の 3 つの値ソースのいずれかを使用するように構成できます。
- ウィジェットの問題 : ウィジェットが属する 1 つのビジュアリゼーションにのみ適用されます。 値セレクターは、視覚化パネル内に表示されます。
- ダッシュボードの問題 : ダッシュボード全体の複数のビジュアライゼーションに適用できます。 値選択欄はダッシュボードの上部に表示されます。パラメーター化されたビジュアライゼーションをダッシュボードに追加すると、デフォルトで追加されます。
- 静的値 : 問題を固定値に置き換えます。 変更する必要のないパラメーターについては、値セレクターを非表示にすることで、ダッシュボードのUIをすっきりと保ちます。
パラメーターマッピング設定にアクセスするには、ダッシュボードウィジェットのケバブメニューをクリックし、 「ウィジェット設定の変更」 を選択します。
ダッシュボードのプロパティ
属性 | 説明 |
|---|---|
タイトル | 値セレクタの横に表示される表示名。キーワードには問題ありません。 静的問題については表示されません。 |
キーワード | 基になるクエリ内のこの問題の文字列リテラル。 予期しない結果のデバッグに役立ちます。 |
デフォルト値 | 他の値が指定されていない場合に使用される値。変更するには、目的の値を指定してクエリを実行し、 「保存」 をクリックします。 |
値のソース | 不足値の由来を制御します。 オプション: 新しいダッシュボード パラメーター 、 既存のダッシュボード パラメーター 、 ウィジェット パラメーター 、 静的値 。 |