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) )