次序无关的集合相等与从属判断

举例

1:集合相等

Excel文件Book1.xlsx,数据如下所示:

code order
A 1
A 2
A 3
A 4
B 1
B 2
B 4
B 3
C 4
C 2
C 3
C 1

Excel文件standard2.xlsx,数据如下所示:

order
1
2

找出Book1order的值也是standard2order值的所有数据

编写SPL脚本:


A
1 =file("Book1.xlsx").xlsimport@t()
2 =file("standard2.xlsx").xlsimport@t()
3 =A2.(order)
4 =A1.select(A3.pos(order))

A1   读取Excel数据

A2  读取Excel数据

A3  standard2中的order数据

A4   pos函数判断Book1order是否属于A3,根据判断的结果过滤数据,结果如下:

code order
A 1
A 2
B 1
B 2
C 2
C 1

2:集合从属

Excel文件Book1.xlsx,数据如下所示:

code order
A 1
A 3
A 5
A 7
B 2
B 4
B 6
B 8
C 1
C 2
C 3
C 4

Excel文件standard2.xlsx,数据如下所示:

order
1
2

找出Book1中,相同code下,order包含了standard2order值的所有code的数据

编写SPL脚本:


A
1 =file("Book1.xlsx").xlsimport@t()
2 =file("standard2.xlsx").xlsimport@t()
3 =A2.(order)
4 =A1.group(code).select(A3^~.(order)==A3).conj()

A1   读取Excel数据

A2  读取Excel数据

A3  standard2中的order数据

A4   code分组,找出组内的order包含了standard2order值的那些组,合并,结果如下:

code order
C 1
C 2
C 3
C 4