横向分栏
【问题】
I am new to BIRT, i am trying to display my BIRT report data from left to right horizontally, Default, table data fills vertically,But i would like to have exactly opposite to it,What i have to do to achieve this?
My Dataset
student_name
student_1
student_2
student_3
My expected result would be ,
student_name student_1 student_2 student_3
How can i show data horizontally in BIRT?
【回答】
BIRT 可以对数据纵向分栏,但你希望横向分栏,这就必须用复杂的报表脚本去实现了。建议用 SPL 辅助 BIRT 准备好已分栏的数据,比如将记录横向排布为三列,代码如下:
A | |
---|---|
1 | =myDB1.query("select EId,Name,Dept from emp") |
2 | = A1.step(3,1) |
3 | =A1.step(3,2)|[null] |
4 | =A1.step(3,3)|[null] |
5 | =A2.derive(A3(#).EID:EId2,A3(#).NAME:Name2,A3(#).DEPT:Dept2,A4(#).EID:EId3,A4(#).NAME:Name3,A4(#).DEPT:Dept3) |
运行结果:
A1:查询出所需要的数据
A2:将数据分三段,取出第一段生成新序列
A3:将数据分三段,取出第二段生成新序列
A4:将数据分三段,取出第三段生成新序列
A5:扩展 A2 的字段,将 A3 和 A4 的数据根据字段顺序填入,生成新序表
BIRT 可以通过 JDBC 连接集算器,调用脚本方法和调用存储过程一样,详情参考【BIRT 调用 SPL 脚本】。