Power BI嵌套IF函数报错排查:DAX代码功能实现求助
DAX代码问题排查与修正
原代码存在的问题
- 表名拼写错误:第二个IF条件里的
' Rawdata'[Country]多了一个空格,DAX对表名的空格敏感,会导致无法正确识别表对象。 - 冗余逻辑判断:第一个IF已经过滤了非AU/NZ的情况,第二个IF无需重复判断
Country=AU或NZ,属于多余代码。 - 未处理匹配失败的错误:当
Sheet1[Material]匹配不到Rawdata[SKU]时,LOOKUPVALUE会直接返回错误值,而非用户期望的"No",需要添加错误捕获逻辑。
修正后的DAX代码
MA2 = IF( AND('Rawdata'[Country] <> "AU", 'Rawdata'[Country] <> "NZ"), "", IFERROR( LOOKUPVALUE(Sheet1[Manual Allocation], Sheet1[Material], 'Rawdata'[SKU]), "No" ) )
逻辑说明
- 当
Country既不是AU也不是NZ时,返回空值 - 若
Country为AU或NZ,执行以下逻辑:- 通过
LOOKUPVALUE匹配Rawdata[SKU]与Sheet1[Material],匹配成功则返回Manual Allocation对应值 - 若匹配失败,
IFERROR捕获错误并返回"No"
- 通过
内容的提问来源于stack exchange,提问作者NorwegianLatte
相关产品推荐
相关产品推荐

