DESCRIBE SEMANTIC VIEW

Décrit les propriétés des tables logiques, des dimensions, des faits et des métriques qui composent une vue sémantique.

Voir aussi ::

CREATE SEMANTIC VIEW, DROP SEMANTIC VIEW, SHOW SEMANTIC VIEWS

Syntaxe

{ DESCRIBE | DESC } SEMANTIC VIEW <name>
Copy

Paramètres

name

Spécifie l’identificateur de la vue sémantique à décrire.

Si l’identificateur contient des espaces ou des caractères spéciaux, toute la chaîne doit être délimitée par des guillemets doubles. Les identificateurs entre guillemets doubles sont également sensibles à la casse.

Pour plus d’informations, voir Exigences relatives à l’identificateur.

Sortie

La sortie de la commande fournit les propriétés et les métadonnées des tables logiques, des relations, des faits, des dimensions, des métriques et de la vue sémantique elle-même.

Chaque ligne de la vue représente une propriété des éléments suivants :

  • Une table logique

  • Une relation

  • Un fait

  • Une dimension

  • Une métrique

  • La vue sémantique elle-même

Voici un exemple de la sortie de la commande :

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

Comme indiqué ci-dessus, chaque ligne représente une propriété d’une table logique, d’une dimension, d’une relation, d’une métrique ou d’un fait. Par exemple :

  • La première ligne est la valeur de la propriété comment de la vue sémantique elle-même.

  • La deuxième ligne est la valeur de la propriété base_table_database_name de la table logique nommée customers.

La vue comprend les colonnes suivantes :

Colonne

Description

object_kind

Type de l’objet qui possède la propriété de cette ligne. La valeur peut être l’une des suivantes :

  • TABLE (tables logiques de la vue)

  • RELATIONSHIP

  • DIMENSION

  • FACT

  • METRIC

  • NULL (propriétés qui s’appliquent à la vue sémantique elle-même, comme un commentaire)

object_name

Nom de la dimension, du fait, de la métrique, de la table logique ou de la relation qui possède la propriété de cette ligne.

Pour les lignes qui représentent des propriétés de la vue sémantique elle-même, la valeur de cette colonne est NULL.

parent_entity

Nom de l’entité parente de la dimension, du fait, de la métrique ou de la relation.

Pour les lignes qui représentent des propriétés de tables logiques ou de la vue sémantique elle-même, la valeur de cette colonne est NULL.

property

Nom de la propriété de la table logique, de la relation, de la dimension, du fait, de la métrique ou de la vue sémantique.

La valeur de cette colonne dépend du type de l’objet (object_kind).

Consultez les sections suivantes pour plus de détails sur les propriétés et leurs valeurs possibles, en fonction de la valeur de la colonne object_kind :

property_value

Valeur de la propriété de la table logique, de la relation, de la dimension, du fait, de la métrique ou de la vue sémantique.

Propriétés des tables logiques

Si la colonne object_kind contient TABLE, la colonne property peut contenir les valeurs suivantes :

Nom de propriété

Description

BASE_TABLE_DATABASE_NAME

Nom de la base de données contenant la table logique.

BASE_TABLE_SCHEMA_NAME

Nom du schéma contenant la table logique.

BASE_TABLE_NAME

Nom de la table logique.

SYNONYMS

Tableau de valeurs VARCHAR représentant les synonymes de la table logique.

PRIMARY_KEY

Tableau de valeurs VARCHAR spécifiant les noms des colonnes qui constituent la clé primaire de la table logique.

Propriétés des relations

Si la colonne object_kind contient RELATIONSHIP, la colonne property peut contenir les valeurs suivantes :

Nom de propriété

Description

TABLE

Nom de l’une des tables logiques de la relation.

FOREIGN_KEY

Nom de la colonne de cette table logique utilisée dans la relation.

REF_TABLE

Nom de l’autre table logique de la relation.

REF_KEY

Nom de la colonne de l’autre table logique de la relation.

Propriétés des faits, des dimensions et des métriques

Si la colonne object_kind contient FACT, DIMENSION ou METRIC, la colonne property peut contenir les valeurs suivantes :

Nom de propriété

Description

TABLE

Nom de la table logique utilisée pour définir la dimension, le fait ou la métrique.

EXPRESSION

Expression SQL de la dimension, du fait ou de la métrique.

DATA_TYPE

Type de données SQL de l’expression SQL évaluée.

Propriétés des vues sémantiques

Si la colonne object_kind est NULL, la colonne property peut contenir les valeurs suivantes :

Nom de propriété

Description

COMMENT

Commentaire sur la vue sémantique.

Exigences en matière de contrôle d’accès

Un rôle utilisé pour exécuter cette commande SQL doit avoir au moins l’un des privilèges suivants définis au minimum ainsi :

Privilège

Objet

Remarques

N’importe quel

Vue sémantique

Le privilège USAGE relatif à la base de données et au schéma parents est exigé pour effectuer des opérations sur tout objet d’un schéma.

Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.

Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.

Notes sur l’utilisation

  • Pour post-traiter la sortie de cette commande, vous pouvez utiliser la fonction RESULT_SCAN qui traite la sortie sous forme de table à interroger. Vous pouvez également utiliser l”opérateur de canal pour interroger la sortie de cette commande.

Exemples

L’exemple suivant décrit la vue sémantique nommée 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         |
+--------------+------------------------------+---------------+--------------------------+----------------------------------------+