次の方法で共有


Mustache パラメーター構文

Important

Mustache パラメーターの構文は、従来の SQL エディターでのみサポートされています。 Databricks では、新しいクエリに 名前付きパラメーター マーカー を使用することをお勧めします。 口ひげ構文を使用してクエリをノートブック、AI/BI ダッシュボード データセット エディター、または Genie 空間にコピーする場合は、実行する前に名前付きパラメーター マーカーに変換する必要があります。

従来の SQL エディターでは、二重中かっこ ({{ }}) でラップされた文字列は、クエリ パラメーターとして扱われます。 パラメーター値を設定した結果ウィンドウの上にウィジェットが表示されます。

mustache パラメーターを追加する

  1. [Cmd + I] をクリックします。 パラメーターがカーソル位置に挿入され、[パラメーターの 追加 ] ダイアログが表示されます。
  2. キーワードを入力し、必要に応じてタイトルを変更し、種類を選択します
  3. [パラメーター の追加] をクリックします。
  4. ウィジェットでパラメーター値を設定します。
  5. [変更の適用] をクリックします。
  6. 保存 をクリックします。

または、クエリに直接 {{ }} 入力し、パラメーター ウィジェットの歯車アイコンをクリックして構成します。

別の値でクエリを再実行するには、ウィジェットを更新し、[変更の 適用] をクリックします。

パラメーターの編集、削除、並べ替え

編集:パラメータウィジェットの横にある歯車アイコンをクリックします。 クエリを所有していないユーザーがパラメーター値を変更できないようにするには、[ 結果のみを表示] をクリックします。

削除: クエリからパラメーター マーカーを削除します。 ウィジェットは自動的に削除されます。

並べ替え: パラメーター ウィジェットをクリックして目的の順序にドラッグします。

ウィジェットの種類

次のウィジェットの種類を使用できます。

テキスト

入力として文字列を取ります。 バックスラッシュ、単一引用符、二重引用符は自動的にエスケープされます。 Azure Databricks では、値の周囲に引用符が追加されます。

SELECT * FROM samples.tpch.customer WHERE c_name = {{ name_param }}

番号

数値を入力として受け取ります。

SELECT * FROM users WHERE age = {{ number_param }}

日付と時間

日付とタイムスタンプの値をパラメーター化します。 次の 3 つのオプションを使用できます。

タイプ 精度
日付 Day
日付と時間
日付と時刻 (秒付き) Second

すべての日付と時刻の値は文字列リテラルとして渡され、クエリでは単一引用符で囲む必要があります。

SELECT * FROM usage_logs WHERE date = '{{ date_param }}'

Range オプションを選択すると、Azure Databricks では、.start.endサフィックスを使用して 2 つのパラメーターが作成されます。

SELECT * FROM usage_logs
WHERE modified_time > '{{ date_range.start }}'
AND modified_time < '{{ date_range.end }}'

日付範囲ウィジェットは、 DATE型の列に対してのみ正しい結果を返します。 タイムスタンプ列の場合は、日付と時刻の範囲ウィジェットを使用します。

動的な日付値: 日付ウィジェットには青い稲妻アイコンが含まれます。 クリックして、 todayyesterdaythis weeklast weeklast monthlast yearなどの動的な値を選択します。 これらの値は自動的に更新されます。

Important

動的な日付値は、スケジュールされたクエリと互換性がありません。

定義済みの静的リストに入力を制限します。 単一値選択と複数値選択の両方をサポートします。

  • 単一値: クエリでパラメーターを単一引用符で囲みます。

  • 複数値: ウィジェット設定で [複数の値を許可する ] を有効にします。 値を一重引用符、二重引用符、またはなしで囲むかどうかを制御するには、[ 引用符 ] オプションを使用します。 WHEREを使用するようにIN句を更新します。

    SELECT * FROM orders WHERE status IN ( {{ status_param }} )
    

    二重引用符を選択すると、クエリは次の WHERE status IN ("value1", "value2", "value3")に解決されます。

ドロップダウン リストの値は文字列です。 日付またはタイムスタンプを使用するには、データ ソースに必要な形式で日付またはタイムスタンプを入力します。

クエリベースのドロップダウン リスト

保存されたクエリからドロップダウンの選択肢を補充します。 ドロップダウン リストのように動作しますが、オプションは動的です。

  1. [設定] パネルの [ 種類 ] で、[ クエリ ベース] ドロップダウン リストを選択します。
  2. [ クエリ ] フィールドをクリックし、保存したクエリを選択します。

クエリが複数の列を返す場合、Azure Databricks は最初の列を使用します。 クエリが name および value という名前の列を返す場合、ウィジェットは name 列を表示しますが、関連付けられている value を実行時にクエリに渡します。

例:

SELECT user_uuid AS 'value', username AS 'name' FROM users
value 名前
1001 John Smith
1002 Jane Doe
1003 Bobby Tables(ボビー・テーブルズ)

実行時にデータベースに渡される値は、表示名ではなく、 10011002、または 1003です。

ソース クエリから多数のレコードが返された場合、パフォーマンスが低下します。

レガシ ダッシュボードで口ひげパラメーターを使用する

必要に応じて、クエリではパラメーターまたは静的値を使用できます。 パラメーター化されたクエリに基づく視覚化をダッシュボードに追加する場合は、各パラメーターを構成して、次の 3 つの値ソースのいずれかを使用できます。

  • ウィジェット パラメーター: 属している単一の視覚エフェクトにのみ適用されます。 値セレクターが視覚化パネル内に表示されます。
  • ダッシュボード パラメーター: ダッシュボード全体の複数の視覚エフェクトに適用できます。 値セレクターがダッシュボードの上部に表示されます。 既定では、パラメーター化された視覚化をダッシュボードに追加するときに追加されます。
  • 静的な値: パラメーターを固定値に置き換えます。 値セレクターは非表示であり、変更する必要のないパラメーターに対してダッシュボード UI をクリーンに保ちます。

パラメーター マッピング設定にアクセスするには、ダッシュボード ウィジェットの kebab メニューをクリックし、[ ウィジェット設定の変更] を選択します。

ダッシュボード パラメーターのプロパティ

財産 説明
タイトル 値セレクターの横に表示される表示名。 デフォルトではパラメーターキーワードを使用します。 静的パラメーターの場合は表示されません。
キーワード このパラメーターの文字列リテラルは、基になるクエリのものです。 予期しない結果をデバッグする場合に便利です。
既定値 他の値が指定されていない場合に使用される値。 変更するには、目的の値でクエリを実行し、[ 保存] をクリックします。
値のソース パラメーター値の取得元を制御します。 オプション: 新しいダッシュボード パラメーター既存のダッシュボード パラメーターウィジェット パラメーター静的な値