SHOW SEMANTIC DIMENSIONS¶
Répertorie les dimensions 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 METRICS , SHOW SEMANTIC DIMENSIONS FOR METRIC
Syntaxe¶
SHOW SEMANTIC DIMENSIONS [ LIKE '<pattern>' ]
[ IN
{
<semantic_view_name> |
ACCOUNT |
DATABASE |
DATABASE <database_name> |
SCHEMA |
SCHEMA <schema_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 ... ]
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 pour 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
sansdb_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 |
---|---|
|
Nom de la base de données contenant la vue sémantique. |
|
Nom du schéma contenant la vue sémantique. |
|
Nom de la vue sémantique contenant la dimension. |
|
Nom de la table de base pour la dimension. |
|
Nom de la dimension. |
|
Type de données de la dimension. |
|
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 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é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.
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 parents.
Exemples¶
L’exemple suivant répertorie les dimensions des vues sémantiques sur lesquelles vous avez des privilèges. La liste comprend les dimensions dans les vues sémantiques du schéma actuel de la base de données actuelle.
SHOW SEMANTIC DIMENSIONS;
+---------------+-------------+--------------------+------------+-------------------------+-------------+-------------------+--------------------------------+
| database_name | schema_name | semantic_view_name | table_name | name | data_type | synonyms | comment |
|---------------+-------------+--------------------+------------+-------------------------+-------------+-------------------+--------------------------------|
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | CUSTOMER | CUSTOMER_COUNTRY_CODE | VARCHAR(15) | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | CUSTOMER | CUSTOMER_MARKET_SEGMENT | VARCHAR(10) | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | CUSTOMER | CUSTOMER_NAME | VARCHAR(25) | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | CUSTOMER | CUSTOMER_NATION_NAME | VARCHAR(25) | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | CUSTOMER | CUSTOMER_REGION_NAME | VARCHAR(25) | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | NATION | NATION_NAME | VARCHAR(25) | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | ORDERS | ORDER_DATE | DATE | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_REV_ANALYSIS | CUSTOMERS | CUSTOMER_NAME | VARCHAR(25) | ["customer name"] | Name of the customer |
| MY_DB | MY_SCHEMA | TPCH_REV_ANALYSIS | ORDERS | ORDER_DATE | DATE | NULL | Date when the order was placed |
| MY_DB | MY_SCHEMA | TPCH_REV_ANALYSIS | ORDERS | ORDER_YEAR | NUMBER(4,0) | NULL | Year when the order was placed |
+---------------+-------------+--------------------+------------+-------------------------+-------------+-------------------+--------------------------------+
L’exemple suivant répertorie les dimensions de la vue sémantique nommée tpch_rev_analysis
dans le schéma actuel de la base de données actuelle :
SHOW SEMANTIC DIMENSIONS IN tpch_rev_analysis;
+---------------+-------------+--------------------+------------+---------------+-------------+-------------------+--------------------------------+
| database_name | schema_name | semantic_view_name | table_name | name | data_type | synonyms | comment |
|---------------+-------------+--------------------+------------+---------------+-------------+-------------------+--------------------------------|
| MY_DB | MY_SCHEMA | TPCH_REV_ANALYSIS | CUSTOMERS | CUSTOMER_NAME | VARCHAR(25) | ["customer name"] | Name of the customer |
| MY_DB | MY_SCHEMA | TPCH_REV_ANALYSIS | ORDERS | ORDER_DATE | DATE | NULL | Date when the order was placed |
| MY_DB | MY_SCHEMA | TPCH_REV_ANALYSIS | ORDERS | ORDER_YEAR | NUMBER(4,0) | NULL | Year when the order was placed |
+---------------+-------------+--------------------+------------+---------------+-------------+-------------------+--------------------------------+