Azure 数据工厂 - 过去 7 天组件 'derived column' 中的日期表达式

Azure Data Factory - Date Expression in component 'derived column' for last 7 Days

我是 Azure 数据工厂的新手。我使用相同的源和目标 table 创建了一个简单的管道。管道应该从源 table 中获取日期列,将表达式应用于源 table 中的列日期(数据类型日期,如下面的架构所示),它应该如果日期在最近 7 天内加载 1,否则在列 last_7_days 中加载 0(如架构中所示)。

源和目标 table 的架构如下所示:

现在,我面临着在组件 DerivedColumn 中编写表达式的挑战。我设法用表达式找出了 7 天前的日期:.

总而言之,如果日期 >= 当前日期 - 间隔 7 天且日期 <= 当前日期,则在目标 Table 中加载值为“1”的 last_7_days 列=25=] 如果有人可以帮助我提供任何提示和建议,将不胜感激。如果您需要更多信息,请告诉我。

仅供参考:source/target table 列日期是静态的,从 2020 年到 2030 年的 10 年日期采用 yyyy-mm-dd 格式。 ETL 应该 运行 每天并且只将值 1 放入最近 7 天:last_7_days 列从当前日期回顾。其他条目必须收到值 0。

您目前使用以下表达方式:

case ( date == currentDate(),1, date >= subDays(currentDate(),7),1, date <subDays(currentDate(),7,0, date > currentDate(),0) 

如果我们是你,我们也会选择 case() 函数来构建表达式。

关于你在评论中的问题,恐怕没有,没有另一种优雅的方式。为了实现我们的要求,数据流表达式可以很复杂。它可能包含许多功能。 case() 函数最适合您。

非常清楚易懂。