按数据值的间隔分组
举例
有 Excel 文件 Book1.xlsx,数据如下所示:
dt |
val |
2000/1/1 |
61.47 |
2000/1/1 |
19.57 |
2000/1/1 |
44.53 |
2000/1/4 |
65.98 |
2000/1/5 |
142.11 |
2000/1/6 |
25.87 |
2000/1/6 |
142.11 |
2000/1/8 |
44.53 |
2000/1/9 |
873.2 |
2000/1/10 |
52.89 |
2000/1/11 |
82.4 |
2000/1/11 |
118.37 |
2000/1/11 |
354.8 |
2000/1/14 |
90.6 |
2000/1/15 |
6.49 |
2000/1/16 |
44.53 |
2000/1/17 |
33.76 |
2000/1/18 |
162.74 |
dt列是日期,val 列是数值。每 5 天分一组,计算各组内 val 的均值,结果如下:
dt |
avg |
2000/1/1 |
66.73 |
2000/1/6 |
227.72 |
2000/1/11 |
130.53 |
2000/1/16 |
80.34 |
编写 SPL 脚本:
A |
|
1 |
=file("Book1.xlsx").xlsimport@t() |
2 |
>st=A1(1).dt |
3 |
=A1.group@i(if(interval(st,dt)==5,st=dt,false)) |
4 |
=A3.new(dt:dt,round(~.avg(val),2):avg) |
5 |
=file("result.xlsx").xlsexport@t(A4) |
A1 读取 excel 文件内容
A2 设起始时间为 st,初始值是第一个 dt
A3 分组,每 5 天分一组
A4 计算每个分组内的 val 均值,dt 为每组的第一个时间
A5 结果导出至 result.xlsx
英文已更新