尝试在 Power BI Desktop 中使用自定义视觉对象创建组织结构图,要求是显示带有过滤数据的图表,这些数据由Slicer应用于部门列。
我遇到了自定义视觉(符合逻辑)的限制,要在视觉中获得正确的图表,数据集必须有一个根节点,在我的场景ReportsTo
列中应该null
标识为根节点。
管理在 SQL 视图中使用和逻辑在每个部门中创建Reportsto
列。但是这个已经处理过的数据,我在过滤器选择期间寻找一些东西,这样当用户在切片器自定义视觉中选择 2 个部门时不会崩溃。null
ROW_NUMBER () OVER (PARTITION BY EmpDepartment Order by EmpGrade desc
CASE
我尝试在 Power BI 桌面中遵循 DAX 来获得基于Grade
过滤数据的 RANK,不幸的是,DAX作为Measure而不是作为计算列工作,并且使用该措施我在尝试使用计算列时无法获得预期结果IF([RANK]=1,BLANK(), ('Table'[ReportsTo]))
注意:在 Power BI Desktop - 编辑查询页面中添加了索引列
RANK =
MINX (
FILTER (
SELECTCOLUMNS (
ALLSELECTED ('Table'),
"index", 'Table'[Index],
"rank", RANKX ( ALLSELECTED ( 'Table' ), 'Table'[Grade],, DESC, DENSE )
),
[index] = MAX ( 'Table'[Index] )
),
[rank]
)
)
这是示例数据,如下表所示,当部门使用IT(通过切片器)过滤时,EmpID
107ReportsTo_2
将是基于列的根节点。But visual won't work when 2 departments selected.
+-----------+------------+-------+---------------+---------+--------------+
| EmpID | ReportsTo | Grade | EmpDepartment | EmpName | ReportsTo_2
+-----------+------------+-------+---------------+---------+--------------+
| 101 | 107 | A1 | IT | Emp1 | 107
| 102 | 107 | A1 | IT | Emp2 | 107
| 103 | 107 | A1 | IT | Emp3 | 107
| 104 | 108 | A2 | Proc. | Emp1 | 108
| 105 | 108 | A2 | Proc. | Emp1 | 108
| 106 | 108 | A2 | Proc. | Emp1 | 108
| 107 | 109 | B1 | IT | Mgr1 |
| 108 | 109 | B1 | Proc. | Mgr2 |
| 109 | 110 | C2 | Management | Director|
| 110 | | D9 | Sr.Management | CEO |
+-----------+------------+-------+---------------+---------+--------------+
预期结果:我的想法是在过滤数据中获得最高null
值(按部门过滤)。ReportsTo_2
Grade
感谢您提出实现这一目标的建议。谢谢
评论中要求的用于澄清的附加信息
场景:
与自定义视觉 2 相同的场景:
附加说明 2:
我遇到的主要问题,作为Measure ,我们可以轻松获得预期结果,但作为计算列,相同的表达式没有给出预期结果。
图片链接