在ActiveReports 中提供强大的数据分析能力,您可以通过图表、表格、图片、列表、波形图等控件来实现数据的贯穿钻取,在一级报表中可以通过鼠标点击来钻取更为详细的数据。
本文展示的是2012年度每天销售数据合计,通过销售日历报表可以贯穿钻取到当天的销售明细报表。
创建报表文件
在应用程序中创建一个名为 rptVacations.rdlx 的 ActiveReports 报表文件,使用的项目模板为 ActiveReports RDL报表。
创建报表数据源
打开报表资源管理器,并按照以下信息创建报表数据源:
添加数据集
在新建的 NorthWind_CHS 数据源上鼠标右键并选择添加数据集菜单项:
常规-名称:SalesByDay
查询-查询:
SELECT 订单.订购日期, Sum(订单明细.单价*订单明细.数量) AS 营业额
FROM 订单明细 INNERJOIN 订单 ON 订单明细.订单ID = 订单.订单ID
WHERE DateDiff("yyyy",'2012-01-01',订单.订购日期) = 0 GROUPBY 订单.订购日期;
设计报表界面
从 Visual Studio 工具箱中将 Calendar 控件添加到报表设计界面,按照以下列表设置 Calendar 控件的属性:
创建贯穿报表的子报表
在应用程序中创建一个名为 rptOrderDetailsForSub.rdlx 的 ActiveReports 报表文件,使用的项目模板为 ActiveReports RDL报表。并为报表创建以下参数:
创建报表数据源
在子报表中打开报表资源管理器,并按照以下信息创建报表数据源:
添加数据集
在新建的 NWind_CHS 数据源上鼠标右键并选择添加数据集菜单项:
常规-名称:OrderDetails
参数-名称:Param
参数-值:=[@Date]
查询-查询:
SELECT 订单.订单ID, 订单.客户ID, 订单.订购日期, 产品.产品名称,订单明细.数量, 订单明细.单价, 订单明细.折扣
from (( 订单 innerjoin 订单明细 on 订单.订单ID = 订单明细.订单ID ) innerjoin 产品 on 订单明细.产品ID
运行程序
点击2012年度销售数据报表中有数据的日期,然后可以贯穿钻取到当天的销售明细报表中:
ActiveReports 是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForm / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求,作为专业的报表工具为全球超过 300,000 开发人员提供了全面的报表开发服务。
本文转载自葡萄城