如何按ID分组计算初始日期到C1/C2首次变更日的天数差
按ID分组计算指标首次变更间隔天数
计算逻辑
- 按唯一ID分组,取每组内
DATE字段最小的记录作为初始记录,同步记录该记录对应的初始日期、初始C1指标值、初始C2指标值 - 组内所有记录按
DATE升序排序,逐行查找*第一条满足「当期C1 > 初始C1 或 当期C2 < 初始C2」*的记录,提取该记录的日期作为首次变更日期 - 计算初始日期与首次变更日期的时间差,统计单位为天
- 结果过滤规则:
- 剔除仅包含1条记录的ID分组
- 剔除组内所有记录均不满足上述变更判定条件的ID分组
示例源数据
ID DATE C1 C2 AACH 2022-06-10 05:00:00+00:00 70 2 AAHA 2022-01-12 06:00:00+00:00 60 6 AAHA 2022-04-07 05:00:00+00:00 60 4 AAHA 2022-05-20 05:00:00+00:00 60 5 AALU 2021-09-10 05:00:00+00:00 70 0 AALU 2021-11-29 06:00:00+00:00 70 4 AALU 2022-05-17 05:00:00+00:00 60 5 ABAL 2021-10-11 05:00:00+00:00 60 0 ABAL 2022-03-17 05:00:00+00:00 80 4 ABAN 2021-05-24 05:00:00+00:00 60 3 ABAN 2021-06-24 05:00:00+00:00 70 2 ABAN 2021-08-10 05:00:00+00:00 60 3 ABAN 2022-01-14 06:00:00+00:00 70 2 ABAN 2022-03-18 05:00:00+00:00 60 5 ABAN 2022-04-21 05:00:00+00:00 70 2
期望输出格式
ID Time Difference(Days) Date of value changed AAHA 2022-01-12 06:00:00+00:00 AALU 2021-09-10 05:00:00+00:00 ABAL 2021-10-11 05:00:00+00:00 ABAN 2021-05-24 05:00:00+00:00
内容的提问来源于stack exchange,提问作者Irbaz
相关产品推荐
相关产品推荐

