- 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¶
columnSpécifie la colonne qui contient les valeurs qui sont comparées à l’expression booléenne dans
lambda-expression.lambda-expressionSpécifie une expression lambda composée de la syntaxe suivante :
column -> expression.La fonction renvoie le nombre d’enregistrements où la valeur de
columnne correspond pas à l’expression booléenne. Cette expression peut utiliser les opérations et fonctions suivantes :columndans 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.
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'));