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. O valor desta coluna é NULL para linhas que representam:
|
|
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.
Além disso, se a linha representar uma dimensão que usa um Cortex Search Service, a coluna property poderá conter os seguintes valores:
Nome da propriedade |
Descrição |
|---|---|
|
O nome da coluna na qual o Cortex Search Service permite que você pesquise. |
|
The name of the database that contains the Cortex Search Service. |
|
The name of the schema that contains the Cortex Search Service. |
|
O nome do 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 |
A operação em um objeto de esquema requer pelo menos um privilégio no banco de dados pai e um privilégio no esquema pai.
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.Por exemplo, é possível usar o operador de canal ou a função RESULT_SCAN para selecionar colunas específicas da saída do comando SHOW ou filtrar as linhas.
Quando você fizer referência a colunas de saída, use identificadores entre aspas duplas para os nomes das colunas. Por exemplo, para selecionar a coluna de saída
type, especifiqueSELECT "type".Você deve usar identificadores entre aspas duplas porque os nomes das colunas de saída para os comandos SHOW estão em minúsculas. As aspas duplas garantem que os nomes das colunas na lista SELECT ou na cláusula WHERE correspondam aos nomes das colunas na saída do comando SHOW que foi verificada.
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 |
+--------------+------------------------------+---------------+--------------------------+----------------------------------------+