Power BI新手求助:如何按矩阵中March 2018列降序排序
解决Power BI矩阵按动态生成列排序的问题
嘿,作为Power BI新手遇到这种动态列排序的问题很正常,我来一步步帮你搞定!
首先要明确:你的March 2017和March 2018是从单个Period列透视生成的动态列,不是模型里的固定物理列,所以没法直接选它们来排序,得用自定义度量值来实现需求。
步骤1:创建排序用的度量值
首先新建一个度量值,专门用来抓取每个Code对应的March 2018数值,DAX公式如下(记得替换成你自己的表名和数值列名):
Sort Value - March 2018 = VAR March2018Data = CALCULATE( SUM(你的表名[数值列名]), // 如果每个Code对应唯一值,用MAX也可以 你的表名[Period] = "March 2018" ) // 处理空值:把空值替换成极小值,这样降序时空值会排在最后 RETURN IF(ISBLANK(March2018Data), -9999, March2018Data)
比如你的示例里,这个度量值会返回AAC=11,AAH=10,AAF=2,AAD和AAT=-9999。
步骤2:配置矩阵排序
- 先把这个新创建的度量值添加到矩阵的值区域(暂时不用管显示,后面可以隐藏)
- 选中矩阵里的
Code列(行区域的字段) - 在右侧「可视化」面板的「排序」选项中,选择我们刚创建的
Sort Value - March 2018,然后设置排序方向为降序
步骤3:隐藏排序度量值(可选)
如果不想在矩阵里看到这个排序用的度量值列,右键点击该列,选择「隐藏」即可。
这样设置后,你的矩阵就会按照March 2018的数值降序排列:AAC(11)→ AAH(10)→ AAF(2)→ AAD(空)→ AAT(空),这才是正确的降序逻辑(你提供的示例里AAH的位置可能是笔误哦)。
内容的提问来源于stack exchange,提问作者Fiona
相关产品推荐
相关产品推荐

