如何在 Power BI 中通过 DAX 公式查找直接报告的计数?
How to find count of Direct Reporting's by DAX formula in Power BI?
美好的一天!我有一个示例员工 table,如下所示。我需要 Power BI 中的 DAX 公式来创建一个度量来计算每个员工的直接报告数量。例如,GL0001 的直接报告数将为 2(因为 GL0001 是 GL0002 和 GL0019 的直属经理,他们向 GL0001 报告),EMP-02023 的直接报告数将为 3,GL0002 的直接报告数将为 3 . 也请帮我制定关于只有一名直属下属和少于三名直属下属的措施
| Employee ID | Line Manager ID | Layer (of Employee) | Layer (of Line Manager) |
|--------------|-------------------|----------------------|--------------------------|
| EMP-01980 | GL0003 | 4 | 3 |
| EMP-02023 | EMP-02015 | 6 | 5 |
| EMP-01636 | EMP-02015 | 6 | 5 |
| EMP-02138 | EMP-02162 | 6 | 5 |
| EMP-02145 | EMP-01980 | 5 | 4 |
| GL0023 | GL0022 | 5 | 4 |
| GL0001 | | 1 | 0 |
| GL0002 | GL0001 | 2 | 1 |
| GL0003 | GL0002 | 3 | 2 |
| GL0019 | GL0001 | 2 | 1 |
| GL0020 | GL0002 | 3 | 2 |
| GL0024 | GL0002 | 3 | 2 |
| EMP-01918 | EMP-00791 | 9 | 8 |
| EMP-01941 | EMP-00791 | 9 | 8 |
| EMP-02019 | EMP-02156 | 8 | 7 |
| EMP-02024 | EMP-02023 | 7 | 6 |
| EMP-02025 | EMP-02023 | 7 | 6 |
| EMP-03001 | EMP-02023 | 7 | 6 |
您的数据没有每个 Line Manager ID
的所有 Employee ID
。这意味着 PATH
计算将不起作用。
我假设你的数据是这样的
Employee ID
Line Manager ID
1000001
1000002
1000001
1000003
1000002
1000004
1000003
1000005
1000004
1000006
1000005
1000007
1000006
1000008
1000007
1000009
1000006
1000010
1000003
创建计算列您可以计算 PATH
和 PATH SIZE
路径
Path = path('Table'[Employee ID],'Table'[Line Manager ID])
路径大小
Path Length = PATHLENGTH([Path])
输出
编辑
在这种情况下,您可以使用 Line Manager ID
列来计算直接下属,在下面进行测量。
DAX:计算列
CountDirectReport =
VAR EmpId = [Employee ID]
RETURN
CALCULATE (
COUNTROWS ( 'Table' ),
FILTER ( 'Table', [Line Manager ID] = EmpId )
)
输出
美好的一天!我有一个示例员工 table,如下所示。我需要 Power BI 中的 DAX 公式来创建一个度量来计算每个员工的直接报告数量。例如,GL0001 的直接报告数将为 2(因为 GL0001 是 GL0002 和 GL0019 的直属经理,他们向 GL0001 报告),EMP-02023 的直接报告数将为 3,GL0002 的直接报告数将为 3 . 也请帮我制定关于只有一名直属下属和少于三名直属下属的措施
| Employee ID | Line Manager ID | Layer (of Employee) | Layer (of Line Manager) |
|--------------|-------------------|----------------------|--------------------------|
| EMP-01980 | GL0003 | 4 | 3 |
| EMP-02023 | EMP-02015 | 6 | 5 |
| EMP-01636 | EMP-02015 | 6 | 5 |
| EMP-02138 | EMP-02162 | 6 | 5 |
| EMP-02145 | EMP-01980 | 5 | 4 |
| GL0023 | GL0022 | 5 | 4 |
| GL0001 | | 1 | 0 |
| GL0002 | GL0001 | 2 | 1 |
| GL0003 | GL0002 | 3 | 2 |
| GL0019 | GL0001 | 2 | 1 |
| GL0020 | GL0002 | 3 | 2 |
| GL0024 | GL0002 | 3 | 2 |
| EMP-01918 | EMP-00791 | 9 | 8 |
| EMP-01941 | EMP-00791 | 9 | 8 |
| EMP-02019 | EMP-02156 | 8 | 7 |
| EMP-02024 | EMP-02023 | 7 | 6 |
| EMP-02025 | EMP-02023 | 7 | 6 |
| EMP-03001 | EMP-02023 | 7 | 6 |
您的数据没有每个 Line Manager ID
的所有 Employee ID
。这意味着 PATH
计算将不起作用。
我假设你的数据是这样的
Employee ID | Line Manager ID |
---|---|
1000001 | |
1000002 | 1000001 |
1000003 | 1000002 |
1000004 | 1000003 |
1000005 | 1000004 |
1000006 | 1000005 |
1000007 | 1000006 |
1000008 | 1000007 |
1000009 | 1000006 |
1000010 | 1000003 |
创建计算列您可以计算 PATH
和 PATH SIZE
路径
Path = path('Table'[Employee ID],'Table'[Line Manager ID])
路径大小
Path Length = PATHLENGTH([Path])
输出
编辑
在这种情况下,您可以使用 Line Manager ID
列来计算直接下属,在下面进行测量。
DAX:计算列
CountDirectReport =
VAR EmpId = [Employee ID]
RETURN
CALCULATE (
COUNTROWS ( 'Table' ),
FILTER ( 'Table', [Line Manager ID] = EmpId )
)