根据过滤器动态对列进行排名

时间:2019-06-07 19:49:57

标签: powerbi dax

在Power BI中,我有下表

enter image description here

我想要的是,当您创建图形并具有过滤器时,排名列将被修改。一个例子是,当我更改排名并选择居中时,会得到如下信息:

  site    | region | nro_trabajos | ranking
----------+--------+--------------+------
OCCORO    | centro | 58           | 1
PILCOMAYO | centro | 59           | 2
SICAYA    | centro | 71           | 3

。 。 等

我生成一张表,该表为我提供了以下排名。但有联系

enter image description here

该度量为rank_measure,如该图所示

enter image description here

我可以添加此度量,以便让决胜局具有“站点”列的字母顺序,并且仍然具有区域过滤器?

1 个答案:

答案 0 :(得分:0)

关于切片器或过滤器,计算所得的列不能是动态的,但您绝对可以创建动态排名度量

ranking =
RANKX (
    ALLSELECTED ( Table1 ),
    Table1[nro_trabajos],
    MAX ( Table1[nro_trabajos] )
)

编辑: 如果您想打破平局,我认为最简单的方法是首先创建一个UniqueRank计算列:

UniqueRank =
RANKX (
    Table1,
    FORMAT ( Table1[nro_trabajos], "0000" ) & Table1[region] & Table1[site]
)

您将构成唯一行的每一列都按要排序的顺序排列,用填充有足够零的数字格式化任何数字,以使数字顺序与字母顺序匹配。

然后简单地使用此计算所得的列UniqueRank代替我上面给出的度量标准的nro_trabajos

ranking =
RANKX (
    ALLSELECTED ( Table1 ),
    Table1[UniqueRank],
    MAX ( Table1[UniqueRank] )
)