DESCRIBE SEMANTIC VIEW¶
시맨틱 뷰 를 구성하는 논리적 테이블, 차원, 팩트, 메트릭의 속성을 설명합니다.
구문¶
{ DESCRIBE | DESC } SEMANTIC VIEW <name>
매개 변수¶
name
설명할 시맨틱 뷰의 식별자를 지정합니다.
식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.
자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
출력¶
명령 출력은 논리적 테이블, 관계, 팩트, 차원, 메트릭 및 시맨틱 뷰 자체에 대한 속성과 메타데이터를 제공합니다.
뷰의 각 행은 다음의 속성을 나타냅니다.
논리 테이블
관계
팩트
차원
메트릭
시맨틱 뷰 자체
다음은 명령의 출력 예시입니다.
+--------------+------------------------------+---------------+--------------------------+----------------------------------------+
| object_kind | object_name | parent_entity | property | property_value |
|--------------+------------------------------+---------------+--------------------------+----------------------------------------|
| NULL | NULL | NULL | COMMENT | Comment about the semantic view |
| TABLE | CUSTOMERS | NULL | BASE_TABLE_DATABASE_NAME | SNOWFLAKE_SAMPLE_DATA |
| ... | ... | ... | ... | ... |
| DIMENSION | CUSTOMER_NAME | CUSTOMERS | TABLE | CUSTOMERS |
| ... | ... | ... | ... | ... |
| RELATIONSHIP | LINE_ITEM_TO_ORDERS | LINE_ITEMS | TABLE | LINE_ITEMS |
| ... | ... | ... | ... | ... |
| FACT | DISCOUNTED_PRICE | LINE_ITEMS | TABLE | LINE_ITEMS |
| ... | ... | ... | ... | ... |
| METRIC | AVERAGE_LINE_ITEMS_PER_ORDER | ORDERS | TABLE | ORDERS |
| ... | ... | ... | ... | ... |
+--------------+------------------------------+---------------+--------------------------+----------------------------------------+
위에 표시된 것처럼 각 행은 논리 테이블, 차원, 관계, 메트릭 또는 팩트의 속성을 나타냅니다. 예:
첫 번째 행은 시맨틱 뷰 자체의
comment
속성 값입니다.두 번째 행은
customers
라는 논리 테이블의base_table_database_name
속성 값입니다.
뷰에는 다음 열이 포함됩니다.
열 |
설명 |
---|---|
|
이 행의 속성을 가진 오브젝트의 유형입니다. 값은 다음 중 하나일 수 있습니다.
|
|
이 행의 속성이 있는 차원, 팩트, 메트릭, 논리적 테이블 또는 관계의 이름입니다. 시맨틱 뷰 자체의 속성을 나타내는 행의 경우 이 열의 값은 NULL 입니다. |
|
차원, 팩트, 메트릭 또는 관계의 상위 항목 엔터티의 이름입니다. 논리 테이블 또는 시맨틱 뷰 자체의 속성을 나타내는 행의 경우 이 열의 값은 NULL 입니다. |
|
논리 테이블, 관계, 차원, 팩트, 메트릭 또는 시맨틱 뷰의 속성 이름입니다. 이 열의 값은 오브젝트의 유형에 따라 달라집니다(
|
|
논리 테이블, 관계, 차원, 팩트, 메트릭 또는 시맨틱 뷰의 속성 값입니다. |
논리 테이블의 속성¶
object_kind
열에 TABLE
이 포함된 경우 property
열에 다음 값을 포함할 수 있습니다.
속성 이름 |
설명 |
---|---|
|
논리 테이블이 포함된 데이터베이스의 이름입니다. |
|
논리 테이블을 포함하는 스키마의 이름입니다. |
|
논리 테이블의 이름입니다. |
|
VARCHAR 값의 배열 로, 논리적 테이블의 동의어를 나타냅니다. |
|
VARCHAR 값의 배열 로, 논리적 테이블의 기본 키를 구성하는 열의 이름을 지정합니다. |
관계의 속성¶
object_kind
열에 RELATIONSHIP
이 포함된 경우 property
열에 다음 값을 포함할 수 있습니다.
속성 이름 |
설명 |
---|---|
|
관계에 있는 논리 테이블 중 하나의 이름입니다. |
|
관계에 사용된 해당 논리 테이블의 열 이름입니다. |
|
관계에 있는 다른 논리 테이블의 이름입니다. |
|
관계의 다른 논리 테이블에 있는 열의 이름입니다. |
팩트, 차원 및 메트릭에 대한 속성¶
object_kind
열에 FACT
, DIMENSION
또는 METRIC
이 포함된 경우 property
열에 다음 값을 포함할 수 있습니다.
속성 이름 |
설명 |
---|---|
|
차원, 팩트 또는 메트릭을 정의하는 데 사용되는 논리적 테이블의 이름입니다. |
|
차원, 팩트 또는 메트릭에 대한 SQL 식입니다. |
|
평가된 SQL 식의 SQL 데이터 타입입니다. |
시맨틱 뷰의 속성¶
object_kind
열이 NULL 인 경우 property
열에 다음 값을 포함할 수 있습니다.
속성 이름 |
설명 |
---|---|
|
시맨틱 뷰에 대한 설명입니다. |
액세스 제어 요구 사항¶
이 SQL 명령을 실행하는 데 사용되는 역할 에는 다음 권한 중 최소한 하나 이상 이 있어야 합니다.
권한 |
오브젝트 |
참고 |
---|---|---|
임의 |
시맨틱 뷰 |
스키마의 모든 오브젝트에 대해 작업을 수행하려면 상위 데이터베이스 및 스키마에 대한 USAGE 권한.
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
사용법 노트¶
이 명령의 출력을 사후 처리하려면 출력을 쿼리할 수 있는 테이블로 처리하는 RESULT_SCAN 함수를 사용하면 됩니다. 파이프 연산자 를 사용하여 이 명령의 출력을 쿼리할 수도 있습니다.
예¶
다음 예제에서는 tpch_rev_analysis
라는 시맨틱 뷰에 대해 설명합니다.
DESC SEMANTIC VIEW tpch_rev_analysis;
+--------------+------------------------------+---------------+--------------------------+----------------------------------------+
| object_kind | object_name | parent_entity | property | property_value |
|--------------+------------------------------+---------------+--------------------------+----------------------------------------|
| NULL | NULL | NULL | COMMENT | Comment about the semantic view |
| TABLE | CUSTOMERS | NULL | BASE_TABLE_DATABASE_NAME | SNOWFLAKE_SAMPLE_DATA |
| TABLE | CUSTOMERS | NULL | BASE_TABLE_SCHEMA_NAME | TPCH_SF1 |
| TABLE | CUSTOMERS | NULL | BASE_TABLE_NAME | CUSTOMER |
| TABLE | CUSTOMERS | NULL | PRIMARY_KEY | ["C_CUSTKEY"] |
| TABLE | CUSTOMERS | NULL | COMMENT | Main table for customer data |
| DIMENSION | CUSTOMER_NAME | CUSTOMERS | TABLE | CUSTOMERS |
| DIMENSION | CUSTOMER_NAME | CUSTOMERS | EXPRESSION | customers.c_name |
| DIMENSION | CUSTOMER_NAME | CUSTOMERS | DATA_TYPE | VARCHAR(25) |
| DIMENSION | CUSTOMER_NAME | CUSTOMERS | SYNONYMS | ["customer name"] |
| DIMENSION | CUSTOMER_NAME | CUSTOMERS | COMMENT | Name of the customer |
| TABLE | LINE_ITEMS | NULL | BASE_TABLE_DATABASE_NAME | SNOWFLAKE_SAMPLE_DATA |
| TABLE | LINE_ITEMS | NULL | BASE_TABLE_SCHEMA_NAME | TPCH_SF1 |
| TABLE | LINE_ITEMS | NULL | BASE_TABLE_NAME | LINEITEM |
| TABLE | LINE_ITEMS | NULL | PRIMARY_KEY | ["L_ORDERKEY","L_LINENUMBER"] |
| TABLE | LINE_ITEMS | NULL | COMMENT | Line items in orders |
| RELATIONSHIP | LINE_ITEM_TO_ORDERS | LINE_ITEMS | TABLE | LINE_ITEMS |
| RELATIONSHIP | LINE_ITEM_TO_ORDERS | LINE_ITEMS | REF_TABLE | ORDERS |
| RELATIONSHIP | LINE_ITEM_TO_ORDERS | LINE_ITEMS | FOREIGN_KEY | ["L_ORDERKEY"] |
| RELATIONSHIP | LINE_ITEM_TO_ORDERS | LINE_ITEMS | REF_KEY | ["O_ORDERKEY"] |
| FACT | DISCOUNTED_PRICE | LINE_ITEMS | TABLE | LINE_ITEMS |
| FACT | DISCOUNTED_PRICE | LINE_ITEMS | EXPRESSION | l_extendedprice * (1 - l_discount) |
| FACT | DISCOUNTED_PRICE | LINE_ITEMS | DATA_TYPE | NUMBER(25,4) |
| FACT | DISCOUNTED_PRICE | LINE_ITEMS | COMMENT | Extended price after discount |
| FACT | LINE_ITEM_ID | LINE_ITEMS | TABLE | LINE_ITEMS |
| FACT | LINE_ITEM_ID | LINE_ITEMS | EXPRESSION | CONCAT(l_orderkey, '-', l_linenumber) |
| FACT | LINE_ITEM_ID | LINE_ITEMS | DATA_TYPE | VARCHAR(134217728) |
| TABLE | ORDERS | NULL | BASE_TABLE_DATABASE_NAME | SNOWFLAKE_SAMPLE_DATA |
| TABLE | ORDERS | NULL | BASE_TABLE_SCHEMA_NAME | TPCH_SF1 |
| TABLE | ORDERS | NULL | BASE_TABLE_NAME | ORDERS |
| TABLE | ORDERS | NULL | SYNONYMS | ["sales orders"] |
| TABLE | ORDERS | NULL | PRIMARY_KEY | ["O_ORDERKEY"] |
| TABLE | ORDERS | NULL | COMMENT | All orders table for the sales domain |
| RELATIONSHIP | ORDERS_TO_CUSTOMERS | ORDERS | TABLE | ORDERS |
| RELATIONSHIP | ORDERS_TO_CUSTOMERS | ORDERS | REF_TABLE | CUSTOMERS |
| RELATIONSHIP | ORDERS_TO_CUSTOMERS | ORDERS | FOREIGN_KEY | ["O_CUSTKEY"] |
| RELATIONSHIP | ORDERS_TO_CUSTOMERS | ORDERS | REF_KEY | ["C_CUSTKEY"] |
| METRIC | AVERAGE_LINE_ITEMS_PER_ORDER | ORDERS | TABLE | ORDERS |
| METRIC | AVERAGE_LINE_ITEMS_PER_ORDER | ORDERS | EXPRESSION | AVG(orders.count_line_items) |
| METRIC | AVERAGE_LINE_ITEMS_PER_ORDER | ORDERS | DATA_TYPE | NUMBER(36,6) |
| METRIC | AVERAGE_LINE_ITEMS_PER_ORDER | ORDERS | COMMENT | Average number of line items per order |
| FACT | COUNT_LINE_ITEMS | ORDERS | TABLE | ORDERS |
| FACT | COUNT_LINE_ITEMS | ORDERS | EXPRESSION | COUNT(line_items.line_item_id) |
| FACT | COUNT_LINE_ITEMS | ORDERS | DATA_TYPE | NUMBER(18,0) |
| METRIC | ORDER_AVERAGE_VALUE | ORDERS | TABLE | ORDERS |
| METRIC | ORDER_AVERAGE_VALUE | ORDERS | EXPRESSION | AVG(orders.o_totalprice) |
| METRIC | ORDER_AVERAGE_VALUE | ORDERS | DATA_TYPE | NUMBER(30,8) |
| METRIC | ORDER_AVERAGE_VALUE | ORDERS | COMMENT | Average order value across all orders |
| DIMENSION | ORDER_DATE | ORDERS | TABLE | ORDERS |
| DIMENSION | ORDER_DATE | ORDERS | EXPRESSION | o_orderdate |
| DIMENSION | ORDER_DATE | ORDERS | DATA_TYPE | DATE |
| DIMENSION | ORDER_DATE | ORDERS | COMMENT | Date when the order was placed |
| DIMENSION | ORDER_YEAR | ORDERS | TABLE | ORDERS |
| DIMENSION | ORDER_YEAR | ORDERS | EXPRESSION | YEAR(o_orderdate) |
| DIMENSION | ORDER_YEAR | ORDERS | DATA_TYPE | NUMBER(4,0) |
| DIMENSION | ORDER_YEAR | ORDERS | COMMENT | Year when the order was placed |
+--------------+------------------------------+---------------+--------------------------+----------------------------------------+