Azure Data Factory数据流:按日期筛选ID最新数据及提取日值
Azure Data Factory 数据流解决方案
一、筛选每个ID的最新日期记录
单纯按ID+日期排序无法确保准确筛选,建议用窗口函数实现:
- 添加窗口转换,在配置中:
- 分组键(Partition by)选择你的
ID列,将数据按ID分组 - 排序规则(Order by)选择日期列,排序方式设为降序,让每组内最新日期的记录排在最前
- 新增窗口列(比如命名为
row_rank),表达式写row_number(),此时每个ID组内的记录会按日期从新到旧被标记为1、2、3...
- 分组键(Partition by)选择你的
- 添加筛选转换,设置筛选条件为
row_rank == 1,即可保留每个ID对应的最新日期记录
二、提取日期列的日部分
根据日期列的类型选择对应方法:
情况1:日期列为字符串类型(格式如'23-05-2023')
- 方法1(拆分法):用
split()函数拆分字符串,表达式:split(日期列, '-')[0] - 方法2(截取法):用
substring()函数截取前两位,表达式:substring(日期列, 1, 2)(ADF中字符串索引从1开始)
情况2:日期列为日期类型
先将字符串转成日期类型(如果还没转),再提取日:
- 表达式:
day(toDate(日期列, 'dd-MM-yyyy')),返回数字格式的日(如23)
内容的提问来源于stack exchange,提问作者user21946914
相关产品推荐
相关产品推荐

