SHOW SEMANTIC DIMENSIONS FOR METRIC¶
セマンティックビュー 内の特定のメトリックをクエリしたときに返すことができるディメンションをリストします。
セマンティックビュークエリでディメンションとメトリックを指定する場合、ディメンションの論理テーブルは、メトリックの論理テーブルに関連している必要があります。さらに、ディメンションの論理テーブルは、メトリックの論理テーブルと同じレベルの細分性で設定する必要があります。
どのディメンションがこの基準を満たすかを判断するには、このコマンドを実行します。
詳細については、 指定したメトリックに対して返すことができるディメンションの選択 をご参照ください。
- こちらもご参照ください。
CREATE SEMANTIC VIEW , ALTER SEMANTIC VIEW , DESCRIBE SEMANTIC VIEW , DROP SEMANTIC VIEW , SHOW SEMANTIC VIEWS , SHOW SEMANTIC DIMENSIONS , SHOW SEMANTIC FACTS , SHOW SEMANTIC METRICS
構文¶
SHOW SEMANTIC DIMENSIONS [ LIKE '<pattern>' ]
IN <semantic_view_name>
FOR METRIC <metric_name>
[ STARTS WITH '<name_string>' ]
[ LIMIT <rows> ]
パラメーター¶
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オプションで、返される行の最大数を制限します。実際に返される行数は、指定された制限より少ない場合があります。例えば、既存のオブジェクトの数が指定された制限より少ないなどです。
デフォルト: 値なし(出力に制限は非適用)。
出力¶
コマンドの出力には、オブジェクトのプロパティとメタデータを説明する以下の列が含まれます。
列 |
説明 |
|---|---|
|
ディメンションの論理テーブルの名前。 |
|
ディメンションの名前。 |
|
ディメンションのデータ型。 |
|
メトリックにディメンションが必要かどうかを示します。 |
|
ディメンションの代替名または同義語。 |
|
ディメンションについてのコメント。 |
アクセス制御の要件¶
A role used to execute this operation must have the following privileges at a minimum:
権限 |
オブジェクト |
メモ |
|---|---|---|
指定なし |
セマンティックビュー |
スキーマ内のオブジェクトに対して操作を実行するには、親データベースとスキーマに対する USAGE 権限が必要です。スキーマについての権限を付与されたロールは、そのスキーマ名を解決できるようになります。たとえば、スキーマに対するCREATE権限を付与されたロールは、そのスキーマにオブジェクトを作成できますが、そのスキーマに対するUSAGE*も*付与されている必要はありません。
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
使用上の注意¶
このコマンドの実行には、稼働中のウェアハウスは必要ありません。
このコマンドは、現在のユーザーの現在のロールに少なくとも1つのアクセス権限が付与されているオブジェクトのみを返します。
MANAGE GRANTS アクセス権限により、所有者はアカウント内のすべてのオブジェクトを暗黙的に参照できます。デフォルトでは、アカウント管理者( ACCOUNTADMIN ロールを持つユーザー)とセキュリティ管理者( SECURITYADMIN ロールを持つユーザー)のみが MANAGE GRANTS 権限を持っています。
このコマンドの出力を後処理するには、 パイプ演算子 (
->>)または RESULT_SCAN 関数。どちらのコンストラクトも、出力を クエリできる結果セットとして扱います。For example, you can use the pipe operator or RESULT_SCAN function to select specific columns from the SHOW command output or filter the rows.
When you refer to the output columns, use double-quoted identifiers for the column names. For example, to select the output column
type, specifySELECT "type".You must use double-quoted identifiers because the output column names for SHOW commands are in lowercase. The double quotes ensure that the column names in the SELECT list or WHERE clause match the column names in the SHOW command output that was scanned.
コマンドは、コマンドを実行するために使用されるロールのアクセス権限によって決定された通り、指定されたオブジェクトタイプに対して 最大 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;
+------------+---------------+-------------+----------+-------------------+--------------------------------+
| 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;
+------------+-----------+--------------+----------+----------+---------+
| 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'),
このため、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
);