`
fuerbosi
  • 浏览: 465565 次
文章分类
社区版块
存档分类
最新评论

润乾报表 多源关联分片

 
阅读更多

多层交叉报表

2.1.1. 一个例子

我们先看下面这个多层交叉报表:

图 2.1.


从上面这个报表可以看出,这是一个多层的交叉报表,上边有两层动态横向扩展的上表头,左边有两层动态纵向扩展的左表头,中间的交叉点进行汇总统计,统计值和上表头、左表头息息相关。润乾报表 多源关联分片,我们看一下这样的报表在润乾报表中是如何设计的:

  1. 首先定义数据集:

    ds1:SELECT 客户.地区,客户.城市,订单明细.数量,订单明细.折扣,订单明细.单价,订单.雇员ID,订单.订购日期,订单明细.产品ID FROM 订单明细,订单,客户 WHERE 客户.客户ID = 订单.客户ID AND 订单.订单ID = 订单明细.订单ID and 订单.订购日期 is not null and 客户.地区 in ('华南','西南') and year(订单.订购日期)>=1998

  2. 写入单元格表达式,如下图所示:

    图 2.2.


    1. 在A3单元格录入表达式:=ds1.group(year(订购日期),false)+"年"

    2. 在C3单元格录入表达式:=ds1.group(month(订购日期),false)+"月"

    3. 在D1单元格录入表达式:= ds1.group(地区,false),扩展方向:横向

    4. 在D2单元格录入表达式:= ds1.group(城市,false),扩展方向:横向

    5. 在D3单元格录入表达式:=ds1.sum(数量*单价)

    从上图可以看出,上表头分别通过D1格和D2格横向扩展形成,左表头通过A3格和C3格纵向扩展形成,中间的交叉点利用sum函数进行汇总,于是一个多层交叉报表很轻松就完成了。

    例子用到了非线性报表模型中的扩展模型以及主格和附属格的模型,介绍如下:

2.1.2. 扩展模型

扩展单元格: 当单元格的数据值表达式为集合表达式时,该单元格默认为可扩展单元格。可以为扩展单元格设置一个扩展方向,扩展可以有横纵两个方向,即横向扩展和纵向扩展,但一个扩展格同时只能有一个扩展方向。

横向扩展: 当可扩展单元格的扩展方向为横向时,该单元格进行的扩展称为横向扩展。此时该单元格会横向进行复制,复制出的单元格的数据值依次为表达式的结果数据值,表达式返回几个值,单元格就复制几个。 复制出来的新单元格的所有属性都引用被复制单元格的属性;

图 2.3.


纵向扩展: 当可扩展单元格的扩展方向为纵向时,该单元格进行的扩展称为纵向扩展。此时该单元格会纵向进行复制,复制出的单元格的数据值依次为表达式的结果数据值,表达式返回几个值,单元格就复制几个。 复制出来的新单元格的所有属性都引用被复制单元格的属性;

图 2.4.


不可扩展: 当单元格的数据值表达式为单值表达式时,该单元格默认为不可扩展单元格。

2.1.3. 主格模型

主格和附属格: 单元格进行扩展的过程中,缺省情况下,相对于其右(下)边的单元格而言,扩展格是主动复制的,被称为其它格(其右/下的格)的主格,而其右(下)的单元格是被动跟随复制的,被称为扩展格的附属格或子格。主格和附属格是相对的概念,即某格是另一格的主格或附属格,不存在单独的主格和附属格。

从主格的定义中看,显然只有扩展格才能是其它格的主格!

要注意的是,在缺省情况下,扩展格左(上)的格并不是其附属格,只有右(下)的格才是其附属格。 特别地,某个单元格的主格属性可以人为被改变。

左主格和上主格: 单元格进行纵向扩展时,我们又称其为其它格(其右/下的格)的左主格,而横向扩展时则称为上主格。一个单元格可以既有左主格又有上主格。 特别地,某个单元格的左主格或者上主格属性可以人为的被改变,即可以人为的把某个纵向扩展格右边的单元格设为他的左主格,或者把某个横向扩展格下方的单元格设为他的上主格。

多层扩展: 多个单元格同时进行扩展时,一个扩展格可以既是某些格的主格又是另一个扩展格的附属格,这种情况下就形成多层扩展的情况。如果主格A1的附属格是B1,而B1还有附属格C1,那么B1称为A1的1级子格(或1级附属格),C1称为A1的2级子格(或2级附属格),同时A1称作B1的1级主格,A1称作C1的2级主格。如果C1再有附属格D1,那么A1是D1的3级主格,而D1是A1的3级子格。显然,B1是D1的2级主格,D1是B1的2级子格。

同一行(列)上有两个或更多的扩展格。左(上)边的扩展格将是右(下)边的扩展格的主格,右(下)边的扩展格是其左(上)边扩展格的附属格,同时又是其右(下)边单元格的主格。

图示:

图 2.5.


直接主格和直接附属格: 单元格进行多层扩展时,若主格A的附属格B不再有任何同方向的主格是该主格A的附属格,则称B为A在该方向上的直接附属格,也称为一级附属格;反之,A称为B的直接主格,也称为一级主格

扩展变化规则: 多层扩展时,扩展次序是从主到次的,即先扩展主格,然后扩展其附属格,再扩展其二级附属格,依此类推。

注意
[注意]

单元格进行横向扩展时,会将其同列的上主格拉大,把其附属单元格复制,特别地,如果其某个上主格不在同列上,则该上主格不会被拉大;单元格进行纵向扩展时,会将其同行的左主格拉大,把其附属单元格复制,特别地,如果其某个左主格不在同行上,则该左主格不会被拉大。

一般地,主格能够主动进行扩展复制,称为主动扩展格;附属单元格被主单元格带动着复制,称为被动复制格。由于附属单元格同时又可能是别的单元格的主格,本身还可以进行主动扩展复制,因此主动扩展格和被动复制格是相对的。既不能主动扩展复制,也不能被动复制的单元格,我们称为不可复制格,或者叫固定格。

同一报表中可能同时有纵向扩展格和横向扩展格,如果它们的子格有重叠部分,则这些子格就即有左主格又有上主格,在扩展时会被即向下又向右复制,形成一片矩形单元格区域,从而做到交叉扩展。相应地,在这种机制下,多层交叉也不难实现。

在交叉扩展中,有的单元格有可能既被横向扩展向右复制,也被纵向扩展向下复制,可是,单元格的横向扩展与纵向扩展这两种扩展是相互独立的,既可以先进行横向扩展,也可以先进性纵向扩展,并不会影响扩展之后的结果。

例3.3.2-2:

图 2.6.


例3.3.2-3:

图 2.7.


例3.3.2-4:

图 2.8.


例3.3.2-5:

图 2.9.

分享到:
评论

相关推荐

    润干报表4.0技术白皮书_企业版.doc

    润乾报表软件的核心特点在于开创性地提出了非线性报表数学模型,采用了革命性的强关联语义模型、多源关联分片、不规则分组、自由格间运算、行列对称等技术,使得复杂报表的设计简单化,以往难以实现的报表可以轻松...

    帆软Finereport制作多源分片报表模板 + SQL脚本

    压缩文件中为已完成cpt模板案例,多源分片报表数据来源是多个数据集构成的集合,同时报表的纵向或横向或双向同时被分成了多个区域,能够很好的应用广泛的交叉报表。

    多数据源报表解析之简单多源报表

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

    润黔报表文档润黔报表文档

    润黔报表文档润黔报表文档润黔报表文档润黔报表文档润黔报表文档

    高级教程[快逸 v4.0]

    第二章 多源关联分片* 理解多源分片的概念与特征 体会多源分片报表的制作 理解扩展模型、主格模型 在报表中使用多个数据集,并在报表中使其数据相关 设计多源交叉报表 人为定义主格 第三章 不规则分组* 理解不规则...

    润前报表应用开发教程

    润前报表应用开发包含了开发教程和实验代码,是个不错的入门教程

    多数据源报表—简单多源报表

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

    用集算器实现跨数据库关联报表

    然而我们也经常会遇到通过报表自身的多源关联功能很难实现一些跨库关联的报表(由于数据结构和业务本身决定)。这当然容易理解,报表工具主要是来做数据展现的,而对数据计算本身来说并不擅长。  即使有的能实现,...

    合并报表抵消分录总结合并报表八步法合并报表模板

    1.把母公司对纳入合同范围的子公司的长期股权投资按权益法进行调整(只调整到合并报表,为后面的亮相合并抵消分录打下基础。合并会计报表中的母公司数据仍按成本法列报) 2.母公司对子公司的权益性投资项目所有者...

    润乾实用培训资料-设计、填报、统计图、实例

    润乾培训的时候培训老师给的一些资料 很实用的 对一些开发的人员很有用 ,包括设计、填报、统计图、相关实例等,实例中分部署、多源关联、基础填报、基础统计图、填报专题、增强功能等

    用友NC65报表创建步骤-实用

    报表部分:查询语句部分,可以sql,可以表关联后自动创建(必须遵循pk_org , pk_group 每个语义模型中必含集团和组织PK) 语义模型(查询语句)-动态建模平台-报表平台-语义模型-集团 自由报表(展示界面)-动态建模...

    边干边学LabVIEW报表生成_labview报表_报表生成;_LABVIEW报表_labview_

    边干边学labview报表生成是关于labview中报表生成部分的讲解

    边干边学报表生成.zip

    有labview报表生成的例子,可以实现报表生成适合labview2011版本的使用

    边干边学LabVIEW报表生成.zip_LABVIEW报表_excel报表_labview_labview excel_labv

    利用labview可将采集数据等保存到word和Excel报表中,做出漂亮的报表。

    FineReport功能说明

    3、 多数据源关联:同一张报表可以从多个数据库或者多个数据表中取数;并且在报表中允许对 多个数据集进行关联运算。 4、 参数查询界面:通过拖拽参数来布局参数查询页面,支持文本,数字,日历,下拉框,下拉 复选...

    水晶报表 水晶报表 水晶报表

    水晶报表水晶报表水晶报表水晶报表水晶报表水晶报表水晶报表水晶报表水晶报表水晶报表水晶报表水晶报表水晶报表水晶报表水晶报表

    报表vf 报表设计报表vf 报表设计报表vf 报表设计报表vf 报表设计

    报表vf 报表设计报表vf 报表设计报表vf 报表设计报表vf 报表设计报表vf 报表设计报表vf 报表设计报表vf 报表设计报表vf 报表设计

    1104报表模版汇总(2013).xlsx

    G01资产负债项目统计表附注第Ⅲ部分:存贷款明细报表(一) G01资产负债项目统计表附注第Ⅳ部分:存贷款明细报表(二) G01资产负债项目统计表附注第Ⅴ部分:人民币备付率报表 G01资产负债项目统计表附注第Ⅵ部分:...

    基于Vue财务报表的企业关联关系可视分析系统源码+全部资料齐全.zip

    基于Vue财务报表的企业关联关系可视分析系统源码+全部资料齐全.zip基于Vue财务报表的企业关联关系可视分析系统源码+全部资料齐全.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到...

    数据可视化报表系统源码.zip

    数据可视化报表系统源码,一款数据可视化报表系统,含报表和大屏设计,像搭建积木一样在线设计报表!功能涵盖,数据报表、打印设计、图表报表、大屏设计等! Web 版报表设计器,类似于excel操作风格,通过拖拽完成...

Global site tag (gtag.js) - Google Analytics