横向分栏

【问题】

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 脚本​】。