折腾手记

运维!!运维!!

0%

PowerBI自定义排序对ALL()的影响

PowerBI中自定义排序

PowerBI可以自定义排序,具体如下图

先选中需要自定义排序的列,然后在菜单中选择列工具,再选择按列排序,最后选中实际排序的列。

自定义排序对ALL()的影响

示例数据如下图

分类列依据ID列自定义排序,年月列是时间,数量列是两种分类的具体数量。

现在统计分类1的总量,度量值如下

1
分类1数量.ALL分类 = CALCULATE(SUM('数据'[数量]),'数据'[分类]="分类1")

为了便于比较,上面度量值也可以写成

1
分类1数量.ALL分类 = CALCULATE(SUM('数据'[数量]),ALL('数据'[分类]),'数据'[分类]="分类1")

这个度量值应该在任何分类中都能显示分类1的总量,但实际结果却如下表

只显示在分类1中,分类2中总量为0,不显示。

如果取消分类列的自定义排序,即按照自身排序,如图

会发现上述度量值能正确显示在两个分类中

如何解决

怎么做到既能自定义排序,又有正确的ALL的结果,根据大神Marco Russo文章,需要把两列,自定义排序列和实际排序列,都放在ALL中即可

1
分类1数量.ALL分类和ID = CALCULATE(SUM('数据'[数量]),ALL('数据'[ID],'数据'[分类]),'数据'[分类]="分类1")

结果为