如何在 Power BI 中基于两列生成排名

时间:2021-06-02 18:42:34

标签: powerbi dax ranking

我是 Power BI 的新手,需要一些有关 Power BI RANKX 功能的帮助

所以场景是我的员工表中有 Emp nameemp_id 字段,并且我有办公室表中的 office_distanceemp id 列。

我想在我的视觉对象中创建一列,其中包含基于距离和名称的排名。

示例:

| EmpName | off_dist | Rank |
|-------- |----------|------|
|    A    |    10    |  1   |
|    A    |    20    |  2   |
|    A    |    30    |  3   |
|    B    |    20    |  3   |
|    B    |    10    |  1   |
|    B    |    15    |  2   |

请告诉我如何实现这一点

1 个答案:

答案 0 :(得分:0)

有关计算列,请参阅以下 DAX 公式。如果这篇文章有帮助,那么请考虑接受它作为帮助其他成员更快找到它的解决方案。

  1. 创建一个列以按员工姓名进行排名

    Rank EName = RANKX(ALL(Table), U381[Table], ,ASC, Dense)
    
  2. 创建另一列以按员工姓名和办公距离进行排名。

    Ranking on EName and Distance = 
    VAR X = MAX('Table'[Rank E_Name])
    
    var result = 
          RANKX(
             ALL(Table),
             Table[O_Distance] * X + Table[Rank E_Name], ,
             ASC
           )
    
    RETURN 
          result
    

Output