我有两个表(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查询?
答案 0 :(得分:1)
不是重新创建SQL,而是DAX已解决您的特定用例。 EXCEPT函数将返回一个表,其中,左侧表中的行不会出现在右侧表中。
constexpr
在这种情况下,我使用SUMMARIZE将每个表缩减为一列,然后用EXCEPT对其进行包装,以仅从完成的作业中获取名称,这些名称不是ScriptDetails中的ActivityName。
希望有帮助。