DAX查询联合多个表并返回唯一

时间:2019-03-06 18:38:46

标签: powerbi dax

我有两个表(CompletedJobs和ScriptDetails),并且使用DAX,我想返回出现在CompletedJobs中且不出现在ScriptDetails中的不同名称。

这是我的SQL查询。工作并返回值。

Select Distinct CJ.[Name]
From CompletedJobs CJ
Left Join ScriptDetails SD
ON CJ.[Name]=SD.ActivityName
Where SD.ActivityName IS NULL

我从创建以下DAX查询开始,但是这样做,我得到以下错误消息:

“提供了多个值的表,其中预期有一个值”

AdhocJobs = DISTINCT(UNION(SELECTCOLUMNS(CompletedJobs,"Name",CompletedJobs[Name]),SELECTCOLUMNS(ScriptDetails,"Name",ScriptDetails[ActivityName])))

如何创建可复制SQL查询的DAX查询?

1 个答案:

答案 0 :(得分:1)

不是重新创建SQL,而是DAX已解决您的特定用例。 EXCEPT函数将返回一个表,其中,左侧表中的行不会出现在右侧表中。

constexpr

在这种情况下,我使用SUMMARIZE将每个表缩减为一列,然后用EXCEPT对其进行包装,以仅从完成的作业中获取名称,这些名称不是ScriptDetails中的ActivityName。

希望有帮助。