我有一张包含以下数据的表格:在此处输入图像描述行号DATE1 06.05.20242 20.05.20243 03.06.20244 13.06.20245 17.06.20246 03.07.20247 17.07.20248 17...
我有一张包含以下数据的表格: 在此处输入图片描述
Row number DATE
1 06.05.2024
2 20.05.2024
3 03.06.2024
4 13.06.2024
5 17.06.2024
6 03.07.2024
7 17.07.2024
8 17.07.2024
9 22.07.2024
10 31.07.2024
11 05.08.2024
12 08.08.2024
13 15.08.2024
任务:根据当前日期和前一个日期之间经过的天数,在每行中创建一个带有 1 或 0 标志的新列。如果当前行的日期字段中的日期与前一个日期之间已经过 14 天或更长时间,则在给定行中输入值 1。这意味着该行的活动时间为 14 天。如果下一行与上一行相差不到 14 天,则不考虑这一行,因为前一行在此日期仍处于活动状态。第一行始终包含标志 1,并且所有后续行都必须根据脚本逻辑进行填充。因此,字段包含当前日期与上一行日期之间的差异。输出应该是这样的表格: 在此处输入图像描述
Row number DATE Days Flag
1 06.05.2024 1
2 20.05.2024 14 1
3 03.06.2024 14 1
4 13.06.2024 10 0
5 17.06.2024 4 Here it is needed to subtract the date 03.06.2024 from date 17.06.2024
6 03.07.2024 16 1
7 17.07.2024 14 1
8 17.07.2024 0 Here the first row is considered, since the date in the previous row is the same
9 22.07.2024 5 0
10 31.07.2024 9 Here it is needed to subtract the date 17.07.2024 from the date 31.07.2024
11 05.08.2024 5 0
12 08.08.2024 3 Here, even if to subtract 31.07.2024 from 08.08.2024 it gives 8 days, so this row is not considered
13 15.08.2024 7 Here it is needed to subtract the date 31.07.2024 from 15.08.2024
第 4 行的 Days 字段值为 10,这意味着在 13.06.2024 这个日期,第 3 行仍然有效,因为还没有过去 14 天,因此第 4 行不予考虑。第 5 行的 Days 字段值为 4,但由于不考虑前面的第 4 行,因此必须将第 5 行与第 3 行进行比较,而不是与第 4 行进行比较,即从 17.06.2024 中减去日期 03.06.2024。第 10 行也一样。但是,在第 13 行,需要从当前日期中减去第 10 行的日期,因为第 11 行和第 12 行不予考虑。因此,所需的行是第 13 行,因为其中的标志字段为 1,并且按日期计算它是最新的。需要创建一个名为 Activity 的新字段,其值为 1 和 0。第 13 行应该为 1,而所有先前的行应该为 0。
我编写了一个带有 Lag 函数的脚本,但不清楚如何在第 11 行和第 12 行等情况下使用此函数