メインコンテンツまでスキップ

メトリクス ビューでパラメーターを使用する

パラメーターを使用すると、メトリクスビューをクエリーする際に値を渡すことができます。パラメーターを使用して、割引率や日付ウィンドウなど、さまざまな入力間で単一のメトリクスビュー定義を再利用します。フィルター、フィールドとメジャーの式、ソース、結合など、定数SQL式が有効な場所ならどこでもパラメーターを参照できます。ビューをクエリーする際に、値を引数として渡します。

パラメーターは重複を減らします。バリアントごとに個別のメトリクスビューを維持する代わりに、一度ロジックを定義し、各呼び出し元が独自の値を指定できるようにします。パラメーターにはdefault値を含めることができるため、引数を渡さない呼び出し元はdefaultにフォールバックします。

SQLクエリーまたはAI/BI dashboardからパラメーター値を渡すことができます。ダッシュボードで、閲覧者がランタイム時に値を選択できるように、パラメーターをフィルターウィジェットに接続します。「ダッシュボードでパラメーター化されたクエリーを使用する」を参照してください。

要件

  • パラメーターを定義するメトリクスビューを作成するには、スキーマに対するCREATE TABLEUSE SCHEMAの権限、および親カタログに対するUSE CATALOGの権限が必要です。メトリクスビューを作成するために必要な権限の完全なリストについては、「メトリクスビューの作成」を参照してください。
  • パラメーターを定義するメトリクスビューをクエリーするには、Databricks Runtime 18.2以降を実行するSQLウェアハウスまたはその他のコンピュートリソースが必要です。その他のバージョン要件については、「メトリクスビュー機能の利用可能性」を参照してください。

制限事項

パラメーターを定義するメトリクスビューには、次の制限が適用されます。

  • パラメーターを定義するメトリクスビューをマテリアライズすることはできません。
  • default値には制限があります。default値は、パラメーターの宣言されたデータ型にキャストできる必要があり、別のパラメーターを参照したり、サブクエリを含めたりすることはできません。1つのパラメーターにdefaultを設定した場合、それに続くすべてのパラメーターもdefaultを持つ必要があります。See パラメーター.

パラメーターを定義

パラメーターは、Catalog Explorerローコードエディタで、またはYAMLで直接定義できます。パラメーターを作成したら、定数SQL式が有効な場所ならどこでも、フィルター、フィールドとメジャーの式、ソース、結合などで名前で参照します。

YAMLでパラメーターを定義するには、メトリクス ビュー定義にトップレベルのparametersブロックを追加します。完全なフィールドリファレンスとYAMLの例については、パラメーターを参照してください。

以下のステップでは、カタログエクスプローラーのローコードエディターと、すべてのワークスペースで利用可能なsamples.tpch.ordersテーブルを使用して、discountパラメーターと2つのメジャーを持つメトリクスビューを構築します。1つのメジャーがパラメーターを適用し、もう1つが割引なしの合計を計算するため、2つを比較できます。

ステップ1: メトリクスビューを作成する

パラメーターとメジャーを保持するメトリクスビューを作成します。

  1. ワークスペースサイドバーの データアイコン。 カタログ をクリックし、検索バーを使用して samples.tpch.orders を見つけてテーブル名をクリックします。
  2. 作成 > メトリクス・ビュー をクリックします。
  3. メトリクスビューの作成 ダイアログで、名前を入力し、メトリクスビューを作成するカタログとスキーマを選択します。 作成 をクリックします。

エディターは「UI」tabで開きます。 メトリクスビューエディターの詳しい手順については、メトリクスビューを作成するを参照してください。

ステップ 2:パラメーターの追加

数値型でdefault値を指定したdiscountパラメーターを追加します。

  1. エディターのヘッダーで、「 パラメーターを追加 」をクリックします。

  2. パラメーター詳細 」ダイアログで:

    1. Name 」にdiscountと入力します。
    2. 種類 ドロップダウンから 数値 を選択します。
    3. 表示される 数値型 ドロップダウンから、 倍精度浮動小数点数型 を選択します。

    パラメーターの追加ボタンと、割引パラメーターが数値型と倍精度数値型に設定されたパラメーターの詳細ダイアログ。

  3. ダイアログから離れて閉じ、 discount のdefault値として0.15を入力します。

    default 値が 0.15 の割引パラメーター。

パラメーターは、作成後にエディターのヘッダーに表示されます。ここで設定した値は、クエリーが引数を省略した場合に適用されるdefaultです。

ステップ3: パラメーターを使用するメジャーを追加します。

メジャー式でパラメーターを名前で参照してください。このメジャーは、各注文合計に割引を適用します。

  1. エディターの上部にある「 Measures 」tabをクリックします。

  2. [ + 追加 ] をクリックします。

  3. メジャー名 としてDiscounted Salesを入力します。

  4. カスタム をクリックし、次の式を入力します。

    SQL
    SUM((1 - discount) * source.o_totalprice)

ステップ 4:別のメジャーを追加

割引なしの合計の2つ目のメジャーを追加します。

  1. [ + 追加 ] をクリックします。
  2. メジャー名 としてTotal Salesを入力します。
  3. Builder で、source.o_totalpriceSum 集計を選択して SUM(source.o_totalprice) を生成します。

ステップ 5: メトリクスビューを保存します。

保存 をクリックします。メトリクスビューをクエリーし、discountパラメーターの値を渡す方法については、パラメーターを使用したメトリクスビューのクエリーを参照してください。

パラメーターを使用してメトリクスビューをクエリー

パラメーターを定義するメトリクスビューをクエリーするには、メトリクスビューをテーブル値関数として呼び出し、パラメーターを引数として渡します。引数を名前または位置で渡すことも、省略して default 値を使用することもできます。

名前で引数を渡す

名前で引数を渡すには、=>演算子を使用します。次の例では、discount0.15値を渡します。

SQL
SELECT product, MEASURE(discountedSales)
FROM catalog.schema.metric_view(discount => 0.15)
GROUP BY product;

位置で引数を渡す

位置で引数を渡すには、パラメーターが定義されている順序で値をリストします。次の例では、0.15と同じdiscount値が渡されます。

SQL
SELECT product, MEASURE(discountedSales)
FROM catalog.schema.metric_view(0.15)
GROUP BY product;

デフォルトのパラメーター値を使用する

メトリクスビューを呼び出すときにdefaultのパラメーター値を使用するには、引数を省略します。次のクエリーは同等であり、すべてのdefault値を使用します。

SQL
SELECT product, MEASURE(discountedSales) FROM catalog.schema.metric_view() GROUP BY product;
SELECT product, MEASURE(discountedSales) FROM catalog.schema.metric_view GROUP BY product;

メトリクスビューが定義するパラメーターの表示

メトリクスビューが定義するパラメーターを確認するには、parametersブロックを含むYAML定義を表示します。メトリクスビューの定義とメタデータを表示を参照してください。

ダッシュボードでパラメーター化されたクエリーを使用する

これらのクエリーのいずれかを使用して、AI/BI dashboardでデータセットを定義できます。SQLデータセットでメトリクスビューを参照し、パラメーターをテーブル値関数の呼び出しの引数として渡します。ダッシュボードの閲覧者がランタイム時に値を選択できるようにするには、ダッシュボードのパラメーターを引数に渡し、フィルターウィジェットに接続します。「メトリクスビューにパラメーターを渡す」を参照してください。

追加のリソース