PowerBi中VALUES怎么使用?

VALUES() 是 Power BI / DAX 中一个非常重要的函数,常用于处理 上下文中的唯一值集合。它既可以作为一种“上下文探测工具”,也常用于配合 CALCULATE()COUNTROWS() 等函数实现一些高级逻辑。


✅ 一、VALUES 函数的定义

VALUES(<column>)
返回当前上下文中指定列的唯一值集合(去重后),并以“表”的形式返回。

它也可以写成:

VALUES(Table[Column])


🧠 二、VALUES 的作用总结

用途说明
获取当前上下文中的唯一值可以知道当前筛选了哪些维度(如哪些客户/产品)
CALCULATE() 提供筛选器配合 IN 使用,批量筛选
统计去重后的数量配合 COUNTROWS() 计算去重数量
判断是否只有一个唯一值配合 IF() 判断是否是单个上下文

📘 三、VALUES 的常见使用场景举例


✅ 1. 获取去重后的客户数量

客户数量 = COUNTROWS(VALUES(Sales[客户]))

📌 意思是:统计当前筛选条件下,有多少个不重复的客户。


✅ 2. 用于 IN 多值筛选(配合 CALCULATE)

产品销售额 = CALCULATE( SUM(Sales[销售额]), Products[产品] IN VALUES(TopProducts[产品]) )

📌 意思是:只计算属于 TopProducts 表中产品的销售额。


✅ 3. 判断当前上下文是否只有一个唯一值

当前产品名称 = IF( HASONEVALUE(Products[产品]), VALUES(Products[产品]), "多个产品" )

📌 意思是:如果当前上下文只有一个产品,就显示它的名字;否则提示“多个产品”。


✅ 4. 与 SELECTEDVALUE() 对比

SELECTEDVALUE() 实际上就是 IF(HASONEVALUE(), VALUES(), default) 的简写:

-- 等价于

SELECTEDVALUE(Products[产品], "多个产品")


⚠️ 四、注意事项

说明
返回值是“表”VALUES() 返回的是一张一列的表,而不是单个值
用在 IF() 时需配合 HASONEVALUE()避免 VALUES() 返回多行时报错
不等于 DISTINCT()DISTINCT() 会保留空值;VALUES() 在无上下文时返回所有值,包含空

✅ 五、总结一句话:

VALUES() 是获取当前上下文中唯一值集合的万能工具,适合做判断、去重、动态筛选等,是 DAX 中非常核心的函数之一。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值