DESCRIBE SEMANTIC VIEW

Descreve as propriedades das tabelas lógicas, dimensões, fatos e métricas que compõem uma exibição semântica.

Consulte também:

CREATE SEMANTIC VIEW , DROP SEMANTIC VIEW , SHOW SEMANTIC VIEWS

Sintaxe

{ DESCRIBE | DESC } SEMANTIC VIEW <name>
Copy

Parâmetros

name

Especifica o identificador da exibição semântica a ser descrita.

Se o identificador contiver espaços ou caracteres especiais, toda a cadeia de caracteres deverá ser delimitada por aspas duplas. Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.

Para obter mais informações, consulte Requisitos para identificadores.

Saída

A saída do comando fornece as propriedades e os metadados sobre as tabelas lógicas, as relações, os fatos, as dimensões, as métricas e a própria exibição semântica.

Cada linha da exibição representa uma propriedade de:

  • Uma tabela lógica

  • Uma relação

  • Um fato

  • Uma dimensão

  • Uma métrica

  • A própria exibição semântica

A seguir, um exemplo da saída do comando:

+--------------+------------------------------+---------------+--------------------------+----------------------------------------+
| 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                                 |
| ...          | ...                          | ...           | ...                      | ...                                    |
+--------------+------------------------------+---------------+--------------------------+----------------------------------------+

Como mostrado acima, cada linha representa uma propriedade de uma tabela lógica, dimensão, relação, métrica ou fato. Por exemplo:

  • A primeira linha é o valor da propriedade comment da própria exibição semântica.

  • A segunda linha é o valor da propriedade base_table_database_name da tabela lógica denominada customers.

A exibição inclui as seguintes colunas:

Coluna

Descrição

object_kind

Tipo do objeto que tem a propriedade para essa linha. O valor pode ser um dos seguintes:

  • TABLE (as tabelas lógicas para a exibição)

  • RELATIONSHIP

  • DIMENSION

  • FACT

  • METRIC

  • NULL (propriedades que se aplicam à própria exibição semântica, como um comentário)

object_name

Nome da dimensão, fato, métrica, tabela lógica ou relação que tem a propriedade para essa linha.

Para linhas que representam propriedades da própria exibição semântica, o valor dessa coluna é NULL.

parent_entity

Nome da entidade pai da dimensão, fato, métrica ou relação.

Para linhas que representam propriedades de tabelas lógicas ou da própria exibição semântica, o valor dessa coluna é NULL.

property

Nome da propriedade da tabela lógica, relação, dimensão, fato, métrica ou exibição semântica.

O valor dessa coluna depende do tipo do objeto (object_kind).

Consulte as seções a seguir para obter detalhes sobre as propriedades e seus possíveis valores, com base no valor da coluna object_kind:

property_value

Valor da propriedade da tabela lógica, relação, dimensão, fato, métrica ou exibição semântica.

Propriedades das tabelas lógicas

Se a coluna object_kind contiver TABLE, a coluna property poderá conter os seguintes valores:

Nome da propriedade

Descrição

BASE_TABLE_DATABASE_NAME

Nome do banco de dados que contém a tabela lógica.

BASE_TABLE_SCHEMA_NAME

Nome do esquema que contém a tabela lógica.

BASE_TABLE_NAME

Nome da tabela lógica.

SYNONYMS

Matriz de valores VARCHAR, representando os sinônimos da tabela lógica.

PRIMARY_KEY

Matriz de valores VARCHAR, especificando os nomes das colunas que compõem a chave primária da tabela lógica.

Propriedades para relações

Se a coluna object_kind contiver RELATIONSHIP, a coluna property poderá conter os seguintes valores:

Nome da propriedade

Descrição

TABLE

Nome de uma das tabelas lógicas na relação.

FOREIGN_KEY

Nome da coluna na tabela lógica usada na relação.

REF_TABLE

Nome da outra tabela lógica na relação.

REF_KEY

Nome da coluna na outra tabela lógica da relação.

Propriedades para fatos, dimensões e métricas

Se a coluna object_kind contiver FACT, DIMENSION ou METRIC, a coluna property poderá conter os seguintes valores:

Nome da propriedade

Descrição

TABLE

Nome da tabela lógica usada para definir a dimensão, o fato ou a métrica.

EXPRESSION

A expressão SQL para a dimensão, o fato ou a métrica.

DATA_TYPE

O tipo de dados SQL da expressão SQL avaliada.

Propriedades para exibições semânticas

Se a coluna object_kind for NULL, a coluna property poderá conter os seguintes valores:

Nome da propriedade

Descrição

COMMENT

Comentário sobre a exibição semântica.

Requisitos de controle de acesso

Uma função usada para executar esse comando SQL deve ter pelo menos um dos seguintes privilégios, no mínimo:

Privilégio

Objeto

Notas

Qualquer

Exibição semântica

O privilégio USAGE no banco de dados e no esquema pai é necessário para executar operações em qualquer objeto de um esquema.

Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.

Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.

Notas de uso

  • Para pós-processar a saída deste comando, você pode usar a função RESULT_SCAN, que trata a saída como uma tabela que pode ser consultada. Você também pode usar o operador de canal para consultar a saída desse comando.

Exemplos

O exemplo a seguir descreve a exibição semântica denominada tpch_rev_analysis:

DESC SEMANTIC VIEW tpch_rev_analysis;
Copy
+--------------+------------------------------+---------------+--------------------------+----------------------------------------+
| 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         |
+--------------+------------------------------+---------------+--------------------------+----------------------------------------+