SHOW SEMANTIC METRICS

Répertorie les métriques dans les vues sémantiques pour lesquelles vous disposez de privilèges d’accès.

Vous pouvez utiliser cette commande pour répertorier les objets de la base de données et du schéma actuels de la session, d’une base de données ou d’un schéma spécifique ou de l’ensemble de votre compte.

La sortie comprend les métadonnées et les propriétés de chaque objet. Les objets sont triés lexicographiquement par nom de base de données, de schéma et d’objet (voir Sortie dans cette rubrique pour la description des colonnes de sortie). L’ordre est important à noter si vous souhaitez filtrer les résultats.

Voir aussi :

CREATE SEMANTIC VIEW , ALTER SEMANTIC VIEW , DESCRIBE SEMANTIC VIEW , DROP SEMANTIC VIEW , SHOW SEMANTIC VIEWS , SHOW SEMANTIC DIMENSIONS , SHOW SEMANTIC DIMENSIONS FOR METRIC

Syntaxe

SHOW SEMANTIC METRICS [ LIKE '<pattern>' ]
                      [ IN
                           {
                             <semantic_view_name>              |

                             ACCOUNT                  |

                             DATABASE                 |
                             DATABASE <database_name> |

                             SCHEMA                   |
                             SCHEMA <schema_name>
                           }
                      ]
                      [ STARTS WITH '<name_string>' ]
                      [ LIMIT <rows> ]
Copy

Paramètres

LIKE 'pattern'

(Facultatif) Filtre la sortie de commande par nom d’objet. Le filtre utilise une concordance de motif insensible à la casse avec prise en charge des caractères génériques SQL (% et _).

Par exemple, les motifs suivants donnent les mêmes résultats :

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...

. Par défaut : aucune valeur (aucun filtrage n’est appliqué à la sortie).

[ IN ... ]

Spécifie de manière facultative la portée de la commande. Spécifie l’un des éléments suivants :

semantic_view_name

Renvoie les enregistrements de la vue sémantique spécifiée.

ACCOUNT

Renvoie les enregistrements pour l’ensemble du compte.

DATABASE, . DATABASE db_name

Renvoie les enregistrements pour la base de données en cours d’utilisation ou pour une base de données spécifiée (db_name).

Si vous spécifiez DATABASE sans db_name et qu’aucune base de données n’est utilisée, le mot-clé n’a aucun effet sur la sortie.

SCHEMA, . SCHEMA database_name.schema_name

Renvoie les enregistrements pour le schéma en cours d’utilisation ou un schéma spécifié (database_name.schema_name).

Si aucune base de données n’est utilisée, spécifier SCHEMA n’a aucun effet sur la sortie.

Par défaut : dépend si la session dispose actuellement d’une base de données en cours d’utilisation :

  • Base de données : DATABASE est la valeur par défaut (c’est-à-dire que la commande renvoie les objets que vous pouvez visualiser dans la base de données).

  • Aucune base de données : ACCOUNT est la valeur par défaut (c’est-à-dire que la commande renvoie les objets que vous pouvez visualiser dans votre compte).

STARTS WITH 'name_string'

(Facultatif) Filtre la sortie de commande en fonction des caractères qui apparaissent au début du nom de l’objet. La chaîne doit être encadrée de guillemets simples et est sensible à la casse.

Par exemple, les chaînes suivantes renvoient des résultats différents :

... STARTS WITH 'B' ...
... STARTS WITH 'b' ...

. Par défaut : aucune valeur (aucun filtrage n’est appliqué à la sortie)

LIMIT rows

(Facultatif) Limite le nombre maximum de lignes renvoyées. Le nombre réel de lignes renvoyées peut être inférieur à la limite spécifiée. Par exemple, le nombre d’objets existants est inférieur à la limite spécifiée.

Par défaut : aucune valeur (aucune limite n’est appliquée à la sortie).

Sortie

La sortie de la commande comprend les colonnes suivantes, qui décrivent les propriétés et les métadonnées de l’objet :

Colonne

Description

database_name

Nom de la base de données contenant la vue sémantique.

schema_name

Nom du schéma contenant la vue sémantique.

semantic_view_name

Nom de la vue sémantique contenant la métrique.

table_name

Nom de la table de base de la métrique.

name

Nom de la métrique.

data_type

Type de données de la métrique.

synonyms

Noms alternatifs ou synonymes pour la métrique.

comment

Commentaire sur la métrique.

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

REFERENCES ou OWNERSHIP

Vue sémantique

L’un de ces privilèges est nécessaire si vous voulez que la sortie comprenne des métriques privées.

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

  • La commande ne nécessite pas l’exécution d’un entrepôt en cours d’exécution.

  • La commande ne renvoie que les objets pour lesquels le rôle actuel de l’utilisateur s’est vu accorder au moins un privilège d’accès.

  • Le privilège d’accès MANAGE GRANTS permet implicitement à son titulaire de voir tous les objets du compte. Par défaut, seuls l’administrateur du compte (utilisateurs avec le rôle ACCOUNTADMIN) et l’administrateur de sécurité (utilisateurs avec le rôle SECURITYADMIN) ont le privilège MANAGE GRANTS.

  • Pour post-traiter la sortie de cette commande, vous pouvez utiliser l’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.

    Les noms des colonnes de sortie pour cette commande sont générés en minuscules. Si vous consommez un jeu de résultats de cette commande avec l’opérateur de canal ou la fonction RESULT_SCAN, utilisez des identificateurs entre guillemets doubles pour les noms de colonnes de la requête, afin de vous assurer qu’ils correspondent aux noms de colonnes dans la sortie analysée. Par exemple, si le nom d’une colonne de sortie est type, spécifiez "type" pour l’identificateur.

  • La commande renvoie un maximum de dix mille enregistrements pour le type d’objet spécifié, conformément aux privilèges d’accès du rôle utilisé pour exécuter la commande. Aucun enregistrement au-delà de la limite de dix mille enregistrements n’est renvoyé, même si un filtre a été appliqué.

    Pour afficher les résultats pour lesquels il existe plus de dix mille enregistrements, interrogez la vue correspondante (le cas échéant) dans Schéma d’information de Snowflake.

  • La valeur de LIMIT rows ne peut pas dépasser 10000. Si LIMIT rows est omis, la commande entraîne une erreur si le jeu de résultats est supérieur à dix mille lignes.

    Pour afficher les résultats pour lesquels il existe plus de dix mille enregistrements, vous devez inclure LIMIT rows ou interroger la vue correspondante dans Schéma d’information de Snowflake.

  • L’exécution de la commande pour les objets de niveau schéma ne renvoie un objet que si le rôle actuel dispose également d’au moins un privilège sur la base de données et le schéma de niveau parent.

Exemples

L’exemple suivant répertorie les métriques des vues sémantiques sur lesquelles vous avez des privilèges. La liste comprend des métriques dans des vues sémantiques dans le schéma actuel de la base de données actuelle.

SHOW SEMANTIC METRICS;
Copy
+---------------+-------------+--------------------+------------+------------------------------+--------------+----------+----------------------------------------+
| database_name | schema_name | semantic_view_name | table_name | name                         | data_type    | synonyms | comment                                |
|---------------+-------------+--------------------+------------+------------------------------+--------------+----------+----------------------------------------|
| MY_DB         | MY_SCHEMA   | TPCH_ANALYSIS      | CUSTOMER   | CUSTOMER_COUNT               | NUMBER(18,0) | NULL     | NULL                                   |
| MY_DB         | MY_SCHEMA   | TPCH_ANALYSIS      | CUSTOMER   | CUSTOMER_ORDER_COUNT         | NUMBER(30,0) | NULL     | NULL                                   |
| MY_DB         | MY_SCHEMA   | TPCH_ANALYSIS      | ORDERS     | AVERAGE_LINE_ITEMS_PER_ORDER | NUMBER(36,6) | NULL     | NULL                                   |
| MY_DB         | MY_SCHEMA   | TPCH_ANALYSIS      | ORDERS     | ORDER_AVERAGE_VALUE          | NUMBER(30,8) | NULL     | NULL                                   |
| MY_DB         | MY_SCHEMA   | TPCH_ANALYSIS      | ORDERS     | ORDER_COUNT                  | NUMBER(18,0) | NULL     | NULL                                   |
| MY_DB         | MY_SCHEMA   | TPCH_ANALYSIS      | SUPPLIER   | SUPPLIER_COUNT               | NUMBER(18,0) | NULL     | NULL                                   |
| MY_DB         | MY_SCHEMA   | TPCH_REV_ANALYSIS  | CUSTOMERS  | CUSTOMER_COUNT               | NUMBER(18,0) | NULL     | Count of number of customers           |
| MY_DB         | MY_SCHEMA   | TPCH_REV_ANALYSIS  | ORDERS     | AVERAGE_LINE_ITEMS_PER_ORDER | NUMBER(36,6) | NULL     | Average number of line items per order |
| MY_DB         | MY_SCHEMA   | TPCH_REV_ANALYSIS  | ORDERS     | ORDER_AVERAGE_VALUE          | NUMBER(30,8) | NULL     | Average order value across all orders  |
+---------------+-------------+--------------------+------------+------------------------------+--------------+----------+----------------------------------------+

L’exemple suivant répertorie les métriques de la vue sémantique nommée tpch_rev_analysis dans le schéma actuel de la base de données actuelle :

SHOW SEMANTIC METRICS IN tpch_rev_analysis;
Copy
+---------------+-------------+--------------------+------------+------------------------------+--------------+----------+----------------------------------------+
| database_name | schema_name | semantic_view_name | table_name | name                         | data_type    | synonyms | comment                                |
|---------------+-------------+--------------------+------------+------------------------------+--------------+----------+----------------------------------------|
| MY_DB         | MY_SCHEMA   | TPCH_REV_ANALYSIS  | CUSTOMERS  | CUSTOMER_COUNT               | NUMBER(18,0) | NULL     | Count of number of customers           |
| MY_DB         | MY_SCHEMA   | TPCH_REV_ANALYSIS  | ORDERS     | AVERAGE_LINE_ITEMS_PER_ORDER | NUMBER(36,6) | NULL     | Average number of line items per order |
| MY_DB         | MY_SCHEMA   | TPCH_REV_ANALYSIS  | ORDERS     | ORDER_AVERAGE_VALUE          | NUMBER(30,8) | NULL     | Average order value across all orders  |
+---------------+-------------+--------------------+------------+------------------------------+--------------+----------+----------------------------------------+