Categorias:

Funções do sistema, Funções de tabela

SYSTEM$DATA_METRIC_SCAN

Retorna as linhas identificadas por uma métrica de qualidade de dados como contendo dados que falharam em uma verificação de qualidade de dados. Por exemplo, se você usar a função de métrica de dados NULL_COUNT como argumento, a função retornará as linhas na tabela com um valor NULL em uma coluna específica.

Sintaxe

SYSTEM$DATA_METRIC_SCAN(
  REF_ENTITY_NAME  => '<object>'
  , METRIC_NAME  => '<data_metric_function>'
  , ARGUMENT_NAME => '<column>'
   [ , AT_TIMESTAMP => '<timestamp>' ] )
Copy

Argumentos

Obrigatório:

REF_ENTITY_NAME => 'object'

Nome da tabela ou exibição na qual a função de métrica de dados especificada será executada. A função retorna linhas deste objeto.

METRIC_NAME => 'data_metric_function'

Nome da métrica de dados do sistema que você deseja executar para avaliar a tabela ou exibição especificada. Somente as seguintes funções do sistema são compatíveis:

  • SNOWFLAKE.CORE.NULL_COUNT

  • SNOWFLAKE.CORE.NULL_PERCENT

  • SNOWFLAKE.CORE.BLANK_COUNT

  • SNOWFLAKE.CORE.BLANK_PERCENT

  • SNOWFLAKE.CORE.DUPLICATE_COUNT

ARGUMENT_NAME => 'column'

Nome da coluna na tabela ou exibição especificada que está sendo passada como um argumento para a função de métrica de dados especificada.

Opcional:

AT_TIMESTAMP => 'timestamp'

Carimbo de data/hora que está sendo passado como argumento para verificar os resultados de uma avaliação de DMF na tabela ou exibição no passado.

Retornos

Linhas da tabela ou exibição especificada.

Privilégios de controle de acesso

A execução desta função requer os seguintes privilégios:

  • SELECT na tabela especificada.

  • USAGE na função de métrica de dados especificada.

Notas de uso

  • Esta função não oferece suporte a métricas definidas pelo usuário.

  • Se a tabela especificada for protegida por uma política, como uma política de mascaramento ou uma política de acesso a linhas, a função poderá retornar dados inesperados ou incompletos porque os resultados dependem da função do usuário ao executar a função.

Exemplos

Dado que a métrica do sistema SNOWFLAKE.CORE.NULL_COUNT retorna o número total de valores NULL em uma coluna específica, o seguinte retorna as linhas da tabela employeesTable com valores NULL na coluna SSN.

SELECT *
  FROM TABLE(SYSTEM$DATA_METRIC_SCAN(
    REF_ENTITY_NAME  => 'governance.sch.employeesTable',
    METRIC_NAME  => 'snowflake.core.null_count',
    ARGUMENT_NAME => 'SSN'
  ));
Copy

Dado que a métrica do sistema SNOWFLAKE.CORE.BLANK_COUNT retorna a contagem de quantos valores em uma coluna estão em branco, o seguinte retorna as linhas da tabela employeesTable que tinham um valor em branco na coluna name na versão da tabela que existia em um momento específico no passado.

SELECT *
  FROM TABLE(SYSTEM$DATA_METRIC_SCAN(
    REF_ENTITY_NAME  => 'governance.sch.employeesTable',
    METRIC_NAME  => 'snowflake.core.blank_count',
    ARGUMENT_NAME => 'name',
    AT_TIMESTAMP => '2024-08-28 02:00:00 -0700'
  ));
Copy