DAX计算列因变体数据类型报错,求表达式修正方法
DAX计算列报错修复方案
原DAX表达式
Z In-Yr Rate Inc. (Contract Eff.) = IF ( 'Sales Force_Opportunity'[Z In-Yr Rate Inc. (by Close Dt. Yr)] = "", "", 'Sales Force_Opportunity'[Contract_Effective_Date__c] )
报错信息
生成变体数据类型的表达式不能用于定义计算列
备注:'Sales Force_Opportunity'[Z In-Yr Rate Inc. (by Close Dt. Yr)]为整数列,需尽可能保持整数类型
问题原因
- 整数列的空值是
BLANK()而非空文本"",用= ""判断整数列空值的逻辑本身错误 - IF函数两个分支返回值类型不统一:一个是空文本(字符串类型),另一个是日期类型,DAX计算列要求必须返回单一数据类型
修改方案
方案1:返回日期或符合日期类型的空白
如果需求是保留返回日期的逻辑,将空文本替换为BLANK(),同时修正空值判断条件:
Z In-Yr Rate Inc. (Contract Eff.) = IF ( ISBLANK('Sales Force_Opportunity'[Z In-Yr Rate Inc. (by Close Dt. Yr)]), BLANK(), 'Sales Force_Opportunity'[Contract_Effective_Date__c] )
方案2:返回整数或空白(贴合备注的整数类型需求)
如果实际需求是基于整数列返回对应整数或空白(而非日期),调整返回值为整数列本身或BLANK():
Z In-Yr Rate Inc. (Contract Eff.) = IF ( ISBLANK('Sales Force_Opportunity'[Z In-Yr Rate Inc. (by Close Dt. Yr)]), BLANK(), 'Sales Force_Opportunity'[Z In-Yr Rate Inc. (by Close Dt. Yr)] )
内容的提问来源于stack exchange,提问作者Chasity
相关产品推荐
相关产品推荐

