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> ]
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 |
---|---|
|
Nom de la table de base pour la dimension. |
|
Nom de la dimension. |
|
Type de données de la dimension. |
|
Indique si la dimension est nécessaire pour la métrique. |
|
Noms alternatifs ou synonymes pour la dimension. |
|
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épasser10000
. SiLIMIT 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;
+------------+---------------+-------------+----------+-------------------+--------------------------------+
| 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;
+------------+-----------+--------------+----------+----------+---------+
| 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'),
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
);