- Categorias:
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.
Sintaxe¶
SNOWFLAKE.CORE.UNIQUE_COUNT(<query>)
Argumentos¶
query
Especifica uma consulta SQL em uma tabela ou exibição.
Tipos de dados permitidos¶
As colunas referenciadas no 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 privilégios nesta tabela à 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 com a tabela referenciada em
query
.Conceda os privilégios na tabela acima à função de proprietário da tabela. Além disso, conceda os seguintes privilégios à função de proprietário da tabela:
IMPORTEDPRIVILEGES no banco de dados SNOWFLAKE. 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
);
+------------------------------------------------------------------+
| SNOWFLAKE.CORE.UNIQUE_COUNT(SELECT ssn FROM hr.tables.empl_info) |
+------------------------------------------------------------------+
| 42 |
+------------------------------------------------------------------+