birt交叉报表的列字段排序

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。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值