次の方法で共有


従来のノートブック ウィジェット: ${param}

Warnung

ウィジェット値にアクセスするための ${param} 構文は、Databricks Runtime 15.2 以降では非推奨になりました。 代わりに、現在の Databricks ウィジェット構文 (:param) を使用してください。

このページでは、Databricks Runtime 15.1 以降で実行されているノートブック ウィジェットに従来の ${param} 構文を使用する方法について説明します。 Databricks では、 現在の構文に移行することをお勧めします。

Databricks Runtime 15.1 以下でウィジェット値を使用する

このセクションでは、Databricks Runtime 15.1 以下で Databricks ウィジェットの値をノートブック セル %sql 渡す方法について説明します。

  1. テキスト値を指定するウィジェットを作成します。

Python

dbutils.widgets.text("database", "")
dbutils.widgets.text("table", "")
dbutils.widgets.text("filter_value", "100")

Scala

 dbutils.widgets.text("database", "")
 dbutils.widgets.text("table", "")
 dbutils.widgets.text("filter_value", "100")

R

dbutils.widgets.text("database", "")
dbutils.widgets.text("table", "")
dbutils.widgets.text("filter_value", "100")

SQL

CREATE WIDGET TEXT database DEFAULT ""
CREATE WIDGET TEXT table DEFAULT ""
CREATE WIDGET TEXT filter_value DEFAULT "100"
  1. ${param}構文を使用してウィジェットの値を渡します。

    SELECT *
    FROM ${database}.${table}
    WHERE col == ${filter_value}
    LIMIT 100
    

$内の文字をエスケープするには、\$を使用します。 たとえば、文字列 $1,000を表すには、 "\$1,000"を使用します。 $文字はエスケープできません。

パラメーター マーカーに移行する

次の表は、パラメーターの一般的なユース ケース、元の Azure Databricks ウィジェット構文 (Databricks Runtime 15.2 以降では非推奨)、および名前付きパラメーター マーカー構文 (Databricks Runtime 15.2 以降でサポートされています) を使用した同等の構文を示しています。

パラメーターのユース ケース ${param} 元のウィジェット構文 (Databricks Runtime 15.2 以降では非推奨) :param パラメーター マーカー構文 (Databricks Runtime 15.2 以降でサポート)
指定した日付より前のデータのみを読み込む WHERE date_field < '${date_param}'
日付パラメーターと中かっこの周りに引用符を含める必要があります。
WHERE date_field < :date_param
指定した数値未満のデータのみを読み込む WHERE price < ${max_price} WHERE price < :max_price
2 つの文字列を比較する WHERE region = ${region_param} WHERE region = :region_param
クエリで使用するテーブルを指定する SELECT * FROM ${table_name} SELECT * FROM IDENTIFIER(:table)
ユーザーがこのパラメーターを入力するときは、完全な 3 レベルの名前空間を使用してテーブルを識別する必要があります。
クエリで使用されるカタログ、スキーマ、およびテーブルを個別に指定する SELECT * FROM ${catalog}.${schema}.${table} SELECT * FROM IDENTIFIER(:catalog \|\| '.' \|\| :schema \|\| '.' \|\| :table)
長い書式設定された文字列でパラメーターをテンプレートとして使用する "(${area_code}) ${phone_number}"
パラメーター値は、文字列として自動的に連結されます。
format_string((%d) %d, :area_code, :phone_number)
完全な例については、「 複数のパラメーターを連結 する」を参照してください。
間隔を作成する SELECT INTERVAL ${p} MINUTE SELECT CAST(:param as INTERVAL MINUTE)
使用可能な値の一覧でフィルター処理する SELECT * from table WHERE value IN (${list_parameter}) SELECT * FROM samples.nyctaxi.trips WHERE array_contains(TRANSFORM(SPLIT(:list_parameter, ','), s -> TRIM(s)), dropoff_zip)