DAX 语法 - if 与 switch
DAX Syntax - if versus switch
需要有关正确语法的帮助。我需要根据 3 列(年、服务年限、终止)确定服务年限是否介于以下标准之间或终止列是否有日期。
IF(["#YearsofService"]=>2,"2+ Years" else "Less than 2 Years") else Terminate(has a date) is not null.
这将用于显示条件文本的新列。
也试过Switch功能
=SWITCH(TRUE()
[#"#YearsofService"] >=2,"2 + Years" & [#"#YearsofService"] <2, "Less Than 2 Years",
isblank([Term Date]), "Termed"
)
也试过:
IF(ISBLANK([Term Date])=false, "Termed",IF([#"#YearsofService"] >=2,"2 + Years","Less Than 2 Years"))
但不喜欢语句的 If 部分
在您的示例中,您只使用了两个提到的列(服务年限和终止)。我想声明应该是这样的:
Result = IF(ISBLANK([Term Date]);IF([#"#YearsofService"]<2;"Less than 2 years";"More than 2 years");"Termed")
我认为 SWITCH TRUE 是满足这种多重测试要求的最佳解决方案。 TRUE 之后的测试顺序很关键——DAX 将在第一个 TRUE 结果出现后停止评估。所以这是我的尝试:
=SWITCH(TRUE()
, NOT(ISBLANK([Term Date])), "Termed"
, [#YearsofService] >=2,"2 + Years"
, [#YearsofService] <2, "Less Than 2 Years"
)
需要有关正确语法的帮助。我需要根据 3 列(年、服务年限、终止)确定服务年限是否介于以下标准之间或终止列是否有日期。
IF(["#YearsofService"]=>2,"2+ Years" else "Less than 2 Years") else Terminate(has a date) is not null.
这将用于显示条件文本的新列。
也试过Switch功能
=SWITCH(TRUE()
[#"#YearsofService"] >=2,"2 + Years" & [#"#YearsofService"] <2, "Less Than 2 Years",
isblank([Term Date]), "Termed"
)
也试过:
IF(ISBLANK([Term Date])=false, "Termed",IF([#"#YearsofService"] >=2,"2 + Years","Less Than 2 Years"))
但不喜欢语句的 If 部分
在您的示例中,您只使用了两个提到的列(服务年限和终止)。我想声明应该是这样的:
Result = IF(ISBLANK([Term Date]);IF([#"#YearsofService"]<2;"Less than 2 years";"More than 2 years");"Termed")
我认为 SWITCH TRUE 是满足这种多重测试要求的最佳解决方案。 TRUE 之后的测试顺序很关键——DAX 将在第一个 TRUE 结果出现后停止评估。所以这是我的尝试:
=SWITCH(TRUE()
, NOT(ISBLANK([Term Date])), "Termed"
, [#YearsofService] >=2,"2 + Years"
, [#YearsofService] <2, "Less Than 2 Years"
)