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

举例

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