SHOW SEMANTIC DIMENSIONS FOR METRIC

セマンティックビュー 内の特定のメトリックをクエリしたときに返すことができるディメンションをリストします。

セマンティックビュークエリでディメンションとメトリックを指定する場合、ディメンションのベーステーブルは、メトリックのベーステーブルに関連している必要があります。さらに、ディメンションのベーステーブルは、メトリックのベーステーブルと同じレベルの粒度にする必要があります。

どのディメンションがこの基準を満たすかを判断するには、このコマンドを実行します。

詳細については、 指定したメトリックに対して返すことができるディメンションの選択 をご参照ください。

こちらもご参照ください。

CREATE SEMANTIC VIEWALTER SEMANTIC VIEWDESCRIBE SEMANTIC VIEWDROP SEMANTIC VIEWSHOW SEMANTIC VIEWSSHOW SEMANTIC DIMENSIONSSHOW SEMANTIC METRICS

構文

SHOW SEMANTIC DIMENSIONS [ LIKE '<pattern>' ]
                         IN <semantic_view_name>
                         FOR METRIC <metric_name>
                         [ STARTS WITH '<name_string>' ]
                         [ LIMIT <rows> ]
Copy

パラメーター

LIKE 'pattern'

オプションで、オブジェクト名でコマンド出力をフィルタリングします。フィルターは、 SQL ワイルドカード文字(% および _)をサポートする、 大文字と小文字を区別しない パターンマッチングを使用します。

たとえば、次のパターンは 同じ 結果を返します。

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...

. デフォルト: 値なし(フィルタリングは出力に非適用)。

IN semantic_view_name

ディメンションとメトリックを含むセマンティックビューの名前を指定します。

FOR METRIC metric_name

関連ディメンションを表示するメトリックの名前を指定します。

STARTS WITH 'name_string'

オプションで、オブジェクト名の先頭に表示される文字に基づいてコマンド出力をフィルタリングします。文字列は一重引用符で囲む必要があり、 大文字と小文字を区別します

たとえば、次の文字列は 異なる 結果を返します。

... STARTS WITH 'B' ...
... STARTS WITH 'b' ...

. デフォルト: 値なし(フィルターは出力に適用されない)

LIMIT rows

オプションで、返される行の最大数を制限します。実際に返される行数は、指定された制限より少ない場合があります。例えば、既存のオブジェクトの数が指定された制限より少ないなどです。

デフォルト: 値なし(出力に制限は非適用)。

出力

コマンドの出力には、オブジェクトのプロパティとメタデータを説明する以下の列が含まれます。

説明

table_name

ディメンションのベーステーブルの名前。

name

ディメンションの名前。

data_type

ディメンションのデータ型。

required

メトリックにディメンションが必要かどうかを示します。

synonyms

ディメンションの代替名または同義語。

comment

ディメンションについてのコメント。

アクセス制御の要件

この SQL コマンドの実行に使用される ロール には、 最低 1 つ の次の 権限 が必要です。

権限

オブジェクト

メモ

指定なし

セマンティックビュー

スキーマ内のオブジェクトに対して操作を実行するには、親データベースとスキーマに対する USAGE 権限が必要です。

指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。

セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。

使用上の注意

  • このコマンドの実行には、稼働中のウェアハウスは必要ありません。

  • このコマンドは、現在のユーザーの現在のロールに少なくとも1つのアクセス権限が付与されているオブジェクトのみを返します。

  • MANAGE GRANTS アクセス権限により、所有者はアカウント内のすべてのオブジェクトを暗黙的に参照できます。デフォルトでは、アカウント管理者( ACCOUNTADMIN ロールを持つユーザー)とセキュリティ管理者( SECURITYADMIN ロールを持つユーザー)のみが MANAGE GRANTS 権限を持っています。

  • このコマンドの出力を後処理するには、 パイプ演算子->>)または RESULT_SCAN 関数。どちらのコンストラクトも、出力を クエリできる結果セットとして扱います。

    このコマンドの出力列名は小文字で生成されます。パイプ演算子または でこのコマンドの結果セットを消費する場合 RESULT_SCAN 関数の場合は、を使用します 二重引用符で囲まれた識別子 クエリの列名に を使用し、スキャンされた出力の列名と一致するようにします。たとえば、出力列の名前が次の場合 type``次に を指定します ``"type" 識別子用。

  • コマンドは、コマンドを実行するために使用されるロールのアクセス権限によって決定された通り、指定されたオブジェクトタイプに対して 最大 1万件の記録を返します。1万件を超える記録は、フィルターを適用しても返されません。

    1万件を超える記録が存在する結果を表示するには、 Snowflake Information Schema で対応するビュー(存在する場合)をクエリします。

  • LIMIT rows の値は 10000 を超えることはできません。LIMIT rows を省略した場合、結果セットが1万行を超えるとコマンドはエラーになります。

    1万件を超える記録が存在する結果を表示するには、 LIMIT rows を含めるか、 Snowflake Information Schema の対応するビューをクエリします。

次の例は、order_average_value のメトリック tpch_rev_analysis セマンティックビューのクエリで指定できるディメンションをリストしています。 :

SHOW SEMANTIC DIMENSIONS IN tpch_rev_analysis FOR METRIC order_average_value;
Copy
+------------+---------------+-------------+----------+-------------------+--------------------------------+
| table_name | name          | data_type   | required | synonyms          | comment                        |
|------------+---------------+-------------+----------+-------------------+--------------------------------|
| CUSTOMERS  | CUSTOMER_NAME | VARCHAR(25) | false    | ["customer name"] | Name of the customer           |
| ORDERS     | ORDER_DATE    | DATE        | false    | NULL              | Date when the order was placed |
| ORDERS     | ORDER_YEAR    | NUMBER(4,0) | false    | NULL              | Year when the order was placed |
+------------+---------------+-------------+----------+-------------------+--------------------------------+

次の例は、ウィンドウ関数のメトリックをクエリときに必要なディメンションを示しています。

この例では、ウィンドウ関数のメトリックの定義 で定義した セマンティックビュー を使用しています。この例では、avg_7_days_sales_quantity メトリックのクエリで指定できるディメンションを返します。

SHOW SEMANTIC DIMENSIONS IN sv_window_function_example FOR METRIC avg_7_days_sales_quantity;
Copy
+------------+-----------+--------------+----------+----------+---------+
| table_name | name      | data_type    | required | synonyms | comment |
|------------+-----------+--------------+----------+----------+---------|
| DATE       | DATE      | DATE         | true     | NULL     | NULL    |
| DATE       | D_DATE_SK | NUMBER(38,0) | false    | NULL     | NULL    |
| DATE       | YEAR      | NUMBER(38,0) | true     | NULL     | NULL    |
+------------+-----------+--------------+----------+----------+---------+

required 列に date および year に対して true が含まれていることに注意してください。これは、avg_7_days_sales_quantity メトリックはの定義において、date および year のディメンションが PARTITIONBYEXCLUDINGに指定されているためです。

CREATE OR REPLACE SEMANTIC VIEW sv_window_function_example
  ...
  METRICS (
    ...
      store_sales.avg_7_days_sales_quantity as AVG(total_sales_quantity)
        OVER (PARTITION BY EXCLUDING date.date, date.year ORDER BY date.date
          RANGE BETWEEN INTERVAL '6 days' PRECEDING AND CURRENT ROW)
        WITH SYNONYMS = ('Running 7-day average of total sales quantity'),
Copy

このため、avg_7_days_sales_quantity メトリックをクエリする場合には、 date および year ディメンションが必要です。これらのディメンションはクエリで指定する必要があります。

SELECT * FROM SEMANTIC_VIEW (
  sv_window_function_example
  DIMENSIONS date.date, date.year
  METRICS store_sales.avg_7_days_sales_quantity
);
Copy