行转列与列转行同时进行

【问题】

Could you please help me how to transposing data from column to row in reports as shown in attachments:

imagepng

【回答】

面对这类问题,首先应当把数据准备好之后再让报表工具呈现,不过用 JAVA 或 SQL 及存储过程实现动态结果集有些麻烦,但是用 SPL 就简单多了,下面以 SPL 为例:

AB
1=myDB1.query("select * from kpi   order by f_sitename,dataset_date")
2=A1.id(dataset_date)=A1.fname().to(3,)
3=create(site,'KPI   Name',${A2.concat@cq()})
4for A1.group(f_sitename)= A4.align(A2,dataset_date)
5>B2.run(A3.record([A4.f_sitename,~]|B4.field(~)))
6result A3

A1:执行 SQL 取数,并按 f_sitename、dataset_date 排序

A2:获取日期时间的 distinct 值

B2:获取 SQL 结果集中的所有列名,从第 3 个开始返回

A3:创建结果序表

A4-B5:根据分组后的 f_sitename 循环取值并写入到 A3 结果序表中

A6:返回 A3 的结果集

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值