【问题标题】:How to add a date range in Azure Data Factory data flow如何在 Azure 数据工厂数据流中添加日期范围
【发布时间】:2020-12-14 01:50:12
【问题描述】:

工作信息

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

问题

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

所以我需要数据集 A 的日期列的最小值和最大值(日期范围),将其应用于数据集 B 的日期列的最小值和最大值,并在 A 和 B 中找到匹配的日期并将其存储为 YES,如果不匹配 NO。

代码方法思路

需要逻辑:

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

我试图在 ADF 数据流中实现这一点,但无法做到。

【问题讨论】:

标签: date azure-functions azure-data-factory date-range azure-data-flow


【解决方案1】:

要在 ADF 中获取数据集的 MIN 和 MAX,您将需要聚合转换。使用聚合从数据流中的每个相关流创建名为 MinA、MinB、MaxA、MaxB 的新列。将聚合函数分别设置为 MIN 和 MAX。然后,您可以在之后设置 iif() 表达式,或者使用过滤器或条件拆分转换来使用这些存储的最小值和最大值。

【讨论】:

  • 我已经为两个流创建了 min ad max,但是在使用条件拆分或过滤器时,我们如何调用不同流的 min 和 max。例如:iif(min(A) and max(A)= min(B) and max(B)) .i 无法在仅存在 min A 和 max A 的条件下添加 B 列。
  • 先加入或查找
  • 我认为从一列到另一列调用 max min 是可能的
  • 我尝试使用连接,但问题是连接没有给出任何输出。你能举个例子来演示一下吗.. 基本上我想在数据集 A 中创建列的日期范围并在数据集中使用它B 日期列之一,并比较在范围内并落在数据集 B 日期列中的日期,如果日期在范围内,则将新列更新为 Y,如果不在范围内,则更新为 N。
猜你喜欢
  • 2021-03-15
  • 1970-01-01
  • 2020-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-28
  • 2023-03-06
  • 2021-02-05
相关资源
最近更新 更多