Categorias:

Funções de métricas de dados

UNIQUE_COUNT (função de métricas de dados do sistema)

Retorna o número total de valores não NULL para as colunas especificadas em uma tabela.

Este tópico fornece a sintaxe para chamar a função diretamente. Para saber como associar a função a uma tabela ou visualização para que seja executada em intervalos regulares, consulte Associe uma DMF para automatizar as verificações de qualidade dos dados.

Sintaxe

SNOWFLAKE.CORE.UNIQUE_COUNT(<query>)
Copy

Argumentos

query

Especifica uma consulta SQL que projeta uma única coluna.

Tipos de dados permitidos

A coluna projetada pela query deve ter um dos seguintes tipos de dados:

  • DATE

  • FLOAT

  • NUMBER

  • TIMESTAMP_LTZ

  • TIMESTAMP_NTZ

  • TIMESTAMP_TZ

  • VARCHAR

Retornos

A função retorna um valor escalar com um tipo de dados NUMBER.

Requisitos de controle de acesso

Para usar uma DMF de sistema, escolha uma das seguintes abordagens de controle de acesso:

  • Conceda a função de banco de dados DATA_METRIC_USER à função do proprietário da tabela, que é a função com o privilégio OWNERSHIP na tabela. Esta função de banco de dados tem o privilégio USAGE sobre o esquema SNOWFLAKE.CORE e o privilégio USAGE em todas as DMFs do sistema no esquema SNOWFLAKE.CORE.

    Além disso, conceda os seguintes privilégios à função de proprietário da tabela:

    Privilégio

    Objeto

    Notas

    EXECUTE DATA METRIC FUNCTION

    Conta

    Este privilégio permite que você controle quais funções têm acesso aos recursos de computação sem servidor para chamar a DMF do sistema.

    USAGE

    Banco de dados, esquema

    Esses objetos são o banco de dados e o esquema que contêm a tabela. tabela referenciada com a qual o DMF está associado.

  • Conceda IMPORTED PRIVILEGES no banco de dados SNOWFLAKE à função de proprietário da tabela. Para obter mais informações, consulte Habilitando outras funções para usar esquemas no banco de dados SNOWFLAKE.

  • Use a função ACCOUNTADMIN.

Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.

Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.

Notas de uso

Quando você chama uma DMF do sistema manualmente, você não precisa especificar qual tipo de dados permitido você está usando. Você só precisa especificar a consulta para a coluna que deseja medir. O Snowflake compara o tipo de dados permitido para a função com o tipo de dados para a coluna.

Exemplo

Meça o número de valores únicos diferentes de NULL para a coluna SSN (isto é, Número da Segurança Social dos 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                                                               |
+------------------------------------------------------------------+