一张报表中整合来自多个不同表格或数据库的数据,即为多数据源。
1、 开启单一数据报表
2、 打开位于%FR_HOME%WebReportWEB-INFreportletsdocPrimaryCrossReportCross.cpt路径下的报表文件。
3、 添加新数据源
4、 新增数据集ds2,其SQL语句为SELECT * FROM。ds2与ds1均包含销售员字段,可用于关联分析或数据对比,便于后续处理与整合操作。
5、 关联数据字段
6、 所示,将ds2中的销售总额字段拖至单元格,并设定其父格为销售员对应单元格,实现销售总额随销售员动态扩展。
7、 设定筛选条件
8、 设计器预览效果如下所示
9、 每个销售员下方均重复展示销售总额的全部数据。
10、 尽管销售总额的父级字段关联销售员数据列,但因二者源于不同数据集,销售总额不会以该销售员作为筛选条件,彼此之间并无隶属关系。
11、 为实现销售总额与销售员的对应关系,需设定过滤条件,通过销售员信息将两个数据集关联起来。
12、 选中销售总额单元格,设置筛选条件为销售员等于C4,提取与C4单元格内容匹配的销售数据,结果所示。
13、 保存预览
14、 已完成的模板可参考路径: %FR_HOME%WebReportWEB-INFreportletsdocAdvancedMultidatasourceMulti_1.cpt,该文件包含多数据源配置的详细示例,适用于复杂报表设计,用户可据此进行个性化调整与扩展,提升报表开发效率。
15、 多源报表,整合更高效
16、 传统处理多数据源报表的方式,通常是通过编写SQL语句将多个数据源拼接为单一数据源。例如,将销量表与销售总额表合并时,使用类似SELECT * FROM 销量, 销售总额 WHERE 销量.销售员 = 销售总额.销售员的查询语句。当涉及的数据库表结构较为复杂,且关联的表数量超过两张时,SQL语句的复杂度会显著上升,编写和维护难度也随之增加,容易出错,影响效率。
17、 FineReport原生支持多数据源报表,可在单张报表中添加多个数据集,每个数据集通过简单的SQL语句提取所需表数据。在报表设计时,只需运用过滤条件,即可实现不同数据源之间的关联与整合,无需复杂操作,显著简化了多数据源报表的制作流程,提升开发效率与灵活性。
18、 多源报表视频详见专区
评论
更多评论