SHOW SEMANTIC DIMENSIONS FOR METRIC

Répertorie les dimensions que vous pouvez renvoyer lorsque vous interrogez une métrique spécifique dans une vue sémantique.

Lorsque vous spécifiez une dimension et une métrique dans une requête de vue sémantique, la table de base de la dimension doit être liée à la table de base de la métrique. En outre, la table de base de la dimension doit avoir un niveau de granularité égal ou inférieur à celui de la table de base de la métrique.

Pour déterminer quelles dimensions répondent à ces critères, vous pouvez exécuter cette commande.

Pour plus de détails, voir Choix des dimensions que vous pouvez renvoyer pour une métrique donnée.

Voir aussi :

CREATE SEMANTIC VIEW , ALTER SEMANTIC VIEW , DESCRIBE SEMANTIC VIEW , DROP SEMANTIC VIEW , SHOW SEMANTIC VIEWS , SHOW SEMANTIC DIMENSIONS , SHOW SEMANTIC METRICS

Syntaxe

SHOW SEMANTIC DIMENSIONS [ LIKE '<pattern>' ]
                         IN <semantic_view_name>
                         FOR METRIC <metric_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 semantic_view_name

Spécifie le nom de la vue sémantique contenant les dimensions et la métrique.

FOR METRIC metric_name

Spécifie le nom de la métrique pour laquelle afficher les dimensions associées.

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

table_name

Nom de la table de base pour la dimension.

name

Nom de la dimension.

data_type

Type de données de la dimension.

required

Indique si la dimension est nécessaire pour la métrique.

synonyms

Noms alternatifs ou synonymes pour la dimension.

comment

Commentaire sur la dimension.

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

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

    Les noms des colonnes de sortie de 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.

Exemples

L’exemple suivant répertorie les dimensions que vous pouvez spécifier dans une requête pour la métrique order_average_value dans la vue sémantique tpch_rev_analysis :

SHOW SEMANTIC DIMENSIONS IN tpch_rev_analysis FOR METRIC order_average_value;
Copy
+------------+---------------+-------------+----------+-------------------+--------------------------------+
| table_name | name          | data_type   | required | synonyms          | comment                        |
|------------+---------------+-------------+----------+-------------------+--------------------------------|
| CUSTOMERS  | CUSTOMER_NAME | VARCHAR(25) | false    | ["customer name"] | Name of the customer           |
| ORDERS     | ORDER_DATE    | DATE        | false    | NULL              | Date when the order was placed |
| ORDERS     | ORDER_YEAR    | NUMBER(4,0) | false    | NULL              | Year when the order was placed |
+------------+---------------+-------------+----------+-------------------+--------------------------------+

L’exemple suivant répertorie les dimensions nécessaires lorsque vous interrogez une métrique de fonction de fenêtre.

Cet exemple utilise la vue sémantique que vous avez définie dans Définition des métriques de la fonction de fenêtre. L’exemple renvoie les dimensions que vous pouvez spécifier dans la requête pour la métrique avg_7_days_sales_quantity.

SHOW SEMANTIC DIMENSIONS IN sv_window_function_example FOR METRIC avg_7_days_sales_quantity;
Copy
+------------+-----------+--------------+----------+----------+---------+
| table_name | name      | data_type    | required | synonyms | comment |
|------------+-----------+--------------+----------+----------+---------|
| DATE       | DATE      | DATE         | true     | NULL     | NULL    |
| DATE       | D_DATE_SK | NUMBER(38,0) | false    | NULL     | NULL    |
| DATE       | YEAR      | NUMBER(38,0) | true     | NULL     | NULL    |
+------------+-----------+--------------+----------+----------+---------+

Notez que la colonne required contient true pour les dimensions date et year. Ceci est dû au fait que la définition de la métrique avg_7_days_sales_quantity spécifie les dimensions date et year dans PARTITION BY EXCLUDING :

CREATE OR REPLACE SEMANTIC VIEW sv_window_function_example
  ...
  METRICS (
    ...
      store_sales.avg_7_days_sales_quantity as AVG(total_sales_quantity)
        OVER (PARTITION BY EXCLUDING date.date, date.year ORDER BY date.date
          RANGE BETWEEN INTERVAL '6 days' PRECEDING AND CURRENT ROW)
        WITH SYNONYMS = ('Running 7-day average of total sales quantity'),
Copy

Pour cette raison, les dimensions date et year sont nécessaires dans toute requête de la métrique avg_7_days_sales_quantity. Vous devez spécifier ces dimensions dans la requête :

SELECT * FROM SEMANTIC_VIEW (
  sv_window_function_example
  DIMENSIONS date.date, date.year
  METRICS store_sales.avg_7_days_sales_quantity
);
Copy