三列取唯一非空值合并为单列:DAX SWITCH代码咨询
你的DAX代码逻辑可行性分析
这段DAX代码的逻辑是完全可行的,完美匹配你“每行仅一列有有效值、其余为空”的场景:
SWITCH(TRUE,...)的写法会按顺序判断条件,只要触发第一个满足的条件,就返回对应的值- 代码依次检查Column1、Column2、Column3是否非空,找到第一个非空的列就提取它的值,刚好能实现你把唯一有效值合并到单独一列的需求
另外可以把代码简化得更易读,把ISBLANK([Column 1]) = FALSE改成NOT(ISBLANK([Column 1])),简化后的代码如下:
WhichForm = SWITCH ( TRUE, NOT(ISBLANK([Column 1])), [Column 1], NOT(ISBLANK([Column 2])), [Column 2], NOT(ISBLANK([Column 3])), [Column 3] )
不过原代码的逻辑本身没有任何问题,两种写法都能达到你的目标。
内容的提问来源于stack exchange,提问作者Philip
相关产品推荐
相关产品推荐

