【发布时间】:2020-10-22 18:20:59
【问题描述】:
我对 Azure 数据工厂非常陌生。我使用相同的源表和目标表创建了一个简单的管道。管道应该从源表中获取日期列,将表达式应用于源表中的日期列(数据类型日期如下面的架构中所示),如果日期在last_7_days 列中的最后 7 天或 0 (如在模式中)。
现在,我面临在组件 DerivedColumn 中编写表达式的挑战。我已经设法用表达式找到了 7 天前的日期:。
总而言之,这个想法是在目标表中加载 last_7_days 列,如果日期 >= 当前日期 - 间隔 7 天和日期
仅供参考:源/目标表列日期是静态的,从 2020 年到 2030 年的 10 年日期为 yyyy-mm-dd 格式。 ETL 应该每天运行,并且只将值 1 放入最后 7 天:从当前日期回顾的 last_7_days 列。其他条目必须接收值 0。
【问题讨论】:
-
我用过案例( date == currentDate(),1, date >= subDays(currentDate(),7),1, date
currentDate(),0) 作为表达式值。但是我认为应该有另一种优雅的方式。 -
不,没有。为了实现我们的要求,Data Flow 表达式可以很复杂。它可能包含许多函数。
case()功能是最适合您的。
标签: date expression azure-data-factory-2 azure-data-factory-pipeline