← 返回所有博客文章

交互式排序是创建交互式报表必不可少的功能,用户使用交互式排序,可将关心的数据按照升序或降序来排列。但是当用户点击排序时,是针对整个报表的全部数据,进行重新排列。,这样一来,一旦数据量大就会造成报表加载慢,性能低;且无法第一时间定位用户需要关心的点,葡萄城报表11 SP2 细化了单元格排序功能,在查看报表时,用户可对报表数据进行自由排序,并支持多个范围的排序:

  • 报表级别排序,对整个报表的数据进行排序,根据所有数据进行排序。
  • 分组内排序,仅针对当前分组内的数据进行排序,在指定范围内进行排序。

操作步骤

接下来我们演示如何设置在一定区域内进行排序

操作步骤:

1. 新建RDL报表

image2017-7-15_14-5-24

2.连接数据源

 

2

3. 新建数据集

输入数据库查询语句:

SELECT 订单.订单ID, strftime('%Y',订单.订购日期) AS 订购年, strftime('%m',订单.订购日期) AS 订购月, 类别.类别名称, 类别.说明, 产品.产品名称, 订单明细.数量, 订单明细.单价, 订单明细.折扣 FROM (( 订单
INNER JOIN 订单明细 ON 订单.订单ID = 订单明细.订单ID)
INNER JOIN 产品 ON 订单明细.产品ID = 产品.产品ID)
INNER JOIN 类别 ON 产品.类别ID = 类别.类别ID
WHERE strftime('%Y',订单.订购日期)='2012'
ORDER BY 订购年, 订购月, 类别.类别ID, 订单明细.产品ID

4. 添加表格控件,设置基本布局

4.1 添加表格控件到设计界面

3

4.2 添加表格1级分组

选中表格详细数据行,右键单击,选择插入分组

4

在表格-分组编辑器中,表达式输入:=[订购月],点击确定后,表格会生成【1】


 

5

4.2 插入表格2级分组

在表格-分组窗口中点击【+】符号,输入分组表达式 :=[类别名称]

6

 

添加完分组效果

7

4.3 在表格右侧添加5列

8

9

 

4.4 添加表头行,并合首行表头单元格,输入标题【=[订购年] & "年各月销售报表——明细页"】

10

4.5 在分组1 -组头行,合并单元格,并输入=[订购年] & "年"  & [订购月]  &"月"

4.6 在���组2-组头行,合并剩下单元格,并输入=[类别名称]

4.7 在详细数据区域,绑定具体的字段

11

4.8 在组2-尾行,输入合计:=Sum([数量] * [单价] *(1- [折扣] ))

12

表格样式基本设置完成,接下来我们就要需要设置排序功能。

5 在分组1中按照 类别销量来排序

选中分组1单元格,选中属性对话框,设置交互式排序,如图:

13

6 预览

 

14

 

了解ActiveReports产品更多特性:

/developer/activereports

下载产品体验产品功能:

/download/?pid=16