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

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

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

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

注記

現在、パラメーターを定義するメトリクスビューのマテリアライゼーションはサポートされていません。

要件

パラメーターを定義するメトリクスビューへのクエリには、最小バージョン要件を満たすコンピュートリソースが必要です。最小コンピュートバージョン要件については、メトリクスビューの機能の可用性を参照してください。

パラメーターを定義する

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

ローコードエディターでパラメーターを追加するには:

  1. エディターの見出しで、 パラメーターを追加 をクリックします。
  2. パラメーター名を入力します(例:start_dateまたはoffset_int)。
  3. デフォルト値とデータ型を入力します。
  4. 保存 をクリックします。

パラメーターは、作成後にエディターの見出しに表示されます。

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

パラメーターを指定してメトリクスビューをクエリする

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

名前で引数を渡す

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

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

位置で引数を渡す

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

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

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

メトリクスビューを呼び出す際にデフォルトのパラメーター値を使用するには、引数を省略します。以下のクエリは同等であり、すべてのデフォルト値を使用します。

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;

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

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

その他のリソース