7.4 把汇总值拆分到明细行

 

有各年月的水表用水量数据,部分数据如下所示:

imagepng

另有每年的漏水量统计表如下图所示:

imagepng

把每年的漏水量按照各年月用水量占当年总用水量的比例,按漏水量分配到各年月的 Water leakage 列(在 D1 中计算):

A
1 =E(‘A1:C44’).derive(‘Water leakage’)
2 =E(‘Sheet2!A1:B5’)
3 =A1.group(Year)
4 =A3.run(a=A2.select@1(Year==A3.Year).‘Water leakage’,s=~.sum(Water),~.run(‘Water leakage’=Water*a/s))
5 return A1.new(‘Water leakage’)

A3 将 A1 数据按照 Year 分组

A4 循环 A3 中的各组,变量 a 是从 A2 中选出对应年份的漏水损失,变量 s 是本年度总的 Water 用水量,然后循环本年度所有行,给 Water leakage 列赋值为:Water*a/s。

A5 返回 A1

imagepng


帮你早下班 - esProc 桌面版与 Excel 数据处理
7.3 将汇总值填到同类数据的第一行
7.5 简单累计