相关文章推荐
帅气的松鼠  ·  Replace Data Sources ...·  7 月前    · 
逃跑的松鼠  ·  来自getLocationOnScreen/ ...·  1 年前    · 
傲视众生的芹菜  ·  如何在 PostgreSQL ...·  1 年前    · 
谦和的牛排  ·  Python:实现图片裁剪的两种方式——Pi ...·  2 年前    · 
愤怒的消炎药  ·  获取sonar扫描结果 - 你坚持了吗 - 博客园·  2 年前    · 
Code  ›  如何用 PowerBI DAX 度量值控制筛选开发者社区
powerbi dax
https://cloud.tencent.com/developer/article/1909953
慷慨的枕头
1 年前
作者头像
BI佐罗
0 篇文章

如何用 PowerBI DAX 度量值控制筛选

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > PowerBI战友联盟 > 如何用 PowerBI DAX 度量值控制筛选

如何用 PowerBI DAX 度量值控制筛选

作者头像
BI佐罗
发布 于 2021-12-02 15:39:33
2K 0
发布 于 2021-12-02 15:39:33
举报

如何用度量值或度量值的范围做切片器或筛选控制,是很通用的,这里给出最佳实践。

用一段 Power BI 以后,就会发现有个特点:用切片器可以筛选某个表列。但有时候,需要用度量值来控制筛选。

案例

如下:

对此,要筛选满足一定条件利润的客户。

用度量值作为筛选器 - 在视觉对象中

第一种场景,用度量值作为筛选器,且该度量值在视觉对象中。

可以直接用度量值作为筛选器,如下:

在筛选器面板可以直接使用视觉对象中已有的度量值来进行筛选。

用度量值作为筛选器 - 未在视觉对象中

第二种场景,用度量值作为筛选器,且该度量值不在视觉对象中。

但某些时候我们可能希望用视觉对象中没有的度量值作为筛选器。如下:

度量值 [KPI.利润] 不在视觉对象中,而度量值 [KPI.利润率] 在视觉对象中,这里用 [KPI.利润] 来作为条件筛选该视觉对象。

用度量值作为筛选器 - 直接用度量值控制

第三种场景,用度量值作为筛选器,且该度量值只能作为筛选器。

这是一种最复杂的场景,也是一种最强大和灵活的场景,那就是用一个度量值来承担筛选的工作,而该度量值没有任何其他业务意义。

先看一个例子,我们希望实现:

筛选:该用户买过 5 个商品且最后 30 天有消费的客户,且显示他们对应的指标。

写成度量值,如下:

筛选:该用户买过5个商品且最后30天有消费 = 
COUNTROWS( VALUES('Order'[ProductID] ) ) > 5 &&
[信息-最后交易日-全局] - [信息-最后交易日] <= 30
// 其中
信息-最后交易日-全局 = 
MAXX( ALL('Order'[OrderDate] ) , [OrderDate] )

该度量值还有两个条件,在这两个条件都为真时,整体返回真,也就是 TRUE,否则返回 FALSE。

将该过程放到矩阵中,如下:

问题来了,发现:

点击【筛选面板】【复杂条件】的【下箭头】时无反应。根据经验,==Power BI 的筛选器面板中的筛选条件并不能针对 TRUE / FALSE 结构结果的度量值做出筛选控制 ==。

因此,我们需要一个技巧。

度量值用作筛选的终极技巧

让度量值用作筛选的终极技巧就是:

  • 将筛选逻辑写入该度量值;
  • 筛选逻辑可以是任意复杂的;
  • 用数字而非 TRUE / FALSE 结构返回筛选结果。

针对最后一条,可以用 0 / 1 来表示这个结果。

上述案例可以改变如下:

筛选:该用户买过5个商品且最后30天有消费.正确版本 = 
 
推荐文章
帅气的松鼠  ·  Replace Data Sources - Tableau
7 月前
逃跑的松鼠  ·  来自getLocationOnScreen/getLocationInWindow的坐标不正确-腾讯云开发者社区-腾讯云
1 年前
傲视众生的芹菜  ·  如何在 PostgreSQL 中格式化日期? - 墨天轮
1 年前
谦和的牛排  ·  Python:实现图片裁剪的两种方式——Pillow和OpenCV - 秋寻草 - 博客园
2 年前
愤怒的消炎药  ·  获取sonar扫描结果 - 你坚持了吗 - 博客园
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号