举例 有 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
|