通过从另一个表查找来识别缺少的强制性任务

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

我有一张表格,其中列出了每个计划的强制性任务

计划类型 任务
电力 任务1
电力 任务2
管道 任务1

然后我有一张包含项目计划的表格。我想确保所有强制性任务都包含在内。因此,在下表中,您可以看到电力缺少任务 2。我们可以有额外的任务,但强制性任务必须存在。

项目编号 计划 任务
1002 电力 任务1
1002 电力 任务3
1002 管道 任务1

在Power BI中我想创建一个这样的表:

缺少强制性任务:

项目编号 计划 任务
1002 电力 任务2

我已经用谷歌搜索来寻找这个问题的帮助,但我被困住了。有人可以帮忙吗?

powerbi dax data-modeling
1个回答
0
投票

有趣的问题。如果您是 DAX 集合函数(UNION、INTERSECT、EXCEPT、CROSSJOIN)的新手,这确实是一个很好的练习。

由于 DAX 很有趣,因为它仅连接单个列,因此我在“MandatoryTasks”和“PlanTasks”表中创建了一个计算列

PlanTypeTask =  [Plan Type] & "\" & [Task]

所以表格现在看起来像这样:MandatoryTasks(Plan Type, Task, PlanTypeTask)

DISTINCT('Projects'[ProjectName])

现在我有了这两个表,我可以交叉连接它们(创建笛卡尔积...两组值的所有可能组合)。

AllProjectTasks = CROSSJOIN(VALUES('Projects'[ProjectName]),'MandatoryTasks')

然后我就做减法。

EXCEPT('AllProjectTasks','ProjectPlan')
© www.soinside.com 2019 - 2024. All rights reserved.