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>' ] )
实参¶
必填:
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'
));
考虑到 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'
));