九套常规报表模型(转)
九套常规报表模型 |
我们可以通过九大报表模型的组合,快速完成大多数报表的设计。这九大模型分别为:列表、分组、主从、嵌套、交叉、图形、套打、分栏、填报。本文将重点对这九大模型的特征及适用范围进行阐述。 1、列表 列表是报表最通用的模式,在大多数报表中,都需要或部分需要将一组(多条)数据结构完全相同的数据以表格形式顺序展现出来,如下图所示: 2、分组 在列表的基础上,我们可能还需要对数据进行进一步的处理。比如,将同类数据显示在一个组中,并对这个组进行统计运算。如下图所示,对数据按省份进行分组,并将同一省份数据放在一个组内进行汇总统计。 3、主从 试想一下,有两组数据,之间的对应关系是一对多的关系,如何在报表中进行对应展现。 这就涉及到了主从报表模型。举例来说,订单数据在数据库中存储的时候,往往分主单表和明细表两个数据库表来存放。为了节约数据库开销和线路传输负荷,我们在取数据的时候也往往使用两个数据源进行分别数据提取,这样就形成了两个数据组。那么,现在要做的就是 A、设定两组组数据之间的关联关系(关联字段); B、在报表中以“显示一条总单数据-显示多条对应明细数据-显示下一条总单数据-显示多条明细……”的顺序循环展现出所有数据,如下示例: 总单数据一 --对应总单数据一的明细数据1 --对应总单数据一的明细数据2 --对应总单数据一的明细数据3 总单数据二 --对应总单数据二的明细数据1 --对应总单数据二的明细数据2 --对应总单数据二的明细数据3 …… 4、嵌套 嵌套报表其实是一种设计技巧的应用,类似编码过程中的模块化设计。当报表的复杂程度让设计者开始觉得逻辑混乱的时候,可以使用嵌套报表设计方法,将报表拆分为多个不同的设计页面,然后使用一个总的页面将这些设计页面整合起来展现。 此外,嵌套报表有时候也会用于主从结构的实现,通过逐层嵌套,可以实现无限层次的主从结构数据展现。 5、交叉 在所有的报表模型中,交叉报表模型可能是最特殊也是最常用的了。所谓交叉是指:报表的横向(列数和列标题)、纵向(行数和行标题)都是不固定的,根据数据源中返回的数据来动态创建。而后根据创建的列标题和行标题,进行交叉的统计汇总,汇总方式包括求和、求平均、求记录数、取最大/小值等。 6、图形 图形报表对于我们所有人来说,是一种最熟悉不过的样式了。在繁复的数据中,怎么最直观地表现出其中的规律,让阅读者瞬间心领神会,这个任务恐怕是非图形莫属了。 看看下面这个表格: 再看看这个图形: 前者给予了详细数据细节,后者则体现出一种业务趋势,相对更为直观。当然,实际应用中,这两者基本上都是结合使用的。(图形报表有意思的不仅仅这些,有兴趣可以看看《图形报表漫谈》) 7、套打 发票、支票等单据的打印填写,在样式上没有什么特殊之处,唯一要求就是打印的精确性。包括位置的精确和打印字样的精确。 设计此类报表时,需要将原始单据,比如一张发票,扫描成图片文件后,导入报表,设定报表宽度和高度与原始单据完全一致,然后就可以以图片为参照,在相应位置摆放数据。这样,设计的精确度就会非常高,设计者也不用凭肉眼比对反复打印教对了。 对了,忘记说很关键的一点,打印的时候图片是不用输出的,输出相关数据字样到打印机即可。在Max@X Analyser中,专门有一个控制开关,叫做“Printable”,可以控制每一个报表显示对象是否输出到打印机,默认状态下当然是“True”。在套打中,我们只需要将图片的“Printable”属性设置为“False”就可以了。 8、分栏 看过报纸吗?报纸的排版就是一种分栏样式的版面风格。如果需要这种风格,Max@X Analyser也提供了报表分栏设计。 分栏一般分为两类设定,一种是报表分栏,一种是局部区域分栏。前者是将整张报表设定分栏,后者是对报表的局部某个区域设定分栏。两者还可以交叉组合,这样局部区域的栏数将会达到 报表分栏数×局部分栏数 。 9、填报 要说填报,这个还真是属于“具有中国特色的……”。其实“填报”这个名称也不完全精确,实际应用中,又细分为“先填后报”、“先改后报”、“统计上报”三种应用情况。 先填后报:空白表单,让用户填写,填写完成后进行数据上报; 先改后报:先创建生成带数据的报表,让用户对报表中产生的数据进行修改,改毕后进行数据提交; 统计上报:将报表作为一种统计数据,然后将统计出的结果直接上报。 |