VALUES

适用于:计算列计算表Measure视觉计算

当输入参数为列名时,返回一个单列表,该表 contains 指定列的不同 values。 删除重复 valuesand 仅返回唯一 values。 可以添加 BLANKvalue。 当输入参数是表名时,返回指定表中的行。 保留重复的行。 可以添加 BLANK 行。

备注

此函数不能用于将 values 返回到工作表上的单元格 or 列中;相反,可以使用它作为嵌套在公式中的中间函数来获取可用于 filterorsum 其他 valuesor 的不同 values 的列表。

语法

VALUES(<TableNameOrColumnName>)  

parameters

术语 定义
TableName or ColumnName 要返回唯一 values 的列,or 要从中返回行的表。

返回 value

当输入参数为列名时,返回单列表。 当输入参数为表名时,返回具有相同列的表。

备注

  • 在已筛选的上下文中使用 VALUES 函数时,VALUES 返回的唯一 values 受 filter的影响。 例如,if 按区域 filter,and 返回城市 values 的列表,该列表将仅包含 filter允许的区域中的那些城市。 若要返回城市 all,无论现有 filters如何,都必须使用 ALL 函数从表中删除 filters。 second 示例演示如何将 ALL 与 VALUES配合使用。

  • 在计算列 or 行级别安全性 (RLS) 规则中使用时,not 支持在 DirectQuery 模式下使用此函数。

  • 有关使用 VALUES时的最佳做法,请参阅 使用 SELECTEDVALUE 而不是 VALUES

在大多数情况下,当参数为列名时,VALUES 函数的结果与 DISTINCT 函数的结果相同。 这两个函数删除重复项 and 返回指定列中可能的 values 列表。 但是,VALUES 函数也可以返回 blankvalue。 如果查找 related 表中的不同 values,但关系中使用的 value 在一个表中缺失,则此 blankvalue 非常有用。 在数据库术语中,这被称为违反了引用完整性。 当 andrelated 表 not更新一个表时,数据中的此类不匹配可能会发生。

当参数是表名时,VALUES 函数的结果返回指定表中的 all 行加上 blank 行,if 存在引用完整性的冲突。 DISTINCT 函数删除重复行,and 返回指定表中的唯一行。

备注

DISTINCT 函数允许列名 or 任何有效的表表达式作为其参数,但 VALUES 函数仅接受列名 or 表名作为参数。

下表汇总了在保留引用 not 完整性时,两个 related 表中可能发生的数据不匹配。

MyOrders 表 MySales 表
6 月 1 日 6 月 1 日销售额
6 月 2 日 6 月 2 日销售额
(未输入订单日期) 6 月 3 日销售额

If 使用 DISTINCT 函数返回日期列表,只返回两个日期。 但是,if 使用 VALUES 函数,该函数将返回两个日期加上一个额外的 blank 成员。 此外,MySales 表中任何 not 具有匹配 date 的 MyOrders 表中的行都将“匹配”到此未知成员。

示例

以下公式计算唯一发票(销售订单)的数量,and 在包含 Product 类别名称的报表中使用时生成以下结果:

= COUNTROWS(VALUES('InternetSales_USD'[SalesOrderNumber]))  

返回

行标签 Count 发票
Accessories 18,208
Bikes 15,205
Clothing 7,461
总计 27,659

FILTER 函数
COUNTROWS 函数
Filter 函数