Catégories :

Fonctions de métrique des données

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> )
Copy

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’argument column.

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);
Copy

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'));
Copy