多数据源报表即一张报表中可以定义多个数据集,分别取出需要的数据库表,所取的数据库表甚至可以来自于不同的数据库。本文通过几个例子说明多个数据集数据如何相互关联来实现多源报表。

1. 描述

多数据源,就是在同一张报表当中,显示的数据来自于多个不同的表或不同的库。

如下图一张简单的多数据源报表,左侧蓝色部分来自于销量表,右侧黄色部分来自销售总额表,即数据来自于两张不同的数据库表:

2. 示例

2.1 打开单个数据源报表

打开报表%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Primary\CrossReport\Cross.cpt

2.2 新增数据源

再新增一个数据集ds2,其SQL语句为SELECT * FROM [销售总额]。ds2数据集与ds1数据集都有一个销售员字段。

2.3 绑定数据列

如下图,将ds2中销售总额数据列拖拽到单元格中,并设置父格为销售员所在单元格,使销售总额跟随销售员而扩展:

2.4 设置过滤

此时设计器预览,效果如下:

可以看到,扩展出来的每一个销售员下,都重复显示销售总额字段的所有数据。

虽然销售总额的父格为销售员数据列,由于他们来自于不同的数据集,因此销售总额不会将父格销售员作为条件进行筛选,即不存在附属关系。

我们需要销售总额与销售员一一对应,就需要设置过滤条件,将这两个数据集的数据通过销售员关联起来。

选中销售总额所在单元格,设置过滤,添加过滤条件:销售员 等于 'C4',取出与C4单元格中销售员匹配的数据,如下图:

2.5 保存并预览

保存模板,预览报表,即可看到如上的效果。

3. 多数据源报表优势

多数据源报表传统的做法,是通过拼SQL将多源整合为单源。如上例中将销量表与销售总额表整合起来:SELECT * FROM 销量,销售总额 WHERE 销量.销售员 = 销售总额.销售员 。若数据库表比较复杂,且使用的表个数不止2张而是更多时,可以想象,最终的SQL查询语句将会非常复杂。

FineReport天然支持多数据源的报表,一张报表中可以添加任意多个数据集,每个数据集使用最简单的SQL语句查询出需要的表数据,在报表中只需要使用过滤就可以将来自不同表的数据相互关联起来。使得多数据源报表制作更加简单。

多数据源报表解析之简单多源报表相关推荐

  1. python中excel制作成绩报表_python制作简单excel统计报表2之操作excel的模块openpyxl简单用法...

    python制作简单excel统计报表2之操作excel的模块openpyxl简单用法 # coding=utf-8 from openpyxl import Workbook, load_workb ...

  2. DirectShow基础编程 最简单的源Filter的编写步骤 (转)

    转自: http://blog.csdn.net/bwmwm/article/details/5463852 1.创建一个空的Dll工程,添加5个空文件分别名为:MyOutputPin.h.MySou ...

  3. 别拿Excel糊弄老板了!IT总监做报表好看且简单,诀窍在哪

    很多人,无论是业务(运营.销售.财务),还是IT员工,程序员,会遇到报表的问题,就算没有报表,也有日报.周报的痛苦. 我本是数据仓库工程师一枚,一直做着数据仓库的运维.代码开发工作和业务部门开会沟通需 ...

  4. android项目源码解析04:新浪微博客户端源码解析

    本文主要介绍如何构建新浪微博客户端.以网上流传weiboSina源码为例介绍,其下载地址为: http://download.csdn.net/detail/ryzhanglu/3453875. 1. ...

  5. Spring源码深度解析(郝佳)-学习-源码解析-创建AOP静态代理实现(八)

    继上一篇博客,我们继续来分析下面示例的 Spring 静态代理源码实现. 静态 AOP使用示例 加载时织入(Load -Time WEaving,LTW) 指的是在虚拟机载入字节码时动态织入 Aspe ...

  6. Spring源码深度解析(郝佳)-学习-源码解析-基于注解切面解析(一)

    我们知道,使用面积对象编程(OOP) 有一些弊端,当需要为多个不具有继承关系的对象引入同一个公共的行为时,例如日志,安全检测等,我们只有在每个对象引用公共的行为,这样程序中能产生大量的重复代码,程序就 ...

  7. Spring源码深度解析(郝佳)-学习-源码解析-Spring MVC(三)-Controller 解析

    在之前的博客中Spring源码深度解析(郝佳)-学习-源码解析-Spring MVC(一),己经对 Spring MVC 的框架做了详细的分析,但是有一个问题,发现举的例子不常用,因为我们在实际开发项 ...

  8. RDLC报表系列(一) 简单的动态数据绑定和配置

    RDLC报表系列(一) 简单的动态数据绑定和配置 原文:RDLC报表系列(一) 简单的动态数据绑定和配置 RDLC系列链接 RDLC报表系列(一) 简单的动态数据绑定和配置  RDLC报表系列(二) ...

  9. java查询mysql装载bean_jsp与javabean链接mysql数据库并查询数据表的简单实例源码

    jsp与javabean链接mysql数据库并查询数据表的简单实例源码.这个简单的实例是给新手学习的,或者一些高手临时忘记怎么使用jsp操作mysql数据库时候查找的,包括了建立mysql数据库连接的 ...

最新文章

  1. X-UA-Compatible
  2. 皱眉细节完美复刻,阿尔伯塔大学团队标星2.5K的项目生成超逼真的肖像画
  3. 西南交通大学计算机程序设计实验13,西南交通大学C++实验报告.doc
  4. 如何用正确的方法来写出质量好的软件的75条体会
  5. Oracle 关于事物的描述
  6. OpenCV 2.4.0 正式版发布,开源计算机视觉库
  7. 小米旗下电商平台「有品有鱼」宣布于3月终止运营
  8. WLS_Oracle Weblogic服务器生命周期(案例)
  9. python getopt_Python getopt
  10. 影视导航资源库api php,影视资源采集站
  11. 网管师职业规划(3)
  12. 计算机辅助教学:多媒体课件制作教程,多媒体课件制作教案
  13. 15个网页数据采集中最常遇到的问题(干货)
  14. 相机模型--针孔相机投影(pinhole camera model)
  15. iText API操作doc文档
  16. 自由软件到底值多少钱?
  17. 贵州杰赛s65机顶盒子CPU S905M-B 刷机教程及纯尽版固件
  18. 考研容易考的211大学计算机,考研中比较容易考的211名校,这四个你知道吗?
  19. 计算机编程语言排行榜—TIOBE世界编程语言排行榜(2020年12月份最新版)
  20. 掌握VS2010调试 -- 入门指南

热门文章

  1. 如何使用PowerShell处理SQL Azure数据库
  2. sql server 外键_什么是SQL Server中的外键
  3. 如何自动维护全文索引和目录
  4. AT2112 Non-redundant Drive
  5. vue-cli配置移动端自适应
  6. listview-android:打造万能通用适配器(转)
  7. spring boot整合cxf发布和调用webservice
  8. CenterOS的安装配置(配图解)
  9. 夺命雷公狗---DEDECMS----14dedecms首页导航条的完成
  10. 一次编辑 GridView 的所有行