DAX语法 - if与switch

时间:2016-03-25 17:37:18

标签: dax powerquery

需要正确语法的帮助。如果服务年限介于以下标准或Terminate列有日期,我需要根据3列(年份,服务年限,终止)确定。

=SWITCH(TRUE() [#"#YearsofService"] >=2,"2 + Years" & [#"#YearsofService"] <2, "Less Than 2 Years", isblank([Term Date]), "Termed" )这将是一个显示标准文本的新列。

也试过Switch功能。

IF(ISBLANK([Term Date])=false, "Termed",IF([#"#YearsofService"] >=2,"2 + Years","Less Than 2 Years"))

也尝试过:

deadloop

但不喜欢声明的If部分

2 个答案:

答案 0 :(得分:0)

在您的示例中,您只使用了两个提到的列(服务年限和终止时间)。我想这句话应该是这样的:

$ swift --version
Swift version 3.0-dev (LLVM b361b0fc05, Clang 11493b0f62, Swift 24a0c3de75)
Target: x86_64-unknown-linux-gnu

答案 1 :(得分:0)

我认为SWITCH TRUE将是这种多测试要求的最佳解决方案。 TRUE之后的测试序列至关重要 - DAX将在第一个TRUE结果被触发后停止评估。所以这是我的尝试:

=SWITCH(TRUE() , NOT(ISBLANK([Term Date])), "Termed" , [#YearsofService] >=2,"2 + Years" , [#YearsofService] <2, "Less Than 2 Years" )