首页 > 解决方案 > 将选择查询转换为 DAX 表达式

问题描述

我试图将一些 SQL 查询转换为 DAX,但我不知道从哪里开始。

SELECT jobid,Fullname
FROM public."Data"  
WHERE jobid IN (
     SELECT jobid
     FROM public."Data"
     GROUP BY jobid
     HAVING max(case when Userid = '21' then 1 else 0 end) = 0) 
ORDER BY jobid ASC;

数据如下所示:
在此处输入图像描述

我想要用户 ID 21(Ed 花生)不在 jobid 上的 jobid 行(对不起这个模糊的解释,我的英语不是那么好)。

所以我的结果看起来像这样:
在此处输入图像描述

我认为我的 SQL 查询正是这样做的,但现在我在 DAX 中需要它。你们能帮帮我吗?:)

标签: sqlpowerbidax

解决方案


您可以汇总jobid包含 required 的值userid,然后使用NOTandIN过滤您的表:

NewTable = 
VAR ExcludeJobs = 
    SUMMARIZECOLUMNS ( 
        Data[jobID],
        FILTER ( 
            Data,
            Data[Userid] = 21
        )
    )
RETURN
    FILTER ( 
        Data,
        NOT ( Data[jobID] IN ExcludeJobs )
    )

推荐阅读