Categorias:

Funções de métricas de dados

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

Retorna o número de registros em que o valor de uma coluna não corresponde a uma expressão booleana.

Sintaxe

SNOWFLAKE.CORE.ACCEPTED_VALUES ON ( <column>, <lambda-expression> )
Copy

Argumentos

column

Especifica a coluna que contém valores que são comparados com a expressão booleana em lambda-expression.

lambda-expression

Especifica uma expressão lambda que consiste na seguinte sintaxe: column -> expression.

A função retorna o número de registros em que o valor de column não corresponde à expressão booleana. Esta expressão pode usar as seguintes operações e funções:

O column na expressão lambda sempre corresponde ao argumento column.

Tipos de dados permitidos

A coluna especificada nos argumentos column e lambda-expression podem conter qualquer um dos seguintes tipos de dados:

  • DATE

  • FLOAT

  • NUMBER

  • TIMESTAMP_LTZ

  • TIMESTAMP_NTZ

  • TIMESTAMP_TZ

  • VARCHAR

Retornos

A função retorna um valor NUMBER.

Requisitos de controle de acesso

Associar e executar um DMF do sistema requer o privilégio USAGE no DMF do sistema. Você pode conceder a função de banco de dados SNOWFLAKE.DATA_METRIC_USER para fornecer aos usuários o privilégio USAGE em todos os DMFs do sistema. Para obter mais informações, consulte Concessão do privilégio USAGE em DMFs do sistema.

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

  • Você não pode chamar esta 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.

    Você pode usar a função SYSTEM$DATA_METRIC_SCAN para executar a função ACCEPTED_VALUES em uma tabela sem associá-la.

  • Você não pode associar esta função à mesma coluna mais de uma vez.

  • Como renomear uma coluna especificada na função ACCEPTED_VALUES quebra a associação entre a função e a tabela ou exibição da coluna. Se você renomear a coluna, deverá reassociar a função à tabela ou exibição.

Exemplos

Associar a função à tabela t1 para que retorne o número de registros em que o valor da coluna age não é igual a cinco.

ALTER TABLE t1
  ADD DATA METRIC FUNCTION SNOWFLAKE.CORE.ACCEPTED_VALUES ON (age, age -> age = 5);
Copy

Associar a função à visualização order_details para que retorne o número de registros em que o valor da coluna order_status não está na lista de strings Pending, Dispatched e 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