类别:

数据指标函数

ACCEPTED_VALUES(系统数据指标函数)

返回列值 匹配布尔表达式的记录数。

语法

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

实参

column

指定包含与 lambda-expression 中的布尔表达式进行比较的值的列。

lambda-expression

指定由以下语法组成的 lambda 表达式:column -> expression

该函数返回 column 值与布尔表达式不匹配的记录数。此表达式可以使用以下运算和函数:

lambda 表达式中的 column 始终与 column 实参匹配。

允许的数据类型

columnlambda-expression 实参中指定的列可以包含以下任何数据类型:

  • DATE

  • FLOAT

  • NUMBER

  • TIMESTAMP_LTZ

  • TIMESTAMP_NTZ

  • TIMESTAMP_TZ

  • VARCHAR

返回

该函数会返回 NUMBER 值。

访问控制要求

Associating and running a system DMF requires the USAGE privilege on the system DMF. You can grant the SNOWFLAKE.DATA_METRIC_USER database role to give users the USAGE privilege on all system DMFs. For more information, see Grant the USAGE privilege on system DMFs.

有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色

有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述

使用说明

  • 您不能直接调用此函数。要了解如何将该函数与表或视图关联以使其定期运行,请参阅 关联 DMF 以自动执行数据质量检查

    您可以使用 SYSTEM$DATA_METRIC_SCAN 函数来对表运行 ACCEPTED_VALUES 函数,而无需将其关联。

  • 您不能多次将此函数与同一列关联。

  • 重命名 ACCEPTED_VALUES 函数中指定的列会中断该函数与该列的表或视图之间的关联。如果重命名该列,则必须将该函数与表或视图重新关联。

示例

将该函数与表 t1 关联,这样它就会返回列 age 等于五的记录数。

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

将该函数与视图 order_details 关联以使其返回列 order_status 的值 在字符串 PendingDispatchedDelivered 列表中的记录数。

ALTER VIEW order_details
  ADD DATA METRIC FUNCTION SNOWFLAKE.CORE.ACCEPTED_VALUES ON (
    order_status,
    order_status -> order_status IN ('Pending', 'Dispatched', 'Delivered'));
Copy
语言: 中文