前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在矩阵的行上显示“其他”【1】

如何在矩阵的行上显示“其他”【1】

作者头像
陈学谦
发布2021-11-15 16:24:04
1.8K0
发布2021-11-15 16:24:04
举报
文章被收录于专栏:学谦数据运营学谦数据运营

水一篇。

有位名字是xx,也的确是xx的同学问了这么一个问题:

以下用示例数据说明。

想要的结果如下(前10名显示,后面的为others):

思路上其实非常简单:通过构建一个新的表,将销售额度量值放进去,排序,前10名用原先的类别,后面的都替换为others,拖到表中排序即可。

其实所有的问题都可以拆解为一步一步地进行设置,然后使用不同的语言来实现这些步骤,PowerBI也不过就是一个工具,重点还是上面的思路,用任何其他编程语言其实都得按照上面的思路进行,这一点我们无法否认。因此,学习编程,本质上是在学习解决问题的思路,是在学习如何将一个复杂问题拆解为一个一个简单的小问题,然后逐个击破。

而无论是在教学上,还是在工作上,生活上,诸多问题也都是这种思路。尤其是这么多年的教学工作,我深深认识到,作为一名教师,给他们传授知识与技能、过程与方法仅仅是皮毛,最核心的应该传授给他们认识问题、分析问题、拆解问题、逐个解决问题的方法论,也就是情感态度与价值观问题。

上面这个问题其实简单,解决也很快速,但是我会分为多篇文章来写,每一篇文章的最后我会放一个图,用该篇文章的办法是做不到的,但是只要再多写几步,就可以完成,大家可以先进行思考,请大家持续关注。

以下是具体步骤:

1.数据表按照子类别显示的销售额排名:

2.抽取子类别为表:

代码语言:javascript
复制
子类别表 = VALUES(data[子类别])

3.将子类别对应的销售额填上

代码语言:javascript
复制
sales = [sales]

注意此处[sales]是另一个表的度量值,在DAX圣经中,意大利人特地说明,引用度量值不带表,引用列必须用表。

4.排序:

代码语言:javascript
复制
sales.rankx = RANKX('子类别表','子类别表'[sales])

注意此处的[sales]是表的列,所以必须带着表名。

5.新的名称:

代码语言:javascript
复制
子类别2 = IF([sales.rankx]<=10,[子类别],"others")

排序后大于10的都显示为others。

5.上图,按照销售额或者百分比排序:

OK了!基本上满足了小白的要求。

当然,美中不足的是,因为others这一行在中间,看着就有点别扭。按照我个人的习惯,是前10行从大到小排列的子类别,最后一行显示others,如下图所示:

这个问题解决起来也不是很困难,关注【学谦数据运营】,下一篇详细解

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-11-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PowerBI生命管理大师学谦 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档