设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
首页
Portal
云发课堂
考试中心
知识库
大会员
交流
BBS
帮助中心
搜索
搜索
BIM知识资料库
PBI大会员
房建施工VIP
建筑识图
excel案例分析
bim三维建模
办公软件VIP
商业数据分析师
QQ客服
QQ客服
微信客服
微信扫一扫
本版
文章
帖子
用户
云发教育
»
交流
›
PBI数据处理
›
知识资料
›
DAX中如何实现动态TOPN and Others
1
2
3
4
5
6
7
8
9
10
... 19
/ 19 页
下一页
返回列表
发新帖
[知识体系]
DAX中如何实现动态TOPN and Others
[复制链接]
247991
|
181
|
2021-2-22 14:17:23
|
显示全部楼层
|
阅读模式
这是一个来自群里一位学员的提问,问题有一定的实际应用价值,值得研究一下。
使用视觉级筛选器实现 TOPN
我们已经可以方便的用视觉筛选器筛选出 topn,但还不能把剩余成员归入一个单独的分组。
可以创建计算列生成排名,根据排名来分组,这是一种静态方式。即不能感知外部筛选条件,比如从看 top5 变为看 top10,成员的数量变化,需要重新定义计算列;从查看全局的 top5 变为只看某个地区的 top5,也要重新定义计算列。
静态分组示意图
鉴于静态分组缺少灵活性,实现动态分组无疑更有价值。因为表格和图表的展现方式有所不同,我介绍两种方法。
数据源是一张超市订单表,根据销售额统计 topn 顾客和 others
新建一个 TOPN 表,用于存放排名
表格
表格可以显示多个列,适用于组别和组内的成员同时展现的场景
遗憾的是目前表格和矩阵视图都不支持折叠组,我用另外一个自定义控件 AP Matrix 模拟了折叠后的效果。
如果是 Excel 透视表,你可以发挥最大的灵活性,自由地折叠和展开
因为数据源不包含分组名称,先创建一个虚拟表 group
topx 存放筛选器选出的前 x 名顾客,其他顾客放入 others,如何实现这一步是解决问题的关键。用一句话描述:为每个顾客计算排名,排名小于等于 x 的归入 topx 组,排名大于 x 的归入 others 组。公式如下
提示:公式生效的前提是 group 和客户名称都放到行,否则 selectedvalue 返回空值,整个公式也为空。
每个组都对所有顾客计值,但只返回符合要求的顾客
对于 filter 内部而言,公式只计算一个客户,即外部上下文限定的客户,计算他在所有顾客中的销售额排名,并判断是否符合限定条件。
如果只计算某个地区的特定排名,只需要添加一个地区 筛选器,不需要修改公式,Rankx 中[销售额]会感知外部筛选条件的变化
这个方法最早由 Rob Collie 于 2014 年分享在自己的博客上,名为“Displaying Top N, Bottom N, and “All Others”. 后来 Excelhome 上有一个帖子也用了类似的方法,但名字已经记不得了。
这是一种很巧妙的解法,尤其适合在 excel 里使用,值得掌握,但不适合用于所有可视化场景,因为在图表里通常需要把 topx 明细和 others 组放到一起展示:
如果图表的 Y 轴能像透视表那样可以选择性折叠,情况就简单多了,直接套用上面的公式就能解决问题。但目前我们不得不换一种方法。
图表
顾客列表中原本没有 others,为了实现最终效果,新建一个包含 others 的顾客虚拟表:
客户列表+others = UNION(VALUES(‘订单'[客户名称]),ROW(“客户名称”,”其他客户”))
新表保持独立,不与原表建立关系,先来看下最终效果
左边的图用了一个度量值,右边和下边的图使用了 topx 和 others 两个度量值,这么做的好处是保证 top 顾客按销售额降序排列的同时,其他客户这个分组可以位于最下面,还能指定不同的颜色。
下面的柱形图使用了双 Y 轴,看起来不像上面那么突兀了,不过目前支持双 Y 轴的图表不多,只有 5 种,不包含内置的条形图和柱形图。
左图使用的度量值
右图和下图使用的度量值
提示:图表用的度量值写法和表格几乎相同,只是多了一步用 TREATAS 映射虚拟顾客列表和模型中的顾客列表(’订单'[客户名称])
https://www.oraylis.de/blog/show-top-n-and-rest-in-power-bi
如果你感兴趣,可以研究一下这个帖子,作者给出了另外一种写法,只是过于复杂。
从条形图效果上看,如果其他顾客组的总销售额过大,top 顾客会变得难以辨认,所以请根据实际情况选择合适的图表。
回复
使用道具
举报
powerfive
|
2021-4-26 09:53:45
|
显示全部楼层
支持一下云发教育!
回复
使用道具
举报
风云1号
|
2021-6-18 06:40:44
|
显示全部楼层
我也顶起出售广告位
回复
使用道具
举报
逆风而行
|
2021-6-18 14:22:11
|
显示全部楼层
不错不错.,..我一直很喜欢
回复
使用道具
举报
QQ小敏
|
2021-8-19 14:20:49
|
显示全部楼层
占位编辑
回复
使用道具
举报
快乐周末
|
2021-8-20 11:38:57
来自手机
|
显示全部楼层
我擦!我要沙发!
回复
使用道具
举报
★德仔★
|
2021-8-21 13:36:55
|
显示全部楼层
我也顶起出售广告位
回复
使用道具
举报
小虎
|
2021-9-12 06:18:47
来自手机
|
显示全部楼层
这个不错,学习了
回复
使用道具
举报
笑眯眯
|
2021-11-4 08:44:29
来自手机
|
显示全部楼层
不错 支持下
回复
使用道具
举报
weimei
|
2021-11-10 15:48:50
来自手机
|
显示全部楼层
佩服佩服!
回复
使用道具
举报
下一页 »
1
2
3
4
5
6
7
8
9
10
... 19
/ 19 页
下一页
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
QQ登录
微信登陆
手机登录
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
XF
5
主题
0
回帖
89
积分
超级版主
积分
89
加好友
发消息
回复楼主
返回列表
问答互助
知识资料
图文推荐
PowerPivot与数据透视表初探
2021-02-19
2019年个税专项附加扣除信息表数据汇总 获取不同工作簿某...
2020-08-05
不用VBA,不用SQL语句,且看 POWER QUERY 快速合并多个Excel工..
2021-02-19
如果用PQ拆分不固定行表格
2020-09-25
物料单位换算率格式转换
2020-08-05
热门排行
1
PowerPivot与数据透视表初探
2
快来学习 Power Query 吧,屌爆了的Excel加
3
进一步综合介绍 Power Query 使用方法
4
2019年个税累进算法
5
2019年个税专项附加扣除信息表数据汇总 获
6
BIM族库-电气-电气设备-监控设备
7
不用VBA,不用SQL语句,且看 POWER QUERY
8
bim软件应用-族文件-双人漫步训练器
9
Power Query For excel语言规范中文翻译
10
新人报到,请多多赐教