计算用户平均错误修复天数的DAX查询在Import模式失效求协助
解决Import模式下DAX平均错误修复天数计算失效问题
原DAX查询在Direct Query模式正常,但Import模式失效的核心原因是空值判断逻辑不匹配:
- Direct Query模式下,数据源的NULL会以字符串"NULL"的形式传递;
- Import模式下,Power BI会将数据源的NULL识别为DAX原生的
BLANK()值,而非字符串。
修改后的DAX代码(兼容两种模式):
AvgErrorFixDays = AVERAGEX( FILTER( New_Errors, NOT(ISBLANK(New_Errors[fix_date])) && NOT(ISBLANK(New_Errors[error_date])) ), DATEDIFF(New_Errors[error_date], New_Errors[fix_date], DAY) )
关键调整说明:
- 用
ISBLANK()替代字符串比较<> "NULL",这是DAX中检测空值的标准方法,同时适配Direct Query和Import模式; - 通过
NOT()取反,确保只筛选出error_date和fix_date均不为空的记录; - 若
error_date或fix_date是文本类型,需先转换为日期格式,可嵌套DATEVALUE()函数,例如DATEVALUE(New_Errors[error_date])。
内容的提问来源于stack exchange,提问作者Vishnu
相关产品推荐
相关产品推荐

