筛选时用到所在分类的汇总值

举例

有 Excel 文件“emp.xlsx”,是雇员表,部分数据如下所示:

现在需要找出薪金(SALARY)大于部门内平均薪金 5000 的雇员数据,结果如下:

编写 SPL 脚本:


A

1

=file("emp.xlsx").xlsimport@t().derive(diff)

2

=A1.group(DEPT)

3

=A2.run(avg=~.avg(SALARY),~.run(diff=SALARY-avg))

4

=A1.select(diff>5000).new(EID,NAME,SURNAME,GENDER,STATE,BIRTHDAY,HIREDATE,DEPT,SALARY)

5

=file("result.xlsx").xlsexport@t(A4)

A1  从 Excel 中读取雇员数据

A2  按 DEPT 分组

A3  每组内求出当前雇员的薪金与组内平均薪金的差值

A4  找出薪金差大于 5000 的数据

A5  结果导出至 result.xlsx