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 , ALTER SEMANTIC VIEW , DROP SEMANTIC VIEW , SHOW SEMANTIC VIEWS , SHOW SEMANTIC DIMENSIONS , SHOW SEMANTIC DIMENSIONS FOR METRIC , SHOW SEMANTIC FACTS , SHOW SEMANTIC METRICS
Sintaxe¶
{ DESCRIBE | DESC } SEMANTIC VIEW <name>
Parâmetros¶
nameEspecifica 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
commentda própria exibição semântica.A segunda linha é o valor da propriedade
base_table_database_nameda tabela lógica denominadacustomers.
A exibição inclui as seguintes colunas:
Coluna |
Descrição |
|---|---|
|
Tipo do objeto que tem a propriedade para essa linha. O valor pode ser um dos seguintes:
|
|
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. |
|
Nome da entidade pai da dimensão, fato, métrica ou relação. The value of this column is NULL for rows that represent:
|
|
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 ( Consulte as seções a seguir para obter detalhes sobre as propriedades e seus possíveis valores, com base no valor da coluna
|
|
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 |
|---|---|
|
Nome do banco de dados que contém a tabela lógica. |
|
Nome do esquema que contém a tabela lógica. |
|
Nome da tabela lógica. |
|
Matriz de valores VARCHAR, representando os sinônimos da tabela lógica. |
|
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 |
|---|---|
|
Nome de uma das tabelas lógicas na relação. |
|
Nome da coluna na tabela lógica usada na relação. |
|
Nome da outra tabela lógica na relação. |
|
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 |
|---|---|
|
Nome da tabela lógica usada para definir a dimensão, o fato ou a métrica. |
|
A expressão SQL para a dimensão, o fato ou a métrica. |
|
O tipo de dados SQL da expressão SQL avaliada. |
|
|
Nota
For derived metrics, the TABLE property is not present.
In addition, if the row represents a
dimension that uses a Cortex Search Service, the property
column can contain the following values:
Nome da propriedade |
Descrição |
|---|---|
|
The name of the column that the Cortex Search Service allows you to search on. |
|
The name of the database that contains the Cortex Search Service. |
|
The name of the schema that contains the Cortex Search Service. |
|
The name of the Cortex Search Service. |
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 |
|---|---|
|
Comentário sobre a exibição semântica. |
Requisitos de controle de acesso¶
A role used to execute this operation must have the following privileges at a minimum:
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. Observe que uma função com privilégio concedido em um esquema permite que essa função resolva o esquema. Por exemplo, uma função com privilégio CREATE concedido em um esquema pode criar objetos nesse esquema sem também ter USAGE concedido nesse 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 o operador de canal (
->>) ou a função RESULT_SCAN. Ambos os constructos tratam a saída como um conjunto de resultados que você pode consultar.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.
Exemplos¶
O exemplo a seguir descreve a exibição semântica denominada 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 |
+--------------+------------------------------+---------------+--------------------------+----------------------------------------+