- Catégories :
ACCEPTED_VALUES (fonction de métrique des données système)¶
Renvoie le nombre d’enregistrements dans lesquels la valeur d’une colonne ne correspond pas à une expression booléenne.
Syntaxe¶
SNOWFLAKE.CORE.ACCEPTED_VALUES ON ( <column>, <lambda-expression> )
Arguments¶
column
Spécifie la colonne qui contient les valeurs qui sont comparées à l’expression booléenne dans
lambda-expression
.lambda-expression
Spécifie une expression lambda composée de la syntaxe suivante :
column -> expression
.La fonction renvoie le nombre d’enregistrements où la valeur de
column
ne correspond pas à l’expression booléenne. Cette expression peut utiliser les opérations et fonctions suivantes :column
dans l’expression lambda correspond toujours à l’argumentcolumn
.
Types de données autorisés¶
La colonne spécifiée dans les arguments column
et lambda-expression
peuvent contenir l’un des types de données suivants :
DATE
FLOAT
NUMBER
TIMESTAMP_LTZ
TIMESTAMP_NTZ
TIMESTAMP_TZ
VARCHAR
Renvoie¶
La fonction renvoie une valeur NUMBER.
Exigences en matière de contrôle d’accès¶
Pour utiliser une DMF système, choisissez l’une des approches de contrôle d’accès suivantes :
Attribuez le rôle de base de données DATA_METRIC_USER au rôle de propriétaire de la table, qui est le rôle disposant du privilège OWNERSHIP sur la table. Ce rôle de base de données dispose du privilège USAGE sur le schéma SNOWFLAKE.CORE et du privilège USAGE sur toutes les DMFs systèmes dans le schéma SNOWFLAKE.CORE.
En outre, accordez les privilèges suivants au rôle de propriétaire de la table :
Privilège
Objet
Remarques
EXECUTE DATA METRIC FUNCTION
Compte
Ce privilège vous permet de contrôler les rôles qui ont accès aux ressources de calcul sans serveur pour appeler la DMF système.
USAGE
Base de données, schéma
Ces objets sont la base de données et le schéma qui contiennent la table référencée à laquelle la DMF est associée.
Accorder IMPORTED PRIVILEGES sur la base de données SNOWFLAKE au rôle de propriétaire de la table. Pour plus d’informations, voir Permettre à d’autres rôles d’utiliser des schémas dans la base de données SNOWFLAKE.
Utilisez le rôle ACCOUNTADMIN.
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¶
Vous ne pouvez pas appeler cette fonction directement. Pour savoir comment associer la fonction à une table ou à une vue afin qu’elle s’exécute à intervalles réguliers, voir Association d’une DMF pour automatiser les contrôles de qualité des données.
Vous pouvez utiliser la fonction SYSTEM$DATA_METRIC_SCAN pour exécuter la fonction ACCEPTED_VALUES avec une table sans l’associer.
Vous ne pouvez pas associer cette fonction à la même colonne plus d’une fois.
Renommer une colonne spécifiée dans la fonction ACCEPTED_VALUES rompt l’association entre la fonction et la table ou la vue de la colonne. Si vous renommez la colonne, vous devez réassocier la fonction à la table ou à la vue.
Exemples¶
Associer la fonction à la table t1
renvoie le nombre d’enregistrements où la valeur de la colonne age
n’est pas égal à cinq.
ALTER TABLE t1
ADD DATA METRIC FUNCTION SNOWFLAKE.CORE.ACCEPTED_VALUES ON (age, age -> age = 5);
Associer la fonction à la vue order_details
renvoie le nombre d’enregistrements où la valeur de la colonne order_status
n’est pas dans la liste de chaînes Pending
, Dispatched
et Delivered
.
ALTER VIEW order_details
ADD DATA METRIC FUNCTION SNOWFLAKE.CORE.ACCEPTED_VALUES ON (
order_status,
order_status -> order_status IN ('Pending', 'Dispatched', 'Delivered'));