将同行的某些列作为分类成员转成多行

 

举例

有交叉报表book1.xlsx,部分数据如下图所示:

..

现在需要把它转变成行式列表,如下图所示:

..

编写SPL脚本:


A

1

=T("E:/pivot/book1.xlsx")

2

=A1.pivot@r(Names,Sales;Weekday,Day)

3

=A2.new(Names,Sales,Day).select(Day)

4

=T("E:/pivot/book2.xlsx",A3)

A1   读入book1.xlsx文件数据

A2   A1数据进行行列转置,选项@r表示列转行,以NamesSales为分组,其它列名称转换成Weekday列的值,其它列值转换成Day列的值。

A3   选出A2NamesSalesDay三列且Day不为空的记录

A4   A3中的结果保存到文件book2.xlsx