ActiveReports 报表控件V12新特性 -- 无需ETL处理,即可实现跨数据源分析数据 1. 新建RDL/页面报表 2. 添加数据源并创建数据集 3. 添加表格 Table1,选择【产品】数据集 4. 添加Table 2,设置数据集【订单】 5. 添加Table3 选择【客户】数据集  6. 去除 Table3 的表尾行,选中【表格详细数据行】,右键单击,取消选中【表尾】,删除多余列 7. 开始嵌套 8.设置数据关联 关于葡萄城报表

ActiveReports 是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForms / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求,作为专业的报表工具为全球超过 300,000 开发人员提供了全面的报表开发服务。

ActiveReports 报表控件V12版本已于近日正式发布了,为帮助广大报表开发人员更加深入的了解V12版本的新特性,我们将推出《ActiveReports V12新特性》系列文章。本文是系列的第一篇文章 -- 无需ETL处理,即可实现跨数据源分析数据。

在大型企业中,可能会同时应用多个业务数据系统来存储数据,如CRM 存储客户信息,SCM存储销售订单信息,ERP存储企业订单,资本等信息,如果需要汇总分析多方数据,技术人员需要先将所有数据整合到一个数据库中,这个中间需要处理很多跨平台的数据兼容性及关联性,在数据整合完毕之后,还需要设计布局合理的报表来展示和挖掘整合的业务数据。如此一来发出一份业务分析报告,是非常慢的。如果可以直接根据设计报表,同时展示多个数据源,且能够解决复杂样式,就可以解决大问题了。

特殊样式设置常常会用到控件嵌套,而控件嵌套最大的限制是同时只能设定一个数据集,只能在控件里面嵌套子报表,而嵌套子报表,面临着要设计多个报表文件,不便于管理,而且样式调整不容易,容易错乱。常常需要多个文件调整对比。

ActiveReports 12 支持多数据控件嵌套,将各控件的优点结合,如矩表嵌入表格中,可使得表格具有动态列的效果,如果将图表嵌入表格中,可为表格嵌入可视化的效果。 且在实现数据嵌套过程,每一个数据控件都可以绑定独立的数据集,而且在嵌套过程中,不同数据集既可以保持独立,也可以通过设置DataSetParameters  进行关联。可谓将嵌套功能做到极致。数据控件嵌套+多数据集支持=无限样式。

  1. 支持范围 页面/RDL报表
  2. 可用控件矩表,列表,图表,带状列表,表格,迷你图

今天我们就来学习,如何使用ActiveReports 进行控件嵌套,并进行数据关联。

ActiveReports 报表控件V12新特性 -- 无需ETL处理,即可实现跨数据源分析数据
1. 新建RDL/页面报表
2. 添加数据源并创建数据集
3. 添加表格 Table1,选择【产品】数据集
4. 添加Table 2,设置数据集【订单】
5. 添加Table3 选择【客户】数据集 
6. 去除 Table3 的表尾行,选中【表格详细数据行】,右键单击,取消选中【表尾】,删除多余列
7. 开始嵌套
8.设置数据关联
关于葡萄城报表

2. 添加数据源并创建数据集

注:这个数据集中间存在关联关系。

ActiveReports 报表控件V12新特性 -- 无需ETL处理,即可实现跨数据源分析数据
1. 新建RDL/页面报表
2. 添加数据源并创建数据集
3. 添加表格 Table1,选择【产品】数据集
4. 添加Table 2,设置数据集【订单】
5. 添加Table3 选择【客户】数据集 
6. 去除 Table3 的表尾行,选中【表格详细数据行】,右键单击,取消选中【表尾】,删除多余列
7. 开始嵌套
8.设置数据关联
关于葡萄城报表

创建【产品】数据集
select *from dbo.产品
创建【订单】数据集
select dbo.订单.*, dbo.订单明细.产品ID
from dbo.订单 inner join dbo.订单明细 on dbo.订单.订单ID = dbo.订单明细.订单ID
创建【客户】数据集
select *from dbo.客户
产品 与订单 :产品ID 关联  订单与客户:客户ID关联

3. 添加表格 Table1,选择【产品】数据集

ActiveReports 报表控件V12新特性 -- 无需ETL处理,即可实现跨数据源分析数据
1. 新建RDL/页面报表
2. 添加数据源并创建数据集
3. 添加表格 Table1,选择【产品】数据集
4. 添加Table 2,设置数据集【订单】
5. 添加Table3 选择【客户】数据集 
6. 去除 Table3 的表尾行,选中【表格详细数据行】,右键单击,取消选中【表尾】,删除多余列
7. 开始嵌套
8.设置数据关联
关于葡萄城报表

效果图:

ActiveReports 报表控件V12新特性 -- 无需ETL处理,即可实现跨数据源分析数据
1. 新建RDL/页面报表
2. 添加数据源并创建数据集
3. 添加表格 Table1,选择【产品】数据集
4. 添加Table 2,设置数据集【订单】
5. 添加Table3 选择【客户】数据集 
6. 去除 Table3 的表尾行,选中【表格详细数据行】,右键单击,取消选中【表尾】,删除多余列
7. 开始嵌套
8.设置数据关联
关于葡萄城报表

4. 添加Table 2,设置数据集【订单】

ActiveReports 报表控件V12新特性 -- 无需ETL处理,即可实现跨数据源分析数据
1. 新建RDL/页面报表
2. 添加数据源并创建数据集
3. 添加表格 Table1,选择【产品】数据集
4. 添加Table 2,设置数据集【订单】
5. 添加Table3 选择【客户】数据集 
6. 去除 Table3 的表尾行,选中【表格详细数据行】,右键单击,取消选中【表尾】,删除多余列
7. 开始嵌套
8.设置数据关联
关于葡萄城报表

效果图

ActiveReports 报表控件V12新特性 -- 无需ETL处理,即可实现跨数据源分析数据
1. 新建RDL/页面报表
2. 添加数据源并创建数据集
3. 添加表格 Table1,选择【产品】数据集
4. 添加Table 2,设置数据集【订单】
5. 添加Table3 选择【客户】数据集 
6. 去除 Table3 的表尾行,选中【表格详细数据行】,右键单击,取消选中【表尾】,删除多余列
7. 开始嵌套
8.设置数据关联
关于葡萄城报表

5. 添加Table3 选择【客户】数据集 

ActiveReports 报表控件V12新特性 -- 无需ETL处理,即可实现跨数据源分析数据
1. 新建RDL/页面报表
2. 添加数据源并创建数据集
3. 添加表格 Table1,选择【产品】数据集
4. 添加Table 2,设置数据集【订单】
5. 添加Table3 选择【客户】数据集 
6. 去除 Table3 的表尾行,选中【表格详细数据行】,右键单击,取消选中【表尾】,删除多余列
7. 开始嵌套
8.设置数据关联
关于葡萄城报表

效果图 

ActiveReports 报表控件V12新特性 -- 无需ETL处理,即可实现跨数据源分析数据
1. 新建RDL/页面报表
2. 添加数据源并创建数据集
3. 添加表格 Table1,选择【产品】数据集
4. 添加Table 2,设置数据集【订单】
5. 添加Table3 选择【客户】数据集 
6. 去除 Table3 的表尾行,选中【表格详细数据行】,右键单击,取消选中【表尾】,删除多余列
7. 开始嵌套
8.设置数据关联
关于葡萄城报表

6. 去除 Table3 的表尾行,选中【表格详细数据行】,右键单击,取消选中【表尾】,删除多余列

ActiveReports 报表控件V12新特性 -- 无需ETL处理,即可实现跨数据源分析数据
1. 新建RDL/页面报表
2. 添加数据源并创建数据集
3. 添加表格 Table1,选择【产品】数据集
4. 添加Table 2,设置数据集【订单】
5. 添加Table3 选择【客户】数据集 
6. 去除 Table3 的表尾行,选中【表格详细数据行】,右键单击,取消选中【表尾】,删除多余列
7. 开始嵌套
8.设置数据关联
关于葡萄城报表

效果图

ActiveReports 报表控件V12新特性 -- 无需ETL处理,即可实现跨数据源分析数据
1. 新建RDL/页面报表
2. 添加数据源并创建数据集
3. 添加表格 Table1,选择【产品】数据集
4. 添加Table 2,设置数据集【订单】
5. 添加Table3 选择【客户】数据集 
6. 去除 Table3 的表尾行,选中【表格详细数据行】,右键单击,取消选中【表尾】,删除多余列
7. 开始嵌套
8.设置数据关联
关于葡萄城报表

7. 开始嵌套

注:嵌套前最好先预留好,父表格的尺寸。

7.1 将Table3 嵌套到Table2 的表格【详细数据行】中

ActiveReports 报表控件V12新特性 -- 无需ETL处理,即可实现跨数据源分析数据
1. 新建RDL/页面报表
2. 添加数据源并创建数据集
3. 添加表格 Table1,选择【产品】数据集
4. 添加Table 2,设置数据集【订单】
5. 添加Table3 选择【客户】数据集 
6. 去除 Table3 的表尾行,选中【表格详细数据行】,右键单击,取消选中【表尾】,删除多余列
7. 开始嵌套
8.设置数据关联
关于葡萄城报表

 7.2  整体调整Table2,将Table2嵌套至 Table1中

ActiveReports 报表控件V12新特性 -- 无需ETL处理,即可实现跨数据源分析数据
1. 新建RDL/页面报表
2. 添加数据源并创建数据集
3. 添加表格 Table1,选择【产品】数据集
4. 添加Table 2,设置数据集【订单】
5. 添加Table3 选择【客户】数据集 
6. 去除 Table3 的表尾行,选中【表格详细数据行】,右键单击,取消选中【表尾】,删除多余列
7. 开始嵌套
8.设置数据关联
关于葡萄城报表

此时预览,会发现三个表格确实都加载了不同的数据集,但确各不相关。

我们只是刚把嵌套完成,还未设置数据关联。

8.设置数据关联

8.1 设置表格的Filters属性

Table1【产品表】 -产品ID--Table2【订单表】-客户ID- Table3【客户表】 

因此我们需要在Table 2 上面添加 Filter属性,设置[产品ID]=[产品ID];

8.1.1 选中Table2,点击【属性对话框】

ActiveReports 报表控件V12新特性 -- 无需ETL处理,即可实现跨数据源分析数据
1. 新建RDL/页面报表
2. 添加数据源并创建数据集
3. 添加表格 Table1,选择【产品】数据集
4. 添加Table 2,设置数据集【订单】
5. 添加Table3 选择【客户】数据集 
6. 去除 Table3 的表尾行,选中【表格详细数据行】,右键单击,取消选中【表尾】,删除多余列
7. 开始嵌套
8.设置数据关联
关于葡萄城报表

ActiveReports 报表控件V12新特性 -- 无需ETL处理,即可实现跨数据源分析数据
1. 新建RDL/页面报表
2. 添加数据源并创建数据集
3. 添加表格 Table1,选择【产品】数据集
4. 添加Table 2,设置数据集【订单】
5. 添加Table3 选择【客户】数据集 
6. 去除 Table3 的表尾行,选中【表格详细数据行】,右键单击,取消选中【表尾】,删除多余列
7. 开始嵌套
8.设置数据关联
关于葡萄城报表

ActiveReports 报表控件V12新特性 -- 无需ETL处理,即可实现跨数据源分析数据
1. 新建RDL/页面报表
2. 添加数据源并创建数据集
3. 添加表格 Table1,选择【产品】数据集
4. 添加Table 2,设置数据集【订单】
5. 添加Table3 选择【客户】数据集 
6. 去除 Table3 的表尾行,选中【表格详细数据行】,右键单击,取消选中【表尾】,删除多余列
7. 开始嵌套
8.设置数据关联
关于葡萄城报表

8.1.2 同样设置 Table 3 过滤属性

ActiveReports 报表控件V12新特性 -- 无需ETL处理,即可实现跨数据源分析数据
1. 新建RDL/页面报表
2. 添加数据源并创建数据集
3. 添加表格 Table1,选择【产品】数据集
4. 添加Table 2,设置数据集【订单】
5. 添加Table3 选择【客户】数据集 
6. 去除 Table3 的表尾行,选中【表格详细数据行】,右键单击,取消选中【表尾】,删除多余列
7. 开始嵌套
8.设置数据关联
关于葡萄城报表

预览:

ActiveReports 报表控件V12新特性 -- 无需ETL处理,即可实现跨数据源分析数据
1. 新建RDL/页面报表
2. 添加数据源并创建数据集
3. 添加表格 Table1,选择【产品】数据集
4. 添加Table 2,设置数据集【订单】
5. 添加Table3 选择【客户】数据集 
6. 去除 Table3 的表尾行,选中【表格详细数据行】,右键单击,取消选中【表尾】,删除多余列
7. 开始嵌套
8.设置数据关联
关于葡萄城报表

8.2  使用 DataSetParameter 实现数据关联。

DataSetParameter 和创建过滤器都可以实现数据关联,我们可以根据自己的应用场景来灵活选择任意一种方式。

选中Table2 设置DataSetParameters 属性 

ActiveReports 报表控件V12新特性 -- 无需ETL处理,即可实现跨数据源分析数据
1. 新建RDL/页面报表
2. 添加数据源并创建数据集
3. 添加表格 Table1,选择【产品】数据集
4. 添加Table 2,设置数据集【订单】
5. 添加Table3 选择【客户】数据集 
6. 去除 Table3 的表尾行,选中【表格详细数据行】,右键单击,取消选中【表尾】,删除多余列
7. 开始嵌套
8.设置数据关联
关于葡萄城报表

8.2.1 设置数据集 DataSet2

添加参数后,修改查询语句:

select dbo.订单.*, dbo.订单明细.产品IDfrom dbo.订单 inner join dbo.订单明细 on dbo.订单.订单ID = dbo.订单明细.订单IDwhere 产品ID=@Parameter1 

ActiveReports 报表控件V12新特性 -- 无需ETL处理,即可实现跨数据源分析数据
1. 新建RDL/页面报表
2. 添加数据源并创建数据集
3. 添加表格 Table1,选择【产品】数据集
4. 添加Table 2,设置数据集【订单】
5. 添加Table3 选择【客户】数据集 
6. 去除 Table3 的表尾行,选中【表格详细数据行】,右键单击,取消选中【表尾】,删除多余列
7. 开始嵌套
8.设置数据关联
关于葡萄城报表

8.2.2 设置Table3 的DataSetParameters 属性

设置DataSet3 的查询语句

select *from dbo.客户where 客户ID=@Parameter1

ActiveReports 报表控件V12新特性 -- 无需ETL处理,即可实现跨数据源分析数据
1. 新建RDL/页面报表
2. 添加数据源并创建数据集
3. 添加表格 Table1,选择【产品】数据集
4. 添加Table 2,设置数据集【订单】
5. 添加Table3 选择【客户】数据集 
6. 去除 Table3 的表尾行,选中【表格详细数据行】,右键单击,取消选中【表尾】,删除多余列
7. 开始嵌套
8.设置数据关联
关于葡萄城报表

控件嵌套在设计复杂报表样式时应用非常广泛,如下图,实现表格与图表控件嵌套。

ActiveReports 报表控件V12新特性 -- 无需ETL处理,即可实现跨数据源分析数据
1. 新建RDL/页面报表
2. 添加数据源并创建数据集
3. 添加表格 Table1,选择【产品】数据集
4. 添加Table 2,设置数据集【订单】
5. 添加Table3 选择【客户】数据集 
6. 去除 Table3 的表尾行,选中【表格详细数据行】,右键单击,取消选中【表尾】,删除多余列
7. 开始嵌套
8.设置数据关联
关于葡萄城报表

定制培训加量全心送!凡在2017年12月31日之前,购买葡萄城控件团队授权企业授权的用户,不仅可以享受到优惠的价格,还可获赠葡萄城技术专家根据客户项目需求提供的定制培训服务。老客户推荐新客户成单,也将获得“客户推荐双重感恩礼”。

点击此处,了解更多。

转载请注明出自:葡萄城报表

关于葡萄城报表

葡萄城报表是一套强大的报表开发和系统搭建工具,既能与您开发的报表软件项目紧密集成,也可独立部署运行,支持多数据源,具有无编码、灵活、稳定等特性,可以帮您快速搭建专业的报表软件系统,实现各类报表的设计、管理、权限控制、数据填报、负载均衡及跨平台发布。

千万种报表,同一种选择!获知葡萄城报表更多详情,请访问如下网站:
了解报表开发控件:http://www.gcpowertools.com.cn/products/activereports_overview.htm
了解报表服务器:http://www.grapecity.com.cn/enterprise-solutions/activereports_server/