按组统计多日期区间年度累计天数,达100天停止并重启统计
需求说明
按组基于多个日期区间统计天数,规则如下:
- 在任意设定的统计周期内,累计天数满100天则停止统计
- 若过去一整年(365或366天)内累计天数未达100天,则重新启动统计
示例数据
| Group | StartDate | EndDate |
|---|---|---|
| 1 | 01-01-2020 | 01-07-2020 |
| 1 | 01-08-2020 | 01-07-2021 |
| 2 | 01-02-2020 | 01-03-2020 |
| 2 | 01-09-2020 | 01-12-2020 |
规则示例
针对第1组:
- 2020年1月1日至2020年4月9日累计满100天,此后停止统计
- 到2021年1月2日,过去一整年(闰年366天)内未累计满100天,从下一区间重启统计
现状与诉求
已尝试通过交叉连接全日期维度表来跨区间统计连续天数,但无法回溯过去365天判断是否累计满100天。希望能在每个区间或区间内的月份旁输出统计天数,寻求实现方案或建议。
预期结果
| Group | StartDate | EndDate | YearMonth | CountDays |
|---|---|---|---|---|
| 1 | 01-01-2020 | 01-07-2020 | 202001 | 31 |
| 1 | 01-01-2020 | 01-07-2020 | 202002 | 29 |
| 1 | 01-01-2020 | 01-07-2020 | 202003 | 31 |
| 1 | 01-01-2020 | 01-07-2020 | 202004 | 9 |
| 1 | 01-01-2020 | 01-07-2020 | 202005 | 0 |
| 1 | 01-01-2020 | 01-07-2020 | 202006 | 0 |
| 1 | 01-01-2020 | 01-07-2020 | 202007 | 0 |
| 1 | 01-08-2020 | 01-07-2021 | 202008 | 0 |
| 1 | 01-08-2020 | 01-07-2021 | 202009 | 0 |
| 1 | 01-08-2020 | 01-07-2021 | 202010 | 0 |
| 1 | 01-08-2020 | 01-07-2021 | 202011 | 0 |
| 1 | 01-08-2020 | 01-07-2021 | 202012 | 0 |
| 1 | 01-08-2020 | 01-07-2021 | 202101 | 30 |
| 1 | 01-08-2020 | 01-07-2021 | 202102 | 28 |
| 1 | 01-08-2020 | 01-07-2021 | 202103 | 31 |
| 1 | 01-08-2020 | 01-07-2021 | 202104 | 11 |
| 1 | 01-08-2020 | 01-07-2021 | 202105 | 0 |
| 1 | 01-08-2020 | 01-07-2021 | 202106 | 0 |
| 1 | 01-08-2020 | 01-07-2021 | 202107 | 0 |
| 2 | 01-02-2020 | 01-03-2020 | 202002 | 29 |
| 2 | 01-02-2020 | 01-03-2020 | 202003 | 1 |
| 2 | 01-09-2020 | 01-12-2020 | 202009 | 30 |
| 2 | 01-09-2020 | 01-12-2020 | 202010 | 31 |
| 2 | 01-09-2020 | 01-12-2020 | 202011 | 9 |
| 2 | 01-09-2020 | 01-12-2020 | 202012 | 0 |
内容的提问来源于stack exchange,提问作者user22274788
相关产品推荐
相关产品推荐

