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 , ALTER SEMANTIC VIEW , DROP SEMANTIC VIEW , SHOW SEMANTIC VIEWS , SHOW SEMANTIC DIMENSIONS , SHOW SEMANTIC DIMENSIONS FOR METRIC , SHOW SEMANTIC FACTS , SHOW SEMANTIC METRICS
Syntaxe¶
{ DESCRIBE | DESC } SEMANTIC VIEW <name> Paramètres¶
nameSpé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é
commentde la vue sémantique elle-même.La deuxième ligne est la valeur de la propriété
base_table_database_namede la table logique nomméecustomers.
La vue comprend les colonnes suivantes :
Colonne | Description |
|---|---|
| Type de l’objet qui possède la propriété de cette ligne. La valeur peut être l’une des suivantes :
|
| 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. |
| Nom de l’entité parente de la dimension, du fait, de la métrique ou de la relation. The value of this column is NULL for rows that represent:
|
| 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 ( 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
|
| 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 |
|---|---|
| Nom de la base de données contenant la table logique. |
| Nom du schéma contenant la table logique. |
| Nom de la table logique. |
| Tableau de valeurs VARCHAR représentant les synonymes de la table logique. |
| 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 |
|---|---|
| Nom de l’une des tables logiques de la relation. |
| Nom de la colonne de cette table logique utilisée dans la relation. |
| Nom de l’autre table logique de la relation. |
| 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 |
|---|---|
| Nom de la table logique utilisée pour définir la dimension, le fait ou la métrique. |
| Expression SQL de la dimension, du fait ou de la métrique. |
| Type de données SQL de l’expression SQL évaluée. |
|
|
Note
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:
Nom de propriété | Description |
|---|---|
| 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. |
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 |
|---|---|
| Commentaire sur la vue sémantique. |
Exigences en matière de contrôle d’accès¶
A role used to execute this operation must have the following privileges at a minimum:
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. Notez qu’un rôle doté d’un privilège quelconque sur un schéma permet à ce rôle de résoudre le schéma. Par exemple, un rôle doté du privilège CREATE sur un schéma peut créer des objets sur ce schéma sans également avoir le privilège USAGE attribué sur ce 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 syntaxe opérateur de canal (
->>) ou la fonction RESULT_SCAN. Les deux constructions traitent la sortie comme un jeu de résultats que vous pouvez interroger.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.
Exemples¶
L’exemple suivant décrit la vue sémantique nommée 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 | +--------------+------------------------------+---------------+--------------------------+----------------------------------------+