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

问题描述

我是 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   |

请告诉我如何实现这一点

解决方法

有关计算列,请参阅以下 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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...