Catégories :

Fonctions de métrique des données

UNIQUE_COUNT (fonction de métrique des données système)

Renvoie le nombre total de valeurs non NULL uniques pour les colonnes spécifiées dans une table.

Cette rubrique fournit la syntaxe pour appeler la 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.

Syntaxe

SNOWFLAKE.CORE.UNIQUE_COUNT(<query>)
Copy

Arguments

query

Spécifie une requête SQL qui projette une seule colonne.

Types de données autorisés

La colonne projetée par query doit posséder l’un des types de données suivants :

  • DATE

  • FLOAT

  • NUMBER

  • TIMESTAMP_LTZ

  • TIMESTAMP_NTZ

  • TIMESTAMP_TZ

  • VARCHAR

Renvoie

La fonction renvoie une valeur scalaire d’un type de données 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

Lorsque vous appelez manuellement une DMF système, vous n’avez pas besoin de spécifier le type de données autorisé que vous utilisez. Il vous suffit de spécifier la requête pour la colonne que vous souhaitez mesurer. Snowflake met en correspondance le type de données autorisé pour la fonction avec le type de données de la colonne.

Exemple

Mesurez le nombre de valeurs non NULL uniques de la colonne SSN (numéro de Sécurité sociale US) :

SELECT SNOWFLAKE.CORE.UNIQUE_COUNT(
  SELECT
    ssn
  FROM hr.tables.empl_info
);
Copy
+------------------------------------------------------------------+
| SNOWFLAKE.CORE.UNIQUE_COUNT(SELECT ssn FROM hr.tables.empl_info) |
+------------------------------------------------------------------+
| 42                                                               |
+------------------------------------------------------------------+