您的位置:首页 > 其它

birt交叉报表的列字段排序

2014-08-19 14:36 399 查看
birt报表中的数据都是来自于你所配的数据源。

然后具体可以在数据集中写具体的sql语句比如:select user_name(注:名称),week(周时段),.......(其他字段) from table order by week_no(周序号);就是把每人每周的相关业务数据给展示出来。

但是,order by 在sql中写不起作用(原因不明,但就是不起作用)。

结果所查出来的列字段就很乱。第1周,第三周,第9周,第2周。。。。



下面给出我采用的排序方法:

修改sql语句,将要排序所依据的那个字段也查出来:select user_name,week,week_no,......from table

如此在数据资源管理器视图中就可以看到:



在建好的交叉报表模板上,将user_name 拉到行表头上,把week周 拉到列表头上,另外将排序字段week_no拉到week字段的上(前)面(如果拉到week的下\后面依然无效),结果如下图:



点中"[week_no]"的单元格,在其属性的高级设置中配置将Hight设为0(有强迫症的同学也可再将可视性设为隐藏),这样就可以了。预览的结果就是按week_no升序排列。

此外,如果你想按自己的方式降序或别的顺序来排列的话那就在sql中如此写:

select aa, ..., (case when aa '低级' then 1 when '中级' then 2 when '高级' then 3 else 5 end )as aa_sort

aa_sort将相当于之前的week_no,直接拖到列表头的上面就行了。

转自:http://blog.csdn.net/anno_domini/article/details/20053487

操作的时候设置高度为0的排序行还是会显示回来,设置该行为隐藏的也可以实现,visibility: Hide Element。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: