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 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
オプションで、返される行の最大数を制限します。実際に返される行数は、指定された制限より少ない場合があります。例えば、既存のオブジェクトの数が指定された制限より少ないなどです。
デフォルト: 値なし(出力に制限は非適用)。
出力¶
コマンドの出力には、オブジェクトのプロパティとメタデータを説明する以下の列が含まれます。
列 |
説明 |
---|---|
|
ディメンションのベーステーブルの名前。 |
|
ディメンションの名前。 |
|
ディメンションのデータ型。 |
|
メトリックにディメンションが必要かどうかを示します。 |
|
ディメンションの代替名または同義語。 |
|
ディメンションについてのコメント。 |
アクセス制御の要件¶
この 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;
+------------+---------------+-------------+----------+-------------------+--------------------------------+
| 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
);