SHOW SEMANTIC DIMENSIONS¶
のディメンションをリストします。セマンティックビュー アクセス権限があるとします。
このコマンドを使用して、セッションの現在のデータベースとスキーマ、指定したデータベースまたはスキーマ、またはアカウント全体のオブジェクトをリストします。
出力には、各オブジェクトのメタデータとプロパティが含まれます。オブジェクトは、データベース、スキーマ、オブジェクト名で辞書順にソートされます(出力列の説明については、このトピックの Output をご参照ください)。結果をフィルターする場合は、結果の行の順序に注意することが重要です。
- こちらもご参照ください。
CREATE SEMANTIC VIEW , ALTER SEMANTIC VIEW , DESCRIBE SEMANTIC VIEW , DROP SEMANTIC VIEW , SHOW SEMANTIC VIEWS , SHOW SEMANTIC DIMENSIONS FOR METRIC , SHOW SEMANTIC FACTS , SHOW SEMANTIC METRICS
構文¶
SHOW SEMANTIC DIMENSIONS [ LIKE '<pattern>' ]
[ IN
{
<semantic_view_name> |
ACCOUNT |
DATABASE |
DATABASE <db_name> |
SCHEMA |
SCHEMA <db_name>.<schema_name>
}
]
[ STARTS WITH '<name_string>' ]
[ LIMIT <rows> ]
パラメーター¶
LIKE 'pattern'オプションで、オブジェクト名でコマンド出力をフィルタリングします。フィルターは、 SQL ワイルドカード文字(
%および_)をサポートする、 大文字と小文字を区別しない パターンマッチングを使用します。たとえば、次のパターンは 同じ 結果を返します。
... LIKE '%testing%' ...... LIKE '%TESTING%' .... デフォルト: 値なし(フィルタリングは出力に非適用)。
[ IN ... ]オプションで、コマンドのスコープを指定します。次のいずれかを指定します。
semantic_view_name指定されたセマンティックビューの記録を返します。
ACCOUNTアカウント全体の記録を返します。
DATABASE、 .DATABASE db_name現在使用中のデータベースまたは指定されたデータベース(
db_name)の記録を返します。db_nameなしでDATABASEを指定し、かつデータベースが使用されていない場合、キーワードは出力に影響しません。SCHEMA、 .SCHEMA db_name.schema_name現在使用中のスキーマまたは指定されたスキーマの記録を返します(
db_name.schema_name)。スキーマの完全修飾名を指定する必要があります。データベースが使用されていない場合は、
SCHEMAを指定しても出力には影響しません。
IN ...を省略した場合、コマンドのスコープは、セッションで現在使用中のデータベースがあるかどうかによって異なります。データベースが現在使用中の場合、コマンドはデータベースで表示する権限を持つオブジェクトを返します。これは、
IN DATABASEを指定するのと同じ効果があります。データベースが現在使用中でない場合、コマンドはアカウントで表示する権限を持つオブジェクトを返します。これは、
IN ACCOUNTを指定するのと同じ効果があります。
STARTS WITH 'name_string'オプションで、オブジェクト名の先頭に表示される文字に基づいてコマンド出力をフィルタリングします。文字列は一重引用符で囲む必要があり、 大文字と小文字を区別します。
たとえば、次の文字列は 異なる 結果を返します。
... STARTS WITH 'B' ...... STARTS WITH 'b' .... デフォルト: 値なし(フィルターは出力に適用されない)
LIMIT rowsオプションで、返される行の最大数を制限します。実際に返される行数は、指定された制限より少ない場合があります。例えば、既存のオブジェクトの数が指定された制限より少ないなどです。
デフォルト: 値なし(出力に制限は非適用)。
出力¶
コマンドの出力には、オブジェクトのプロパティとメタデータを説明する以下の列が含まれます。
列 |
説明 |
|---|---|
|
シークレットを含むデータベースの名前。 |
|
シークレットを含むスキーマの名前。 |
|
ディメンションを含むセマンティックビューの名前。 |
|
ディメンションの論理テーブルの名前。 |
|
ディメンションの名前。 |
|
ディメンションのデータ型。 |
|
ディメンションの代替名または同義語。 |
|
ディメンションについてのコメント。 |
アクセス制御の要件¶
この SQL コマンドの実行に使用される ロール には、 最低 1 つ の次の 権限 が必要です。
権限 |
オブジェクト |
メモ |
|---|---|---|
指定なし |
セマンティックビュー |
スキーマ内のオブジェクトに対して操作を実行するには、親データベースとスキーマに対する USAGE 権限が必要です。スキーマに対する 任意の権限を付与されたロールは、そのロールがスキーマを解決できることに注意してください。たとえば、スキーマに対するCREATE権限を付与されたロールは、そのスキーマにオブジェクトを作成できますが、そのスキーマに対する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 の対応するビューをクエリします。
スキーマレベルのオブジェクトに対してコマンドの実行すると、現在のロールが親データベースとスキーマに対しても少なくとも1つの権限を持っている場合にのみオブジェクトが返されます。
例¶
次の例は、何らかの権限を持っているセマンティックビューのディメンションをリストします。リストには、現在のデータベースの現在のスキーマにあるセマンティックビューのディメンションが含まれます。
SHOW SEMANTIC DIMENSIONS;
+---------------+-------------+--------------------+------------+-------------------------+-------------+-------------------+--------------------------------+
| database_name | schema_name | semantic_view_name | table_name | name | data_type | synonyms | comment |
|---------------+-------------+--------------------+------------+-------------------------+-------------+-------------------+--------------------------------|
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | CUSTOMER | CUSTOMER_COUNTRY_CODE | VARCHAR(15) | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | CUSTOMER | CUSTOMER_MARKET_SEGMENT | VARCHAR(10) | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | CUSTOMER | CUSTOMER_NAME | VARCHAR(25) | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | CUSTOMER | CUSTOMER_NATION_NAME | VARCHAR(25) | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | CUSTOMER | CUSTOMER_REGION_NAME | VARCHAR(25) | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | NATION | NATION_NAME | VARCHAR(25) | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | ORDERS | ORDER_DATE | DATE | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_REV_ANALYSIS | CUSTOMERS | CUSTOMER_NAME | VARCHAR(25) | ["customer name"] | Name of the customer |
| MY_DB | MY_SCHEMA | TPCH_REV_ANALYSIS | ORDERS | ORDER_DATE | DATE | NULL | Date when the order was placed |
| MY_DB | MY_SCHEMA | TPCH_REV_ANALYSIS | ORDERS | ORDER_YEAR | NUMBER(4,0) | NULL | Year when the order was placed |
+---------------+-------------+--------------------+------------+-------------------------+-------------+-------------------+--------------------------------+
次の例は、現在のデータベースの現在のスキーマで tpch_rev_analysis という名前のセマンティックビューのディメンションをリストします。
SHOW SEMANTIC DIMENSIONS IN tpch_rev_analysis;
+---------------+-------------+--------------------+------------+---------------+-------------+-------------------+--------------------------------+
| database_name | schema_name | semantic_view_name | table_name | name | data_type | synonyms | comment |
|---------------+-------------+--------------------+------------+---------------+-------------+-------------------+--------------------------------|
| MY_DB | MY_SCHEMA | TPCH_REV_ANALYSIS | CUSTOMERS | CUSTOMER_NAME | VARCHAR(25) | ["customer name"] | Name of the customer |
| MY_DB | MY_SCHEMA | TPCH_REV_ANALYSIS | ORDERS | ORDER_DATE | DATE | NULL | Date when the order was placed |
| MY_DB | MY_SCHEMA | TPCH_REV_ANALYSIS | ORDERS | ORDER_YEAR | NUMBER(4,0) | NULL | Year when the order was placed |
+---------------+-------------+--------------------+------------+---------------+-------------+-------------------+--------------------------------+