- Categorias:
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> )
Argumentos¶
columnEspecifica a coluna que contém valores que são comparados com a expressão booleana em
lambda-expression.lambda-expressionEspecifica 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
columnnão corresponde à expressão booleana. Esta expressão pode usar as seguintes operações e funções:O
columnna expressão lambda sempre corresponde ao argumentocolumn.
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);
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'));