问题描述
工作信息
我有两个不同的数据集源,所以我在数据工厂中创建了一个数据流,其中,对于第一个数据(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转换。