类别:

系统函数表函数

SYSTEM$DATA_METRIC_SCAN

返回由 数据质量指标 标识为包含未通过数据质量检查的数据的行。例如,如果您将 NULL_COUNT 数据指标函数用作实参,则该函数将返回表中在特定列中包含 NULL 值的行。

语法

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

实参

必填:

REF_ENTITY_NAME => 'object'

指定数据指标函数将运行的表或视图的名称。该函数返回此对象的行。

METRIC_NAME => 'data_metric_function'

您想要运行以评估指定表或视图的系统数据指标名称。仅支持以下系统函数:

  • SNOWFLAKE.CORE.NULL_COUNT

  • SNOWFLAKE.CORE.NULL_PERCENT

  • SNOWFLAKE.CORE.BLANK_COUNT

  • SNOWFLAKE.CORE.BLANK_PERCENT

  • SNOWFLAKE.CORE.DUPLICATE_COUNT

ARGUMENT_NAME => 'column'

指定表或视图中作为实参传递给指定数据指标函数的列名。

可选:

AT_TIMESTAMP => 'timestamp'

作为实参传递的时间戳,用于检查过去表或视图中 DMF 评估的结果。

返回

指定表或视图中的行。

访问控制权限

执行此函数需要以下权限:

  • 指定表中的 SELECT。

  • 指定数据指标函数中的 USAGE。

使用说明

  • 此函数不支持用户定义的指标。

  • 如果指定表受策略(如掩码策略或行访问策略)保护,则函数可能会返回意外或不完整的数据,因为结果取决于执行函数时用户的角色。

示例

考虑到 SNOWFLAKE.CORE.NULL_COUNT 系统指标返回特定列中 NULL 值的总数,以下返回 employeesTable 表中在 SSN 列中具有 NULL 值的行。

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

考虑到 SNOWFLAKE.CORE.BLANK_COUNT 系统指标返回列中空值的计数,以下内容返回了 employeesTable 表中 name 列在过去某一特定时间版本中为空值的行。

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
语言: 中文