ADF 数据流:将 null 分配给否定结果
ADF dataflow: to assign null to a negative result
如果总小时数小于之前的总小时数,我需要加载 null 否则差值
iif(lesser(TOTAL_HOURS, PREVIOUS_TOTAL_HOURS),null(),TOTAL_HOURS-PREVIOUS_TOTAL_HOURS)
它给我的表达式无法计算。
并非所有行都有这些字段的值,其中一些为空。它们是数据库中的数字字段。
我只想用空值替换负结果
如果你查看文档 iif 它说
iif(<condition> : boolean, <true_expression> : any, [<false_expression> : any]) => any
Based on a condition applies one value or the other. If other is
unspecified it is considered NULL. Both the values must be
compatible(numeric, string...).
现在按照你的说法:
iif(lesser(TOTAL_HOURS, PREVIOUS_TOTAL_HOURS),null(),TOTAL_HOURS-PREVIOUS_TOTAL_HOURS)
因为您提到的第一个值是 null
类型,它期望 TOTAL_HOURS-PREVIOUS_TOTAL_HOURS
也必须 return 相同类型 null
你可以试试的是:
iif(lesser(TOTAL_HOURS, PREVIOUS_TOTAL_HOURS),toInteger(null()),TOTAL_HOURS-PREVIOUS_TOTAL_HOURS)
或
case(TOTAL_HOURS < PREVIOUS_TOTAL_HOURS, toInteger(null()), minus(TOTAL_HOURS,PREVIOUS_TOTAL_HOURS) )
如果总小时数小于之前的总小时数,我需要加载 null 否则差值
iif(lesser(TOTAL_HOURS, PREVIOUS_TOTAL_HOURS),null(),TOTAL_HOURS-PREVIOUS_TOTAL_HOURS)
它给我的表达式无法计算。
并非所有行都有这些字段的值,其中一些为空。它们是数据库中的数字字段。
我只想用空值替换负结果
如果你查看文档 iif 它说
iif(<condition> : boolean, <true_expression> : any, [<false_expression> : any]) => any
Based on a condition applies one value or the other. If other is unspecified it is considered NULL. Both the values must be compatible(numeric, string...).
现在按照你的说法:
iif(lesser(TOTAL_HOURS, PREVIOUS_TOTAL_HOURS),null(),TOTAL_HOURS-PREVIOUS_TOTAL_HOURS)
因为您提到的第一个值是 null
类型,它期望 TOTAL_HOURS-PREVIOUS_TOTAL_HOURS
也必须 return 相同类型 null
你可以试试的是:
iif(lesser(TOTAL_HOURS, PREVIOUS_TOTAL_HOURS),toInteger(null()),TOTAL_HOURS-PREVIOUS_TOTAL_HOURS)
或
case(TOTAL_HOURS < PREVIOUS_TOTAL_HOURS, toInteger(null()), minus(TOTAL_HOURS,PREVIOUS_TOTAL_HOURS) )