DAX :: 在 Power BI 中使用 Dax 查找经理姓名和经理雇佣日期

问题描述 投票:0回答:2

我有一个员工表,显示员工编号、姓名和经理的员工编号。我正在尝试使用 Dax 创建一个查询,在 Power BI 中显示员工姓名、员工#、经理姓名和经理雇佣日期。

表格如下所示:

EMPNO ENAME  JOB       MGR  HIREDATE  SAL COMM DEPTNO 
7839  KING   PRESIDENT -    17-NOV-81 5000 -   10 
7698  BLAKE  MANAGER   7839 01-MAY-81 2850 -   30 
7782  CLARK  MANAGER   7839 09-JUN-81 2450 -   10 
7566  JONES  MANAGER   7839 02-APR-81 2975 -   20 
7654  MARTIN SALESMAN  7698 28-SEP-81 1250 1400 30 
7499  ALLEN  SALESMAN  7698 20-FEB-81 1600 300 30 
7844  TURNER SALESMAN  7698 08-SEP-81 1500 0   30 
7900  JAMES  CLERK     7698 03-DEC-81 950  -   30 
7521  WARD   SALESMAN  7698 22-FEB-81 1250 500 30 
7902  FORD   ANALYST   7566 03-DEC-81 3000 -   20 

我尝试合并为新选项并尝试了此操作,但没有成功。有人可以帮忙吗?

join dax self
2个回答
0
投票

您可以使用计算列来获取 MGR NAME 和 MGR HIREDATE。为此,你可以尝试这样的事情:

MGR NAME = 
VAR __mgr = 'Table'[MGR] // Insert your table name instead of 'Table'
RETURN
CALCULATE(MAX('Table'[ENAME]), FILTER('Table',__mgr = 'Table'[EMPNO]))

此计算列使用

VAR __mgr = 'Table'[MGR]
存储当前行上下文,然后使用相同的行上下文来获取您需要的数据。

希望有帮助。


0
投票

在您的情况下,您需要 2 个计算列,我建议您以更合适的方式对数据进行建模:

ManagerName = 
IF (
    ISBLANK(Employees[MGR ]),
    BLANK(),
    LOOKUPVALUE(Employees[ENAME], Employees[EMPNO], Employees[MGR ])
)

然后:

ManagerHireDate = 
IF (
    ISBLANK(Employees[MGR ]),
    BLANK(),
    LOOKUPVALUE(Employees[HIREDATE],Employees[EMPNO],Employees[MGR])
)
© www.soinside.com 2019 - 2024. All rights reserved.