Power BI自定义列公式求助:根据PackingList值返回对应状态
DAX公式添加空值判断及修正方案
修正后的完整DAX公式(嵌套IF写法)
Column = VAR _packlist = Query2[PACKLIST_ID] RETURN IF( ISBLANK(_packlist), "Cancelled", IF( LEFT(_packlist, 2) = "66", "Asia", "Europe" ) )
公式说明
- 定义变量
_packlist存储当前行的PACKLIST_ID值,提升代码可读性 - 外层
IF优先处理空值:用ISBLANK()函数检测单元格是否为空,满足条件则返回"Cancelled" - 非空场景下,通过
LEFT(_packlist, 2)提取前2个字符,判断是否为"66":- 匹配成功返回
"Asia" - 不匹配则返回
"Europe"
- 匹配成功返回
更简洁的SWITCH写法
如果偏好更清晰的多条件判断逻辑,也可以用SWITCH函数实现:
Column = VAR _packlist = Query2[PACKLIST_ID] VAR _prefix = LEFT(_packlist, 2) RETURN SWITCH( TRUE(), ISBLANK(_packlist), "Cancelled", _prefix = "66", "Asia", TRUE(), "Europe" )
原公式的问题说明
LEFT函数未指定长度:默认仅提取第一个字符,无法准确判断是否以"66"开头,必须指定长度为2- 地区返回逻辑颠倒:原公式中
"66"开头返回"Europa",与需求的"Asia"不符
内容的提问来源于stack exchange,提问作者sroko1
相关产品推荐
相关产品推荐

