活动
VALUES
当输入参数为列名时,返回一个单列表,该表 contains 指定列的不同 values。 删除重复 valuesand 仅返回唯一 values。 可以添加 BLANKvalue。 当输入参数是表名时,返回指定表中的行。 保留重复的行。 可以添加 BLANK 行。
备注
此函数不能用于将 values 返回到工作表上的单元格 or 列中;相反,可以使用它作为嵌套在公式中的中间函数来获取可用于 filterorsum 其他 valuesor 的不同 values 的列表。
VALUES(<TableNameOrColumnName>)
术语 | 定义 |
---|---|
TableName or ColumnName |
要返回唯一 values 的列,or 要从中返回行的表。 |
当输入参数为列名时,返回单列表。 当输入参数为表名时,返回具有相同列的表。
在已筛选的上下文中使用 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 |