华丹CHARISMA报表快速入门

更新时间:2024-03-18 03:31:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

华丹CHARISMA报表快速入门

第1章 前言 .............................................................................................................................3 第2章 准备 .............................................................................................................................3

2.1 定义数据表 ..................................................................................................................3 2.2 创建数据库 ..................................................................................................................4 第3章 系统资源初始化 ............................................................................................................4

3.1 连接数据库 ..................................................................................................................4 3.2 注册子系统 ..................................................................................................................5 3.3 注册数据字典 ..............................................................................................................6

3.3.1 数字型字典 ........................................................................................................6

3.3.2 引用字典 ............................................................................................................8 3.4 生成表列信息 ..............................................................................................................9 第4章 一个简单报表 ............................................................................................................. 13

4.1 设定数据源 ................................................................................................................ 13 4.2 报表预览 ................................................................................................................... 16 4.3 报表发布 ................................................................................................................... 17

4.3.1 添加模块组 ...................................................................................................... 17 4.3.2 发布报表模块 ................................................................................................... 19 4.4 报表设计 ................................................................................................................... 20

4.4.1 加入报表表头/表尾 ........................................................................................... 20

4.4.2 创建网格表头 ................................................................................................... 21 4.4.3 生成汇总行 ...................................................................................................... 22 4.4.4 4.4.5 4.4.6 4.4.7

根据列值显示行颜色 ........................................................................................ 24 纵向合并列 ...................................................................................................... 25 自动刷新报表 ................................................................................................... 26 随意增加计算列 ............................................................................................... 27

4.4.8 设定报表列宽度 ............................................................................................... 29 4.4.9 设定冻结列 ...................................................................................................... 30

第5章 各类报表制作 ............................................................................................................. 31

5.1 列表报表 ................................................................................................................... 31 5.2 明细报表 ................................................................................................................... 31

5.2.1 定制基本报表 ................................................................................................... 32 5.2.2 定制明细报表 ................................................................................................... 33 5.3 分组报表 ................................................................................................................... 39

5.3.1 定制基本报表 ................................................................................................... 40

5.3.2 设定分组信息 ................................................................................................... 40 5.3.3 设定分组汇总 ................................................................................................... 41 5.3.4 完成分组报表制作 ............................................................................................ 42 5.4 嵌套报表 ................................................................................................................... 42

5.4.1 定制基本报表 ................................................................................................... 43

5.4.2 注册子报表 ...................................................................................................... 43 5.4.3 在主报表中嵌套子报表 ..................................................................................... 44 5.5 图表报表 ................................................................................................................... 44

5.5.1 定制基本报表 ................................................................................................... 45 5.5.2 设定图表信息 ................................................................................................... 46

1

华丹CHARISMA报表快速入门

5.5.3 完成图表制作 ................................................................................................... 47

5.6 交叉报表 ................................................................................................................... 47

5.6.1 定制基本报表 ................................................................................................... 48 5.6.2 生成交叉报表资源 ............................................................................................ 49

第6章 WEB组件制作............................................................................................................ 51

6.1 TAB标签制作 ............................................................................................................. 51

6.1.1 定制TAB标签资源 .......................................................................................... 51 6.1.2 发布TAB标签 ................................................................................................. 52

第7章 系统管理 .................................................................................................................... 53

7.1 增加系统用户 ............................................................................................................ 53 7.2 创建角色 ................................................................................................................... 54 7.3 分配角色 ................................................................................................................... 55 7.4 重新登录 ................................................................................................................... 56

2

华丹CHARISMA报表快速入门

第1章 前言

在本文中,我们通过班级、学生、成绩报表为例,简单介绍一下如何在CHARISMA平台上制作常见的几种类型报表。

我们只介绍一些基本报表的做法,复杂类型报表的制作,请参阅“CHARISMA平台使用手册”(以下简称使用手册)。

利用CHARISMA平台制作综合查询、统计分析报表,不用任何编码,完全采用参数定制的方式。报表制作人员只需要通过SQL报表向导(或存储过程报表向导)定制好数据源后,系统自动生成基本报表,在此基础上可以通过基于WEB的报表设计器对报表进行定制,如添加表头、表尾、汇总信息等。定制的报表模板是以参数的形式存放在系统数据库中的。报表运行时,由报表引擎将报表模板从数据库中取出来,进行解析,并从业务库中抽取数据,最后将报表展现出来。

利用CHARISMA平台可以非常方便制作各类报表,可以非常方便从多个数据库中抽取数据,展现在同一报表中。

本文中,我们没有对各个数据项的具体含义做详细的描述,大家在制作时可以参考使用手册中的解释。

第2章 准备

2.1 定义数据表

在这个例子中,我们用到了班级信息表、学生信息表及成绩表,定义如下:

班级表(CLASSINFO): 字段描述 班级标识 班级名称 班主任 教室 备注

学生表(STUDENT): 字段描述 班级 学号 姓名 性别 年龄

字段名 CLASSID TEATCHER REMARK 数据类型 varchar(10) varchar(20) 主键 Y 允许空 数据字典 CLASSNAME varchar(100) CLASSROOM varchar(100) varchar(255) Y Y Y 字段名 CLASSID STUDENT NAME SEX AGE 数据类型 varchar(10) decimal(4) varchar(20) decimal(4) decimal(4) 主键 Y Y 允许空 数据字典 引用字典,从CLASSINFO中取 数字字典,1-男,2-女 3

华丹CHARISMA报表快速入门

住址 电话 职位 相片 备注

DRESS TEL POST PHOTO REMA varchar(100) varchar(10) decimal(4) image varchar(100) Y Y Y Y Y 数字字典,0-学生,1-班长,2-学习委员 成绩表(SCORE): 字段描述 班级 学号 科目 成绩 字段名 CLASSID 数据类型 varchar(10) 主键 Y Y Y 允许空 数据字典 引用字典,从CLASSINFO中取 数据字典,1-语文,2-数学,3-英语,4-物理,5-化学 STUDENTID decimal(4) SUBJECT SCORE decimal(4) decimal(3,1)

数据表的SQL脚本及其数据脚本,在安装盘及试用版中的SQL目录下都有,可以直接使用。

2.2 创建数据库

以sqlserver为例。

创建数据库demo3。并依次执行安装盘中sql\\sqlserver\\目录下(试用版在c:\\charisma_rd\\sqlserver目录下)的demo.sql,demo_data.sql文件中的SQL脚本,完成示例数据表的安装。

注意,在demo.sql、demo_data.sql中,还存在着其它的数据表,一并执行即可。

在使用试用版时,如果不想创建数据库,可以用试用版中的demo数据库,表结构与上面的一样。

第3章 系统资源初始化

系统资源初始化,主要指配置数据库连接资源、注册子系统信息、生成表列信息及字典信息注册。

系统资源初始化是在CHARISMA平台上制作报表的前提。

3.1 连接数据库

要对业务库访问,首先必须把这个业务库挂到平台上,也就是配置数据库连接参数,使平台可以访问这个业务库。

下面我们就将demo3数据库连到平台中。

操作模块:系统控制中心>>注册业务应用>>数据库连接维护。

新增界面如下:

4

华丹CHARISMA报表快速入门

按上图配置即可,注意DBURL中数据库IP地址及数据库名需要设对。DB资源标识不是数据库名,是该资源的标识。

3.2 注册子系统

在CHARISMA平台上可以同时开发运行多个综合查询、报表分析系统。每个系统是以子系统进行管理的,所以我们必须注册子系统。

操作模块:系统控制中心>>注册业务应用>>子系统信息维护。

对应的新增模块如下:

注意子系统标识demo3与运行数据库资源标识demo3,不是一个概念,不必一样。

5

华丹CHARISMA报表快速入门

3.3 注册数据字典

什么是数据字典,为什么要注册数据字典,我们先来看一下数据表里的数据,如下图所示:

从上图中,可以看出:班级(CLASSID)、性别(SEX)、职位(POST)这三列,数据表中存储的数据都是代码。如果这些代码直接显示到界面上,用户是看不懂它的含义,同时,用户在录入时,也不知道该录入什么值。

这就用到了字典。字典有两方面作用:一是将数据库中的代码翻译成对应描述,显示在界面上;二是提供下拉选择框供用户选择输入。

在字典中,有两个比较重要的概念:字典标识、字典描述。字典标识就是记录在数据库中的值;字典描述就是显示在界面上的值。比如性别字典,1-男,2-女,1,2对应字典标识,男,女对应字典描述。

3.3.1 数字型字典

在这个例子中,学生表里有性别、职位两个数字型字典,成绩里还有一个科目的数据字典,参考前面的数据表定义。

定义如下:

打开模块:系统控制中心>>数据字典管理>>数字字典维护,点击“新增字典组”,界面如下所示:

定义性别字典:

6

华丹CHARISMA报表快速入门

定义职位字典:

定义科目字典:

7

华丹CHARISMA报表快速入门

3.3.2 引用字典

引用字典,即引用其它表中的数据作为字典的意思。

在学生信息及分数信息中,均有“CLASSID”班级标识这个字段,也要求用字典处理。而班级信息是记录在表CLASSINFO中的,所以在这里就可以用“引用字典”处理了。

通过引用字典“翻译”过来的是班级名称,而不是班级号,比如A:高三一班 。 其实现方式:

打开模块:系统控制中心>>数据字典管理>>引用字典维护,定义班级字典,如下图所示:

8

华丹CHARISMA报表快速入门

3.4 生成表列信息

数据表列信息,就是数据库表字段对应的信息。有些信息是自动从数据库中提的,如列名、数据类型、数据位长度、是否主键、是否允许空等;有些信息是平台为处理业务而设置的,如列描述、字典信息、显示风格等。

在制作报表时,要用到对应表的数据列信息,所以我们必须将表列信息设置好。如果不设定表列信息,则对于同一数据表,每生成一张报表,都要在报表中设定一遍数据列描述及字典信息。

打开模块:系统控制中心>>表列信息管理>>表列信息生成向导,定义CLASSINFO,STUDENT及SCORE三张表对应的数据表列信息。 界面如下图所示

点击“下一步”按钮,即可进入“数据表列信息维护”界面。也可以通过:系统控制中心>>表列信息管理>>表列信息维护来打开。界面如下所示:

可以编辑上面的数据表信息,设定数据表描述。

分别点击三个数据表的“表列信息”链接进入表列信息维护界面。 设置CLASSINFO表列信息:

9

华丹CHARISMA报表快速入门

设置STUDENT表列信息:

设置STUDENT表列信息中字典量,有:班级标识、性别及职位。

点击“编辑”按钮,即可进入表列信息的详细设置界面。字典设置分别如下图所示: 班级:

10

华丹CHARISMA报表快速入门

性别:

职位:

设置SCORE表列信息:

11

华丹CHARISMA报表快速入门

设置SCORE表对应的表列信息中的字典信息,即班级标识及科目。 班级标识:

科目:

12

华丹CHARISMA报表快速入门

第4章 一个简单报表

以学生报表为例,完成下图中常见的基本报表的制作。

4.1 设定数据源

制作报表,首先必须设定好数据源。

数据源可以通过SQL报表向导来生成,其制作步骤如下:

打开模块:系统控制中心>>智能报表管理>>SQL报表向导,设定数据源,步骤如下: 选择数据表:

13

华丹CHARISMA报表快速入门

点击“下一步”,打开选择查询数据列界面:

设定数据表列,也就是设定SQL中SELECT关键字后面的查询列名。 设定好数据表列后,点击“下一步”,进入条件设定界面:

条件值输入框中默认值是“?”,表示占位符,将来生成报表条件输入框。这里也可以是具体值,如’abc’,也可以是列名(关联查询时)。

设定条件时,可以任意设定多个条件,将来展现报表时,可以进行组合查询(即任选多个条件)。 设定好条件后,点击“下一步”,进入排序设定界面:

14

华丹CHARISMA报表快速入门

排序设定,即对应SQL中的ORDER BY子句。

设定好排序后,点击“下一步”,进入GROUP BY设定界面:

注意这里的分组(GROUP BY)与分组报表不同。这里的分组,是设定SQL中的GROUP BY语句;而分组报表,则是将具有相同值的数据进行分组。二者最明显的不同在于前者只显示汇总数据,不显示详细数据。

这个例子不需要设定GROUP BY,则直接点击“下一步”即可,进入SQL设定界面。

SQL设定界面如下图:

可以对系统生成的SQL进行任何修改,可以加入子查询等,但必须符合目标数据库的SQL

15

华丹CHARISMA报表快速入门

规范。

其中,占位符-“?”对应查询条件,将来自动生成条件输入框。 如果该报表不需要设定权限,即谁都可以访问该报表,则将“是否设置权限”项设定为“否”。 点击“完成”按钮,系统根据设定的SQL自动完成对报表信息的设置,并进入报表维护界面:

4.2 报表预览

点击上节报表维护界面中的“报表设计”链接,即可以打开报表设计器:

点击报表设计器导航菜单中“报表预览”链接,预览刚才所做的报表:

16

华丹CHARISMA报表快速入门

从图中可以看出,设定好SQL后,系统自动生成对应的报表资源:

? 自动生成报表条件输入框,包括下拉框等输入控件,全自动生成,不需任何编码,而且

可以进行组合查询,即任选一组条件作为查询条件; ? 自动实现分页浏览;

? 自动实现多列动态排序,注,多列排序时,先点排序级别低的,再点高的,如要按班级、

性别排序,则先点性别,再点班级; ? 自动实现打印预览及打印功能;

? 自动实现导出功能,可精确导出EXCEL。

从上可以看出,利用CHARISMA报表来生成报表是相当简单、方便的,特别是对于制作综合查询,优势是更加突出,这是别的报表工具无法比拟的。

4.3 报表发布

报表制作完成后,可以发布到系统的导航菜单中(注意不是设计器导航菜单)。 实现步骤:

4.3.1 添加模块组

打开模块:系统控制中心>>系统资源发布>>系统模块维护。

17

华丹CHARISMA报表快速入门

我们先增加一个模块组(菜单组)。

点击“简单学习示例”模块组,如下图所示:

再点击上图右面窗口中“下级模块组”按钮,出现如下界面:

点击上图中“新增模块组”,如下图:

18

华丹CHARISMA报表快速入门

点击“保存”后,关闭“系统模块维护”窗口。

4.3.2 发布报表模块

发布报表模块,通过报表设计器即可。

在报表设计器导航菜单中,点击“报表发布”,打开发布界面:

上图中,系统自动设置好大部分信息,包括模块标题、模块URL等。将“所属模块组”设定为报表快速入门。

其中:

? 子系统:就是选择报表对应的系统。

19

华丹CHARISMA报表快速入门

? 关联权限标识:这个模块与哪个权限对应,在这里指报表权限。如果设定了关联权限,这个菜单项就与该权限关联,这样没有此权限的用户进到系统,就看不到这个菜单项。 ? 模块URL:对应该报表的访问URL,详细含义参考“使用手册”。 报表发布好后,打开主窗口的“简单学习示例”并刷新,界面如下:

可以看出,我们刚才制作的报表,已成功发布到导航菜单中。

在此基础上,我们可以对它进行授权。如何授权请参考使用手册中系统管理部分的介绍。

4.4 报表设计

4.4.1 加入报表表头/表尾

下面我们给刚做的报表添加表头、付标题、表尾。效果如下图:

实现步骤:

20

华丹CHARISMA报表快速入门

点击报表设计器导航菜单中的“其它报表资源>>报表表头/表尾”,打开界面如下图:

点击“新增表头/表尾”,打开界面如下:

其中,标题的内容2为:[%=repCnd(classid,true)%]学生信息一览表。 保存后即达到前面的效果。

从图中可以看出,表头表尾的每一行,都可以设定三列内容,分别居左、居中、居右。如果某一列不设定,保持空即可。

4.4.2 创建网格表头

网格表头是用来实现多层表头的。效果如下图:

实现步骤如下:

点击报表设计器导航菜单中“其它报表资源>>列表网格表头”,在打开的界面中点击“新增网格表头”,出现的界面如下:

21

华丹CHARISMA报表快速入门

数据项说明:

? 行号:一个列表报表可以设定多层表头,每一层对应一行网格表头,从上到下按行号排

列。 保存后,转到如下界面:

点击“标题列”链接,打开标题列设定界面,设定好的界面如下图所示:

保存后,通过“报表预览”就会看到我们前面的“多层表头”的效果图了。

4.4.3 生成汇总行

有时需要在报表下方或上方添加汇总行,对数据进行汇总。效果图如下:

一个报表可以有多行汇总,如求平均值、求和等,位置可居上或居下。 制作过程如下:

点击报表设计器导航菜单中的“列表汇总资源”,打开界面如下:

22

华丹CHARISMA报表快速入门

点击“新增汇总信息”,如下图所示:

数据项说明:

? 汇总标识:标识该汇总资源,由字母、数字、下划线组成。 ? 显示序号:设定显示顺序,序号小的居上。

? 显示位置:指定当该汇总位于结果记录上部还是底部。

? 单记录忽略:如果只有一条记录,是否忽略该汇总。 ? 合并空列:如果设定为“是”,系统将相邻没有没定汇总及值为空的列合并在一起。 ? 汇总类型:分页汇总及总汇总,页汇总每页都显示,汇总的是当前页的数据,总汇总,

则只出现在首页(顶部显示)或最后页(底部显示),汇总的是满足条件的所有数据。 ? 显示风格:设定该汇总行(TR)的显示风格,CSS格式,可含报表嵌入标签[%=exp%]。如:background-color: #98AB6F。

保存后,进入下面界面:

23

华丹CHARISMA报表快速入门

点击“汇总列信息”即可以打开汇总列信息维护界面:

将不需要汇总的列删除,并相应修改汇总表达式,如下图:

保存后,预览报表,即达到前面的效果。

4.4.4 根据列值显示行颜色

有时根据业务需求,要按某列的值动态显示行颜色。

这们这里以性别为例,将男生对应的行显示成蓝色,女生显示红色。 实现步骤如下:

在报表设计器导航菜单中点击“报表基本资源维护”,打开报表基本信息维护界面。点击“显示风格”标签页,在列表行风格中写上:color:[%=if(repField(\。如下图:

24

华丹CHARISMA报表快速入门

保存后预览报表,效果图如下:

4.4.5 纵向合并列

有时,我们需要对某列进行纵向合并,即值相同的单元格进行合并。 下面我们就将班级列纵向合并。

实现步骤如下:

点击报表设计器导航菜单中“报表数据列资源”链接,打开维护界面,更新“classid”数据列信息,将“纵向合并”设定成“是”,如下图:

25

华丹CHARISMA报表快速入门

保存后,预览报表,效果如下图:

4.4.6 自动刷新报表

有时,根据业务需要,我们需要对报表每隔一段时间,自动刷新,展现实时数据。 实现步骤如下:

点击报表设计器导航菜单中“其他报表资源>>报表JS事件资源”,打开维护界面,新增JS事件:

26

华丹CHARISMA报表快速入门

图中,Report.autoRefresh(10),表示每隔10秒自动刷新报表。 保存后,即可达到效果。

4.4.7 随意增加计算列

在报表数据源中,可以任意添加计算列,然后通过表达式,对计算列内容进行设置,可以处理一些业务逻辑,比如根据价格及数量求总价。

这里我们在数据源中增加一列studentinfo,将内容设置成姓名:性别,来模拟这种业务。

实现步骤如下:

在报表数据源增加一计算列,如下图:

编辑对应的数据列信息:

27

华丹CHARISMA报表快速入门

repField函数是取报表结果中某列的值,第二个参数是布尔值,表示如果该列字典列,是否显示字典描述。repField函数,请参考使用手册。

报表预览效果如下:

28

华丹CHARISMA报表快速入门

4.4.8设定报表列宽度

报表的表格宽度及列宽度都可以方便设置。

默认情况下,表格是占满整个窗口宽度的,并且末列最大化宽度显示。如下图:

如果要设定表格的宽度或某列的宽度,必须先在报表基本信息中,将“最大化宽度”及“最大化末列宽度”两项设成“否”,否则设定其它列宽度,达不到效果。设置界面如下图:

此时,预览报表如下图所示:

29

华丹CHARISMA报表快速入门

如果需要设定整个表格的宽度,只需要打开报表基本信息更新界面,在“显示风格”标签页中的“列表表体风格”项中设置width:800px即可。

下面我们来介绍一下如何设置列的宽度,比如我们要将姓名列加宽,设成200px。

编辑姓名对应的报表数据列,在显示风格标签页中的“列表单元格风格”中设定宽度即可,如下图:

预览报表,效果图如下:

4.4.9设定冻结列

列表报表、交叉报表、汇总报表均支持上冻结及左冻结,这里设定“是”,就支持冻结,对于左冻结,需给定从哪列开始冻结。

30

华丹CHARISMA报表快速入门

设定冻结列后,该列右侧列可以使用鼠标拖动,显示效果如下图:

第5章 各类报表制作

这一章,只介绍几种常见的报表,其它类型报表,比如树型报表、汇总报表等,请参考“使用手册”。

5.1 列表报表

第四章所作的报表就是列表报表。

5.2 明细报表

明细报表:即常见的具有复杂显示格式的报表。

我们以学生细详信息明细报表为例,介绍其制作过程。明细报表效果图如下:

31

华丹CHARISMA报表快速入门

制作过程如下:

5.2.1 定制基本报表

按4.1节”设定数据源“的介绍完成明细报表对应的基本报表的制作,数据源如下:

SELECT 'classInfo', CLASSINFO.CLASSID, CLASSINFO.CLASSNAME, CLASSINFO.TEACHER, CLASSINFO.CLASSROOM, CLASSINFO.REMARK remark1, 'studentInfo', STUDENT.STUDENTID, STUDENT.NAME, STUDENT.SEX, STUDENT.AGE, STUDENT.DRESS, STUDENT.TEL, STUDENT.POST, 'photo', STUDENT.REMARK FROM CLASSINFO,STUDENT WHERE CLASSINFO.CLASSID = STUDENT.CLASSID AND CLASSINFO.CLASSID = ? AND CLASSINFO.CLASSNAME = ? AND STUDENT.STUDENTID = ? AND STUDENT.NAME like ? ORDER BY CLASSINFO.CLASSID ASC,STUDENT.STUDENTID ASC

此时,基本报表预览结果如下:

32

华丹CHARISMA报表快速入门

5.2.2 定制明细报表

将基本报表变成明细显示,很简单:

在报表基本资源中,将“显示类型”设定为“明细显示”即可。一般地,明细报表都是每页显示一个表格,所以将“每页显示记录数”根据需要设定为1。设置界面如下所示:

此时,效果图如下:

这是系统自动生成的明细格式,默认是每行三列,并根据列的长度,自动合并单元格。

如果,对明细报表格式要求较高,可以有两种方式设定,一种是通过参数定制来实现,另一种是通过数据表格来格式化。

下面我们通过参数定制的方式,来设定明细报表的显示格式。数据表格的定制方式请参考使用手册。

5.2.2.1 设定明细分隔列

将标识为classinfo及student两个报表数据列,设定为明细分隔列:

classinfo列:

将“显示名称”设定为班级信息,将“显示类型”设定为“明细显示分隔列”,在表达式标签页中,将“一次表达式”内容设置成“班级信息”。

student列:

将“显示名称”设定为学生信息,将“显示类型”设定为“明细显示分隔列”,在表达式标签页中,将“一次表达式”内容设置成“学生信息”。 设定好后,效果图如下:

33

华丹CHARISMA报表快速入门

从图中可以看出,明细显示分隔列的效果就是: ? 不显示列标题; ? 数据占整行;

? 字体自动加粗,以标题形式出现。

5.2.2.2 设定明细排列格式

在报表基本资源中,在“显示格式”标签页中,将“明细排列格式”设定为:

classinfo;classid,classname;teacher,classroom;remark1;studentinfo;studentid,name;sex,age;dress;tel,post;photo;remark;

效果如下:

从图中可以看出,显示格式按设定的排列格式显示。

5.2.2.3 设定明细列宽度

设定明细列的宽度,不要在报表数据列资源中的“明细单元格风格”中设定,因为有些单元格是合并的。要在报表基本资源中,“显示风格”标签页的“明细报表宽度集”中设定。

34

华丹CHARISMA报表快速入门

在“明细报表宽度集”中设定:20mm,30mm,20mm,30mm,分别对应明细表格的4列。 并且将报表基本资源中的“最大化宽度”设定为“否”,否则设定宽度无效。 设置界面如下图:

效果图如下:

35

华丹CHARISMA报表快速入门

5.2.2.4 设定明细行高度

设定明细行高度,可以在报表基本资源中的“明细行显示风格”中设定,如height:30px。设定界面如下图:

如果要单独设定某行的,则可以选择该行第一列对应的报表数据列资源中的“明细标题单元格风格”中设定,如height:35px。

5.2.2.5 设定标题

下面给明细报表设定标题。

点击报表设计器导航菜单中的“报表数据表格”,新增一个类型为“明细单元表头”的数据表格。设置界面如下:

36

华丹CHARISMA报表快速入门

数据表格内容如下:

[%=detailPrtPage()%]

数据表格的相关介绍,请参考使用手册。 此时,预览报表,效果图如下:

37

华丹CHARISMA报表快速入门

5.2.2.6 在单元格显示图片

显示图片,首先要注册上传资源,然后通过imageFromDB函数来显示图片。

打开模块:系统控制中心>>WEB组件管理>>上传资源维护,如下图注册一个上传资源:

编辑photo报表数据列: ? 将显示名称改为“相片”。 ? 在显示风格标签页中的“明细单元格风格”设定高度:height:300。在显示表达式中写上:

imgFromDB(\

udentid),300,300)。imgFromDB函数的介绍请参考使用手册。 预览报表,效果如下图:

38

华丹CHARISMA报表快速入门

注意,如果对应的学生信息中没有上传图片,就没有图片显示。

5.3 分组报表

分组报表,就是按某列或某几列进行分组,值相同的放在一组。这与SQL中的GROUP BY产生的结果不同。分组报表显示明细数据,而group by是对一组记录进行汇总得到的汇总值,不显示明细数据。

下面是一个分组报表效果图:

39

华丹CHARISMA报表快速入门

先按班级分组,再按性别分组

下面我们就来介绍一下制作过程。

5.3.1 定制基本报表

按4.1节“设定数据源”的介绍完成基本报表的制作,数据源如下:

SELECT CLASSID, SEX, STUDENTID, NAME, AGE, DRESS, TEL, POST, REMARK FROM STUDENT WHERE CLASSID = ? AND STUDENTID = ? AND SEX = ? AND NAME like ? ORDER BY CLASSID ASC,SEX ASC

这里需要注意,因为这个示例中要按班级、性别分组,所以排序时,必须按这两列进行排序,后面也可以加其它排序列。

基本报表预览效果如下:

5.3.2 设定分组信息

在报表设计器导航菜单中,点击“高级报表设计>>分组报表资源”,打开分组报表资源维护界面,点击“新增分组信息”,打开新增界面如下:

40

华丹CHARISMA报表快速入门

重要数据项说明:

? 分组级别:分组报表支持多级分组,比如先按班级分组,再按性别分组,这里设定级别。 ? 分组数据列集:设定当前分组级别的分组数据列集,如果多列,以逗号间隔。 保存后,进入如下界面:

5.3.3 设定分组汇总

下面我们来设定该分组汇总信息。

点击上节图中“汇总信息”链接,打开界面如下:

每个分组可以有多行汇总,比如求平均,求和等。汇总可以居上或居下。 点击图中“汇总列信息”,进入汇总列设置界面,保留sex列,删除其它列,设置好界面如下图:

41

华丹CHARISMA报表快速入门

注意,因为班级标识(classid)是分组列,所以不要在该列下面设置汇总信息,这样,班级标识列纵向合并时,可以直至汇总行。

点击“编辑”按钮,将“是否合并空列”设定成“是”。

5.3.4 完成分组报表制作

按照上两节的介绍,完成性别分组的设置。 然后做如下设定:

? 在报表基本资源中将“显示类型”设定为分组列表。

? 将分组列对应的报表数据列资源中的“是否纵向合并”设定为“是”。 ? 根据需要设定表头、多层表头、表尾等资源。 通过上面操作,就完成了分组报表制作。

5.4 嵌套报表

嵌套报表是一种最重要的报表,通过它可以将其它类型的报表嵌套在一起,形成复杂的报表。 嵌套报表效果图:

上例就是在班级报表中,嵌套了一个学生子报表,因为是示例,所以比较简单。

嵌套报表相当灵活,在主报表的任一位置,通过nestedRep即可将子报表嵌套在此位置。在一个报表中,可以嵌套多个子报表。而且还可以实现多级嵌套,即子报表也可以有自己的嵌套子报表。

我们以上例来说明嵌套报表的制作:

42

华丹CHARISMA报表快速入门

5.4.1 定制基本报表

按4.1节“设定数据源”的介绍完成基本报表的制作。 班级报表数据源如下:

SELECT CLASSID, CLASSNAME, TEACHER, CLASSROOM, REMARK,'student' FROM CLASSINFO WHERE CLASSID = ? AND TEACHER = ? AND CLASSROOM like ? ORDER BY CLASSID ASC

学生报表数据源如下:

SELECT CLASSID,STUDENTID, NAME, SEX, AGE, DRESS, TEL, POST, REMARK FROM STUDENT WHERE CLASSID = ? ORDER BY STUDENTID ASC

将班级报表设定成明细报表,每页显示一条记录,效果图如下:

学生报表保持列表。

5.4.2 注册子报表

在班级报表中,将学生报表注册成子报表:

子报表注册详细介绍,参考使用手册。

43

华丹CHARISMA报表快速入门

5.4.3 在主报表中嵌套子报表

我们把学生报表嵌套在主报表中student列处。 所以对student列设置如下:

在student对应的报表数据列资源中,将显示类型设定为“明细显示分隔列”,这个设置不是嵌套报表要求的,只是为了把子报表占整行。

在student列的显示表达式中填上:nestedRep(“student”)。

其中,nestedRep是嵌套报表函数,请参考使用手册,参数”student”就是我们前面定义的子报表资源标识。

此时效果图如下:

从上图我们可以看出,完成了嵌套。

如果要消除主报表与子报表间的间隙,方法如下:

? 在主报表student列的“明细单元格风格”中写上:padding:0

? 在子报表基本资源中的“列表表体风格”中写上:border:none,即无边框。 根据需要设定其它信息,如标题、子报表汇总等信息,即达到前面示例的效果。

5.5 图表报表

图表报表就是常见的统计图,效果图如下:

44

华丹CHARISMA报表快速入门

我们就以上面的示例,来说明图表制作过程,如下:

5.5.1 定制基本报表

按4.1节“设定数据源”的介绍完成基本报表的制作,数据源如下:

SELECT CLASSID, SUBJECT, AVG(SCORE) FROM SCORE WHERE CLASSID = ? AND SUBJECT = ? GROUP BY CLASSID,SUBJECT ORDER BY CLASSID ASC

作为图表的数据源,一般是通过GROUP BY汇总出来的。

图表报表,一般是在一页里把所有数据全部显示出来,所以要将报表基本资源中的“每页显示记录数”设定成-1。

基本报表预览结果如下:

45

华丹CHARISMA报表快速入门

5.5.2 设定图表信息

在报表设计器导航菜单中,点击“高级报表设计>>图表报表资源”,打开图表报表资源维护界面,点击“新增图表信息”,打开新增界面如下:

选择所需图表类型

数据项含义参考使用手册。 设定好信息后保存即可。

46

华丹CHARISMA报表快速入门

5.5.3 完成图表制作

设定好图表信息后,只需在基本报表信息中,将“显示类型”设定为“图表显示”即可。 此时,预览报表,即得到前面示例的效果。

5.6 交叉报表

交叉报表也叫三维报表。

交叉报表一个显著特点就是纵向(行)及横向(列)都是变化的,而普通报表是横向固定(即列数固定)。

比如成绩表的数据源结果如下:

这样,浏览起来很不方便,我们需要将科目横向显示,这就用到了交叉报表,效果如下:

47

华丹CHARISMA报表快速入门

下面我们就来完成上面的交叉报表。

5.6.1 定制基本报表

按4.1节“设定数据源”的介绍完成基本报表的制作。 数据源如下:

SELECT CLASSID, STUDENTID, SUBJECT, SCORE FROM SCORE WHERE CLASSID = ? AND STUDENTID = ? AND SUBJECT = ? ORDER BY CLASSID ASC, STUDENTID ASC, SUBJECT ASC

注意,交叉报表一般是将所有记录显示在同一页面上,所以需要将报表基本资源中的“每页显示记录数”设定成-1。

数据源结果:

48

华丹CHARISMA报表快速入门

5.6.2 生成交叉报表资源

点击报表设计器导航菜单中的“高级报表设计>>交叉报表资源”,打开如下界面:

点击“交叉报表向导”,打开交叉报表向导:

49

华丹CHARISMA报表快速入门

注意,这里一定对应着上图,明白“行集”、“列集”及“值集”的含义。

点击“完成”,系统自动设置所有交叉报表资源,包括自动设置报表基本资源中的“显示类型”为“交叉报表”。

此时预览该报表,效果如下图所示:

所以,制作交叉报表时,只需要通过向导非常方便地制作完成。

50

本文来源:https://www.bwwdw.com/article/zhf8.html

Top