如何在Power BI中按矩阵中的列进行排序。
让我解释一下。我有这张桌子(样品)。
有单位和等级(总是会经常添加新单位)。
我尝试在Power BI中的Matrix中显示数据,但是我完全无法按高,中或低排序。
我想按此顺序(高降序,中降序和低十二月)排序。
如何实现?我是Power BI的新手。
答案 0 :(得分:1)
诀窍是创建一个订单列,并将其与Sort by Column feature一起使用。
问题是,如果您编写这样的计算列:
Order = SWITCH(Table1[Rate], "High", 1, "Medium", 2, "Low", 3)
然后尝试对其进行排序,那么您将得到一个循环依赖项错误,基本上是说您无法按依赖于要尝试排序的列的列进行排序。
有两种解决方法。
一种可能性是在查询编辑器中创建您的订单列,该列应该是一个简单的自定义列:
if [Rate] = "High" then 1
else if [Rate] = "Medium" then 2
else if [Rate] = "Low" then 3
else 0
使用此列进行排序。
另一种可能性是根据您的订购偏好定义一个新表。
输入数据:
Rate Order
-------------
High 1
Low 3
Medium 2
调用此表Sort
,并在Rate
列上与原始表建立关系。
现在在原始表上创建一个计算列,该列将覆盖Order
值。
Order = RELATED(Sort[Order])
使用此列进行排序。
答案 1 :(得分:1)
您可以使用 RANKX 函数,然后使用它进行排序。
Sort =
var a = SELECTEDVALUE(DimTable[Rate])
Return
RANKX(
All(Table[Program]),
COALESCE(CALCULATE([Measure],Table[Rate] = a),0),
,ASC,Dense)
本文详细介绍:
https://alintelligence.tech/sort-matrix-by-selected-columns-with-rankx/