公式报错:运算符“+”不支持TEXT+NUMBER,上周运行正常现失效
报错产生原因
- 核心触发逻辑是加法运算的两个操作数存在文本类型字段:
First Duration、Second Duration至少有一个字段的类型被调整为了TEXT类型,上周两个字段均为NUMBER类型,因此加法运算可正常执行。 - 小概率场景为字段类型未调整,但近期新增的字段值中包含非数字字符,系统原本的隐式类型转换逻辑失效,触发类型校验报错。
修复方法
将两个参与加法运算的字段先强制转换为数字类型即可,调整后的公式如下:
COUNT_DISTINCT(CASE WHEN TO_NUMBER(First Duration) + TO_NUMBER(Second Duration) <=24 THEN New ID ELSE NULL END ) / COUNT_DISTINCT(CASE WHEN First Duration IS NULL THEN NULL WHEN Second Duration IS NULL THEN NULL ELSE New ID END )
如果存在字段值无法转换为数字的场景,可以额外增加有效性判断避免转换报错,可根据你使用的工具内置函数调整对应判断逻辑:
COUNT_DISTINCT(CASE WHEN ISNUMBER(First Duration) AND ISNUMBER(Second Duration) AND TO_NUMBER(First Duration) + TO_NUMBER(Second Duration) <=24 THEN New ID ELSE NULL END ) / COUNT_DISTINCT(CASE WHEN First Duration IS NULL THEN NULL WHEN Second Duration IS NULL THEN NULL ELSE New ID END )
内容的提问来源于stack exchange,提问作者naj
相关产品推荐
相关产品推荐

