ActiveReports 报表应用教程 (12)---交互式报表之贯穿钻取

本文介绍如何使用ActiveReports创建包含贯穿钻取功能的销售数据报表。通过图表、表格等控件展示2012年每日销售总额,并实现从总览到明细的交互式数据查看。

在 ActiveReports 中提供强大的数据分析能力,您可以通过图表、表格、图片、列表、波形图等控件来实现数据的贯穿钻取,在一级报表中可以通过鼠标点击来钻取更为详细的数据。

本文展示的是2012年度每天销售数据合计,通过销售日历报表可以贯穿钻取到当天的销售明细报表。

ActiveReports 报表功能展示 贯穿钻取报表

1、创建报表文件

在应用程序中创建一个名为 rptVacations.rdlx 的 ActiveReports 报表文件,使用的项目模板为 ActiveReports 页面报表,创建完成之后从 VS 的报表菜单项中选择转换为连续页面布局(CPL)报表,将固定页面报表转换为连续页面报表。

2、打开报表资源管理器,并按照以下信息创建报表数据源

名称:NorthWind_CHS
类型:Micorsoft OleDb Provider
OLE DB 提供程序:Microsoft.Jet.OLEDB.4.0
服务器或文件名称:Data\NWind_CHS.mdb

 

3、 添加数据集

在新建的 NorthWind_CHS 数据源上鼠标右键并选择添加数据集菜单项

常规-名称:SalesByDay

查询-查询:

SELECT 订单.订购日期, Sum(订单明细.单价*订单明细.数量) AS 营业额
FROM 订单明细 INNER JOIN 订单 ON 订单明细.订单ID = 订单.订单ID
WHERE DateDiff("yyyy",'2012-01-01',订单.订购日期) = 0
GROUP BY 订单.订购日期;

4、设计报表界面

从 Visual Studio 工具箱中将 Calendar 控件添加到报表设计界面,按照以下列表设置 Calendar 控件的属性:

数据数据集名称:SalesByDay
起始日期:=Fields!订购日期.Value
截止日期:=Fields!订购日期.Value
值:=Fields!营业额.Value
导航跳转到报表:Reports\rptOrderDetailsForSub.rdlx
跳转到报表-参数:
名称=Date
值==Fields!订购日期.Value

5、创建贯穿报表的子报表

在应用程序中创建一个名为 rptOrderDetailsForSub.rdlx 的 ActiveReports 报表文件,使用的项目模板为 ActiveReports 页面报表,创建完成之后从 VS 的报表菜单项中选择转换为连续页面布局(CPL)报表,将固定页面报表转换为连续页面报表。并为报表创建以下参数:

名称:Date
数据类型:DateTime
提示用户输入值显示的文本;其实日期:
隐藏:True

6、在子报表中打开报表资源管理器,并按照以下信息创建报表数据源

名称:NWind_CHS
共享数据源:True
引用:..\Data\NWind_CHS_Access.rdsx

 

7、 添加数据集

在新建的 NWind_CHS 数据源上鼠标右键并选择添加数据集菜单项

常规-名称:OrderDetails

参数-名称:Param

参数-值:=[@Date]

查询-查询:

SELECT 订单.订单ID, 订单.客户ID, 订单.订购日期, 产品.产品名称,订单明细.数量, 订单明细.单价, 订单明细.折扣  from (( 订单
inner join 订单明细 on 订单.订单ID = 订单明细.订单ID )
inner join 产品 on 订单明细.产品ID = 产品.产品ID )
where ? = 订购日期
ORDER BY 订单.订单ID;

8、运行程序

点击2012年度销售数据报表中有数据的日期,然后可以贯穿钻取到当天的销售明细报表中:

ActiveReports 报表功能展示 贯穿钻取报表

在线演示及源码下载地址:


http://www.gcpowertools.com.cn/products/activereports_demo.htm
activereports_demo37

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值