横向扩展出多列

举例

Excel文件book1.xlsx中有序存放着多种部件及其金属子部件,当Level=2时,表示该行为部件(汇总行),当Level=3时,表示该行为子部件。Material列和Proportion列分别存放子部件的金属名称和占比。如下所示:

现在要在部件(汇总行)的右侧拼上每种金属的占比,如下所示:

编写SPL脚本:

A
1=T("e:/work/book1.xlsx")
2=A1.id(Material).select(~)
3=A1.derive(${A2.string()})
4=A3.group@i(Level==2)
5=A4.run(~.to(2,).groups(Material;sum(Proportion):value).run(A4.~(1).field(Material,value)))
6=T("e:/work/book2.xlsx",A3)

A1   读入book1.xlsx文件数据

A2   选出不重复且不为空的Material种类

A3   为A2中选出的每种Material各追加一列

A4   对A3进行分组,当Level为2时就分一个新组。选项@i表示条件满足时就分一个新组

A5   循环A4的每一组,用第2条到最后一条记录按Material分组统计各材料占比之和命名为value列,再循环统计出的每一组,令A4当前组的第1条记录的Material字段的值为value

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值