如何在Azure数据工厂数据流中添加日期范围

问题描述

工作信息

我有两个不同的数据集源,所以我在数据工厂中创建了一个数据流,其中,对于第一个数据(A)集,我正在做一些转换并加载到接收器中,在另一个数据集(B)中,我正在执行一些转换并加载到另一个接收器中。

问题

现在我有一些要求,其中第一个数据集(A)中有日期列DT_COLUMN_A(11-04-2020 01:17:40),需要与日期列DT_COLUMN_B(01-01-2020 16:32:00),然后将比较的输出作为列存储在第二数据集(B)中。

因此,我需要数据集A中日期列的最小值和最大值(日期范围),将其应用于数据列B中日期列的最小值和最大值,并找到与A和B匹配的日期并将其存储为YES不符合编号。

代码方法思想

所需逻辑:

if(min(DT_COLUMN_A) and max(DT_COLUMN_A) == min(DT_COLUMN_B) and max(DT_COLUMN_B) then YES else No.

我正在尝试在ADF数据流中实现这一目标,但无法做到。

解决方法

要获取ADF中数据集的MIN和MAX,您需要进行Aggregate转换。使用Aggregate从数据流中的每个相对流中创建名为MinA,MinB,MaxA,MaxB的新列。将聚合函数分别设置为MIN和MAX。然后,您可以在以后设置iif()表达式,或使用使用存储的最小值和最大值的Filter或Conditional Split转换。