Azure 数据工厂数据库 Table 列中最后一个非空值或空值的表达式
Expression for last non Null Value or Null Value in Database Table Column with Azure Data Factory
我有一个数据库 Table,如下所示:
Date Type
2020-01-01 non_empty_date
2020-01-02 non_empty_date
1900-01-01 with_1900
2020-01-03 nom_empty_date
NULL
NULL
预期的输出是这样的:
Date Type
2020-01-01 non_empty_date
2020-01-02 non_empty_date
1900-01-01 with_1900
2020-01-03 non_empty_date
NULL Null_comes_After_non_empty_date
NULL Null_comes_After_empty_date
逻辑是这样的:
- 如果日期列不为空,请输入类型 non_empty_date
- 例外:如果日期列是 1900-01-01,则给出 with_1900
- 如果日期列为 Null 且出现在非空日期之后,请给出 'Null_Comes_After_non_empty_date'
- 如果日期列为 Null 并且出现在空日期之后给出 'Null_Comes_After_empty_date'
到目前为止,我在表达式构建器中尝试定义类型的是:
case (
Date == toDate(toString('1900-01-01')),'with_1900',
!isNull(Date), 'non_empty_date'
)
我很困惑,应该写什么表达式来为 3) 和 4) 赋值。
感谢任何帮助或任何建议。非常感谢!
您的逻辑基于上一行的值。为此,请使用 Window 转换,该转换设置为使用 Range by 1 row behind 回顾前一行值。
我有一个数据库 Table,如下所示:
Date Type
2020-01-01 non_empty_date
2020-01-02 non_empty_date
1900-01-01 with_1900
2020-01-03 nom_empty_date
NULL
NULL
预期的输出是这样的:
Date Type
2020-01-01 non_empty_date
2020-01-02 non_empty_date
1900-01-01 with_1900
2020-01-03 non_empty_date
NULL Null_comes_After_non_empty_date
NULL Null_comes_After_empty_date
逻辑是这样的:
- 如果日期列不为空,请输入类型 non_empty_date
- 例外:如果日期列是 1900-01-01,则给出 with_1900
- 如果日期列为 Null 且出现在非空日期之后,请给出 'Null_Comes_After_non_empty_date'
- 如果日期列为 Null 并且出现在空日期之后给出 'Null_Comes_After_empty_date'
到目前为止,我在表达式构建器中尝试定义类型的是:
case (
Date == toDate(toString('1900-01-01')),'with_1900',
!isNull(Date), 'non_empty_date'
)
我很困惑,应该写什么表达式来为 3) 和 4) 赋值。
感谢任何帮助或任何建议。非常感谢!
您的逻辑基于上一行的值。为此,请使用 Window 转换,该转换设置为使用 Range by 1 row behind 回顾前一行值。