本文分享一个PowerBI中自定义排序可能会遇到的问题以及解决的办法。
以这样一个应收明细为例,模拟的每个客户不同账龄的应收余额:
如果想要展示各账龄应收余额占该客户总应收余额的占比,你可能会这样写个度量值:
应收 占比 =
DIVIDE(
(word文档如何改变改写状态)(word文档如何改jpg)
SUM('应收明细表'[应收余额]),
CALCULATE(
SUM('应收明细表'[应收余额]) ,
ALL( '应收明细表'[账龄] )
)
)
用PowerBI做一个矩阵,是这样的效果:
看起来计算的结果是正确的,但是列标题上账龄显示的顺序却是错乱的,不是我们想要的按照账期长短的顺序。
这样的问题是不是都遇到过?应该怎么调整为期望的顺序结构呢。
其实只要熟练掌握之前分享过的按列排序技巧就可以解决,参考:
这个小功能可以快速搞定文本排序,很多人却没注意到!
根据按列排序的规则,首先需要为这些账龄添加一个序号列,以方便排序。在不破坏原表结构的情况下,可以新建一个单独的账龄分组表:
关于辅助表的制作,可以参考:Power BI 辅助表制作方式汇总
对这个表的账龄列,按照序号列排序,操作方式如下:
然后将这个表与应收余额表建立关系:
并将矩阵的列标题替换为账龄分组表中的账龄,度量值也调整为账龄分组表的字段:
应收 占比 =
DIVIDE(
SUM('应收明细表'[应收余额]),
CALCULATE(
SUM('应收明细表'[应收余额]) ,
ALL( '账龄分组表'[账龄] )
)
)
做完这样的操作以后,发现矩阵变成了这样的:
虽然列标题的顺序对了,但是值却全部变成了100%,这是什么原因呢?
因为对账龄列做按列排序以后,再用这个字段做可视化,上下文就不仅仅是这个字段本身,实际上还隐含了序号列,所以才能将文本按照一定的顺序展示。
既然上下文中隐含的有序号列,在度量值中将序号列也ALL掉就可以了:
应收 占比 =
DIVIDE(
SUM('应收明细表'[应收余额]),
CALCULATE(
SUM('应收明细表'[应收余额]) ,
ALL( '账龄分组表'[账龄] , '账龄分组表'[序号] )
)
)
更省心的做法,为了避免出错,这里也可以直接ALL整个分组表:
应收 占比 =
DIVIDE(
SUM('应收明细表'[应收余额]),
CALCULATE(
SUM('应收明细表'[应收余额]) ,
ALL( '账龄分组表' )
)
)
度量值这样修改以后,就可以按照正确的顺序准确显示了:
以上就是在不改动原数据的情况下,对文本字段进行自定义排序的技巧,关键是正确的操作按列排序,以及排序后根据上下文的变化调整度量值的写法。
如果你再遇到类似的问题,套用上面的解决思路就行了。
其他精彩推荐
采悟 | PowerBI星球
声明:我要去上班所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者所有,原文出处。若您的权利被侵害,请联系删除。
本文标题:(word标题编号错乱)(word 标题编号消失)
本文链接:https://www.51qsb.cn/article/4989.html