ActiveReports 报表应用教程 (12)---交互式报表之贯穿钻取-阿里云开发者社区

开发者社区> 大数据> 正文
登录阅读全文

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

简介:

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

订单明细 

INNERJOIN

订单 

ON

订单明细.订单ID = 订单.订单ID 

WHERE

DateDiff("yyyy",'2012-01-01',订单.订购日期) = 0

GROUPBY

订单.订购日期; 

 

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

(( 订单 

innerjoin

订单明细 

on

订单.订单ID = 订单明细.订单ID ) 

innerjoin

产品 

on

订单明细.产品ID = 产品.产品ID ) 

where

? = 订购日期 

ORDERBY

订单.订单ID;

 

8、运行程序

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

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



本文转自 powertoolsteam 51CTO博客,原文链接:http://blog.51cto.com/powertoolsteam/1255858,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: