DAX IF(OR( 和 LOOKUPValue 合二为一

DAX IF(OR( and LOOKUPValue in one

刚开始使用 PowerBI 和 DAX,但想看看它是否是我的某些报告的更好选择。

我正在尝试在 PowerBI 中复制 Excel 中的公式,但似乎无法做到!

该公式是一个带有 OR/AND(嵌套)的 IF 语句,最后是一个 vlookup。我缩短了 IF 的一部分(或使用命名范围和计数 - 见下文

IF(AND(Client_Name="Client 1",Scheme_Name="Scheme 1"),"Team 1",IF(AND(Client_Name="Client 2",Scheme_Name="Scheme 2"),"Team 2",IF(AND(Client_Name="Dummy",Handling_Team_Name="Team 3"),"Team 3",IF(COUNTIF(C_Team_Helper,Client_Name),VLOOKUP(Scheme_Name,'Team Helper 123'!$A:$C,3,FALSE),""))))

其中 'C_Team_Helper' 是命名范围,它只是在包含客户列表的另一个 sheet 上找到的一个列。

正在努力使用 DAX 来模仿这一点!我有两个 sheet,我当前失败的尝试如下

ClientTrigger = 
SWITCH(
    TRUE(),
    Sheet1[Client Name] = "Client 1" && Sheet1[Scheme Name] = "Scheme 1" ,"Team 1",
    Sheet1[Client Name] = "Cleint 2" && Sheet1[Scheme Name] = "Scheme 2" ,"Team 2",
    Sheet1[Client Name] = "Dummy" && Sheet1[Scheme Name] = "Scheme 3", "Team 3",

    Sheet1[Client Name] = CONTAINS('Team Helper - Setup','Team Helper - Setup'[Team Helper],Sheet1[Client Name]),

        CALCULATE (
        FIRSTNONBLANK ( 'Team Helper - Setup'[Team], 1 ),
        FILTER ( ALL ( 'Team Helper - Setup'), 'Team Helper - Setup'[Scheme Name] = Sheet1[Scheme Name])
        )) 

真的很感谢任何帮助,我已经尝试了我通常的 google 来得到答案,这让我更接近了,但没有运气:(

经过一番尝试,我相信我已经弄明白了 -

ClientTrigger = 

VAR Client = Sheet1[Client Name]
VAR Scheme = Sheet1[Scheme Name]
VAR HandlingTeam = Sheet1[Handling_Team_Name]
VAR GetTeam = CALCULATE (
                FIRSTNONBLANK ( 'Team Helper - DAX'[Team], 1 ),
                FILTER ( ALL ( 'Team Helper - DAX'), 'Team Helper - DAX'[Scheme] = Sheet1[Scheme Name])
                )
VAR Matching =  CALCULATE(COUNTROWS('Team Helper - DAX'), FILTER('Team Helper - DAX', 'Team Helper - DAX'[Team Helper]=Sheet1[Client Name])) > 0

RETURN
    SWITCH(
        TRUE(),
        Client = "Client 1" && Scheme = "Scheme 1" ,"Team 1",
        Client = "Client 2" && Scheme = "Scheme 2" ,"Team 2",
        Client = "Dummy" && HandlingTeam = "Team 3", "Team 3",
        Matching = TRUE(), GetTeam
    )

这与我使用 Excel 公式得到的结果相同,并且使用变量有助于整理 DAX 表达式的整体外观。

有没有聪明的人想看一眼,看看有没有明显的错误?如果不是,我认为这可以满足我的需要:)