Crystal Decisions Reports 10 User Guide

Page 1
Crystal Reports™ 10 用户指南
Crystal Decisions, Inc.
895 Emerson St.
Palo Alto
California, USA 94301
Page 2
2003 Crystal Decisions, Inc., 895 Emerson St., Palo Alto, California, USA 94301。保留所有权利。
除依照适用软件许可协议的条款外,不得以任何方式将本文档的任何部分存储 在检索系统、传送或复制。 本文档包含 Crystal Decisions, Inc. 和 / 或其供应 商的专有信息。
商标确认
Crystal Decisions、Crystal Reports、Crystal Enterprise、Crystal Analysis、Crystal Services、Crystal Care、Crystal Assist、Crystal Applications、Info 和 Holos 是 Crystal Decisions, Inc. 在美国和 / 或其它国 家 (地区)的商标或注册商标。涉及的所有其它商标或注册商标都是其各自所有者 的财产。
Page 3
目录
第 1 章 欢迎使用 Crystal Reports 10
1.1 关于 Crystal Reports .................................................(1)
1.2 关于本指南 ...........................................................(1)
1.2.1 章内容 .................................................................. (2)
1.2.2 联机帮助 ................................................................ (4)
1.3 产品注册 .............................................................(5)
1.4 客户手册 .............................................................(5)
1.5 Crystal 客户服务技术支持 .............................................(6)
1.6 Crystal 培训 .........................................................(6)
1.7 Crystal 咨询 .........................................................(6)
1.8 文档规则 .............................................................(6)
第 2 章 Crystal Reports 10 中的新功能
2.1 介绍 .................................................................(7)
2.2 应用程序开发人员 ..................................................... (7)
2.2.1 百分之百的 Java Reporting Component ..................................... (7)
2.2.2 自定义 Java 标记库 ...................................................... (8)
2.2.3 简化的 .NET 合并模块 .................................................... (8)
2.2.4 .NET 到 Crystal Enterprise 的升级 ....................................... (8)
2.2.5 简化的 Report Application Server API .................................... (9)
2.3 报表设计者 ...........................................................(9)
2.3.1 简化的数据访问过程 (业务视图) .......................................... (9)
2.3.2 储备库 .................................................................. (9)
2.3.3 格式刷 ................................................................. (10)
2.3.4 漏斗图 ................................................................. (11)
2.4 信息用户 ............................................................(11)
2.4.1 在重要的报表元素之间的可管理导航 ....................................... (11)
2.4.2 Excel 导出 ............................................................. (11)
2.4.3 DHTML 打印 ............................................................. (12)
第 3 章 安装 Crystal Reports
3.1 安装 Crystal Reports ................................................(13)
3.2 安装要求 ............................................................(13)
Page 4
ii Crystal Reports 用户指南
3.3 在本地计算机上安装 Crystal Reports ................................. (14)
3.4 创建安装点并从网络服务器进行安装 ................................... (15)
3.4.1 创建 Crystal Reports 的安装点 .......................................... (15)
3.4.2 从网络安装 Crystal Reports ............................................. (15)
3.5 自定义安装 ......................................................... (16)
3.6 安装 Java Reporting Component ...................................... (17)
3.6.1 Borland JBuilder 10 .................................................... (17)
3.6.2 BEA Weblogic Workshop 8.1 SP2 .......................................... (18)
3.6.3 所有其他集成开发环境 ................................................... (19)
3.7 升级 Crystal Reports 组件 .......................................... (19)
第 4 章 快速开始
4.1 学习如何使用 Crystal Reports ....................................... (21)
4.1.1 示例数据 -- Xtreme.mdb ................................................. (21)
4.2 报表创建向导 ....................................................... (21)
4.2.1 标准 ................................................................... (22)
4.2.2 交叉表 ................................................................. (22)
4.2.3 邮件标签 ............................................................... (22)
4.2.4 OLAP ................................................................... (22)
4.3 新用户快速入门 ..................................................... (22)
4.3.1 开始之前 ............................................................... (23)
4.3.2 创建报表 ............................................................... (23)
4.3.3 记录选定 ............................................................... (32)
4.3.4 分组及排序 ............................................................. (35)
4.3.5 完成报表 ............................................................... (37)
4.4 高级用户快速开始 ................................................... (38)
第 5 章 报表设计概念
5.1 基本报表设计 ....................................................... (43)
5.2 决定报表内容 ....................................................... (43)
5.2.1 说明目的 ............................................................... (43)
5.2.2 确定报表布局 ........................................................... (44)
5.2.3 查找数据 ............................................................... (44)
5.2.4 操作数据 ............................................................... (45)
5.2.5 确定打印区域特性 ....................................................... (46)
5.3 设计纸张原型 ....................................................... (47)
Page 5
iii
第 6 章 建立报表简介
6.1 报表创建选项 ........................................................(49)
6.1.1 报表创建向导 ........................................................... (49)
6.1.2 另一个报表 ............................................................. (49)
6.1.3 新建报表 ............................................................... (49)
6.2 选择数据源和数据库字段 .............................................. (50)
6.2.1 数据库专家 ............................................................. (50)
6.2.2 字段资源管理器 ......................................................... (52)
6.2.3 报表资源管理器 ......................................................... (53)
6.2.4 打开和停靠资源管理器 ................................................... (54)
6.3 关于报表设计环境 .................................................... (55)
6.3.1 “设计”选项卡 .......................................................... (55)
6.3.2 “预览”选项卡 .......................................................... (57)
6.4 创建新报表 ..........................................................(60)
6.4.1 选择数据源 ............................................................. (60)
6.4.2 添加表 ................................................................. (61)
6.4.3 链接多个表 ............................................................. (61)
6.4.4 将数据放在报表上 ....................................................... (62)
6.4.5 格式化数据 ............................................................. (68)
6.4.6 记录选定 ............................................................... (68)
6.4.7 分组、排序和汇总数据 ................................................... (68)
6.4.8 对汇总数据使用深化选项 ................................................. (69)
6.4.9 使用缩放功能 ........................................................... (69)
6.4.10 插入页眉和页脚 ......................................................... (70)
6.4.11 将标题页添加到报表中 ................................................... (71)
6.4.12 将汇总信息添加到报表中 ................................................. (71)
6.5 超出基本报表 ........................................................(72)
第 7 章 Crystal 储备库
7.1 Crystal 储备库是什么? .............................................(73)
7.1.1 工作流程 ............................................................... (73)
7.2 访问 Crystal 储备库 .................................................(74)
7.2.1 工具栏 ................................................................. (75)
7.3 在储备库中添加文件夹 ................................................(75)
7.4 在储备库中添加项目 ..................................................(76)
7.4.1 添加文本对象或位图图像 ................................................. (76)
7.4.2 添加自定义函数 ......................................................... (76)
7.4.3 添加命令 ............................................................... (77)
Page 6
iv Crystal Reports 用户指南
7.5 在报表中使用储备库对象 ............................................. (77)
7.5.1 在报表中添加文本对象或位图图像 ......................................... (77)
7.5.2 在报表中添加自定义函数 ................................................. (78)
7.5.3 在报表中添加命令 ....................................................... (78)
7.6 修改储备库中的对象 ................................................. (78)
7.7 在报表中更新连接的储备库对象 ....................................... (79)
7.8 从储备库中删除项目 ................................................. (79)
7.9 在储备库中使用 “撤销”命令 ........................................ (80)
第 8 章 设计优化的 Web 报表
8.1 概述 ............................................................... (81)
8.2 通过 Crystal Enterprise 缩放 ....................................... (82)
8.2.1 Crystal Enterprise 中日期函数的求值时间 ................................ (83)
8.3 作出正确的设计选择 ................................................. (83)
8.3.1 使用更快的报表格式 ..................................................... (84)
8.3.2 在活动数据和已保存数据之间选择 ......................................... (84)
8.3.3 设计汇总报表 ........................................................... (85)
8.3.4 慎用子报表 ............................................................. (86)
8.3.5 有效地使用其他设计元素 ................................................. (87)
8.4 优化您的制表环境 ................................................... (87)
8.4.1 选择最快的数据库和连接 ................................................. (87)
8.4.2 使用表索引 ............................................................. (87)
8.4.3 改进表链接选择 ......................................................... (87)
8.4.4 使用线程安全数据库驱动程序 ............................................. (88)
8.4.5 使用存储过程进行更快的处理 ............................................. (89)
8.5 使用增强的记录选定公式 ............................................. (89)
8.5.1 下推记录选定 - 示例 ................................................... (89)
8.5.2 记录选定性能提示 ....................................................... (90)
8.5.3 编写高效记录选定公式的策略 ............................................. (91)
8.5.4 将参数字段合并到记录选定公式中 ......................................... (92)
8.5.5 适时使用 SQL 表达式 .................................................... (93)
8.6 改进分组、排序和总计 ............................................... (94)
8.6.1 在服务器上执行分组 ..................................................... (94)
8.6.2 在服务器上分组的好处 - 示例 ........................................... (95)
8.6.3 将 SQL 表达式用于分组、排序和总计 ...................................... (95)
8.6.4 将 SQL 表达式用于 Case 逻辑 ............................................ (96)
8.6.5 在可能的位置插入汇总和运行总计字段 ..................................... (96)
Page 7
v
第 9 章 记录选定
9.1 选择记录 ............................................................(97)
9.1.1 使用 “选择专家” ....................................................... (98)
9.1.2 使用公式 ............................................................... (99)
9.1.3 交互使用选择专家和选择 公式工作室 ...................................... (99)
9.2 使用公式模板 .......................................................(100)
9.2.1 记录选定公式模板 ...................................................... (100)
9.3 将记录选定下推到数据库服务器 .......................................(102)
9.4 记录选定公式疑难解答 ...............................................(103)
9.4.1 修正未生成数据的选定 .................................................. (104)
第 10 章 排序、分组及总计
10.1 数据排序 ........................................................... (107)
10.1.1 理解排序选项 .......................................................... (107)
10.1.2 单一或多个字段排序 .................................................... (108)
10.2 将数据分组 ......................................................... (109)
10.2.1 创建自定义组 .......................................................... (111)
10.2.2 将组内记录排序 ........................................................ (112)
10.2.3 组选定 ................................................................ (112)
10.2.4 按间隔将数据分组 ...................................................... (115)
10.2.5 根据公司名称的第一个字母分组 .......................................... (117)
10.2.6 分层次对数据分组 ...................................................... (118)
10.2.7 编辑组 ................................................................ (119)
10.3 汇总分组的数据 ..................................................... (119)
10.3.1 根据汇总值对组排序 .................................................... (120)
10.3.2 选择最前或最后 N 个组或百分比 ......................................... (121)
10.4 小计 ............................................................... (122)
10.4.1 数据小计 .............................................................. (122)
10.4.2 扩展价格并小计扩展 .................................................... (123)
10.5 百分比 ............................................................. (124)
10.5.1 计算百分比 ............................................................ (124)
10.6 组页眉 ............................................................. (125)
10.6.1 创建组页眉 ............................................................ (125)
10.6.2 取消组页眉 ............................................................ (127)
10.6.3 深化组页眉 ............................................................ (128)
Page 8
vi Crystal Reports 用户指南
第 11 章 运行总计
11.1 了解运行总计 ...................................................... (129)
11.1.1 运行总计如何工作 ...................................................... (129)
11.2 创建运行总计 ...................................................... (130)
11.2.1 在列表中创建运行总计 .................................................. (130)
11.2.2 为组创建运行总计 ...................................................... (131)
11.2.3 创建条件运行总计 ...................................................... (131)
11.2.4 在一对多链接关系中创建运行总计 ........................................ (133)
11.3 使用公式创建运行总计 .............................................. (134)
第 12 章 多节报表
12.1 关于节 ............................................................ (137)
12.2 使用节 ............................................................ (137)
12.2.1 插入节 ................................................................ (137)
12.2.2 删除节 ................................................................ (138)
12.2.3 移动节 ................................................................ (138)
12.2.4 合并两个相关节 ........................................................ (139)
12.3 拆分并调整节大小 .................................................. (139)
12.3.1 拆分节 ................................................................ (139)
12.3.2 调整节大小 ............................................................ (140)
12.4 在报表中使用多个节 ................................................ (141)
12.4.1 防止可变长度的对象相互覆盖 ............................................ (141)
12.4.2 当字段为空时消除空白行 ................................................ (142)
12.4.3 有条件地添加空白行 .................................................... (142)
12.5 套用信函 .......................................................... (143)
12.5.1 使用文本对象 .......................................................... (143)
12.5.2 使用文本对象创建套用信函 .............................................. (144)
12.5.3 在套用信函内打印条件消息 .............................................. (148)
第 13 章 格式化
13.1 格式化概念 ........................................................ (151)
13.2 使用模板 .......................................................... (151)
13.2.1 应用模板 .............................................................. (151)
13.2.2 删除应用的模板 ........................................................ (152)
13.2.3 重新应用上次选定的模板 ................................................ (152)
13.2.4 使用 “模板字段对象” .................................................. (153)
13.3 使用报表设计环境 .................................................. (154)
13.3.1 设计解决方案 .......................................................... (154)
Page 9
vii
13.3.2 节特性 ................................................................ (154)
13.3.3 使对象延伸到后续节 .................................................... (155)
13.3.4 预先打印好的窗体 ...................................................... (156)
13.3.5 多列 .................................................................. (156)
13.3.6 隐藏报表节 ............................................................ (157)
13.3.7 隐藏报表对象 .......................................................... (157)
13.3.8 放置基于文本的对象 .................................................... (158)
13.3.9 放置多行、基于文本的对象 .............................................. (161)
13.3.10从文件导入基于文本的对象 .............................................. (161)
13.3.11基于文本的对象间的间距 ................................................ (161)
13.3.12溢出字段表示法 ........................................................ (166)
13.3.13选择多个对象 .......................................................... (167)
13.3.14自由格式位置 .......................................................... (167)
13.3.15垂直位置 .............................................................. (169)
13.3.16TrueType 字体 ......................................................... (170)
13.3.17页边距 ................................................................ (170)
13.3.18默认打印机 ............................................................ (171)
13.3.19打印机驱动程序 ........................................................ (172)
13.4 格式化属性 ......................................................... (173)
13.5 使用绝对格式化 ..................................................... (173)
13.5.1 向字段添加边框、颜色和阴影 ............................................ (173)
13.5.2 将报表或对象设置为只读 ................................................ (174)
13.5.3 锁定对象的大小和位置 .................................................. (174)
13.5.4 更改默认字段格式 ...................................................... (174)
13.5.5 添加和编辑行 .......................................................... (176)
13.5.6 添加和编辑框 .......................................................... (177)
13.5.7 向报表添加形状 ........................................................ (177)
13.5.8 使用常规计帐格式 ...................................................... (178)
13.5.9 在横排页面上重复报表对象 .............................................. (178)
13.5.10在行间使用空白区域 .................................................... (179)
13.6 使用条件格式化 ..................................................... (181)
13.6.1 条件开或关属性 ........................................................ (181)
13.6.2 条件特性属性 .......................................................... (182)
13.6.3 更改条件字体 .......................................................... (183)
13.6.4 在第一页之后创建页脚 .................................................. (184)
13.6.5 使用 “突出显示专家” .................................................. (185)
13.6.6 撤消 / 恢复活动 ........................................................ (187)
13.7 使用格式刷 ......................................................... (187)
Page 10
viii Crystal Reports 用户指南
第 14 章 图表
14.1 绘制图表概念 ...................................................... (189)
14.1.1 绘制图表概述 .......................................................... (189)
14.1.2 图表布局 .............................................................. (190)
14.1.3 图表类型 .............................................................. (190)
14.1.4 在哪里放置图表 ........................................................ (192)
14.1.5 使用图表深化 .......................................................... (192)
14.1.6 使用图例深化 .......................................................... (193)
14.2 创建图表 .......................................................... (193)
14.2.1 在详细资料或公式字段上绘制图表 (高级布局) ............................ (193)
14.2.2 在汇总或小计字段上绘制图表 (分组布局) ................................ (195)
14.2.3 在交叉表汇总上绘制图表 (交叉表布局) .................................. (195)
14.2.4 在 OLAP 多维数据集上绘制图表 (OLAP 布局) ............................. (196)
14.3 使用图表 .......................................................... (197)
14.3.1 使用 “图表专家”编辑图表 .............................................. (198)
14.3.2 使用 “图表选项”菜单项编辑图表 ........................................ (198)
14.3.3 在条形图和折线图中使用缩放功能 ........................................ (199)
14.3.4 自动排列图表 .......................................................... (200)
14.3.5 格式化图表 ............................................................ (200)
14.3.6 在图表上使用延伸功能 .................................................. (201)
第 15 章 地图功能
15.1 地图功能的概念 .................................................... (203)
15.1.1 地图功能概述 .......................................................... (203)
15.1.2 地图布局 .............................................................. (203)
15.1.3 地图类型 .............................................................. (204)
15.1.4 地图放置在何处 ........................................................ (206)
15.1.5 使用地图深化 .......................................................... (206)
15.2 创建地图 .......................................................... (206)
15.2.1 基于详细资料字段制作地图 (“高级”布局) ............................... (206)
15.2.2 基于组字段制作地图 (“组”布局) ....................................... (208)
15.2.3 基于交叉表汇总制作地图 (“交叉表”布局) ............................... (209)
15.2.4 基于 OLAP 多维数据集制作地图 (OLAP 布局) ............................. (210)
15.3 使用地图 .......................................................... (211)
15.3.1 使用 “地图专家”编辑地图 .............................................. (211)
15.3.2 更改地图标题 .......................................................... (212)
15.3.3 更改地图类型 .......................................................... (212)
15.3.4 更改地图层 ............................................................ (212)
15.3.5 解决数据不匹配 ........................................................ (213)
Page 11
ix
15.3.6 更改地理地图 .......................................................... (214)
15.3.7 放大和缩小地图 ........................................................ (214)
15.3.8 平移地图 .............................................................. (215)
15.3.9 地图居中 .............................................................. (215)
15.3.10隐藏和显示 “地图导航器” .............................................. (215)
15.3.11设置地图格式 .......................................................... (216)
15.3.12对地图使用延伸功能 .................................................... (216)
第 16 章 OLE
16.1 OLE 概述 ........................................................... (217)
16.1.1 OLE 术语 .............................................................. (217)
16.1.2 OLE 对象的类型 ........................................................ (218)
16.1.3 常规 OLE 注意事项 ..................................................... (218)
16.2 将 OLE 对象插入报表 ................................................ (218)
16.3 OLE 对象在报表中如何表示 ........................................... (219)
16.4 编辑报表中的 OLE 对象 .............................................. (220)
16.4.1 现场编辑 .............................................................. (220)
16.4.2 动态 OLE 菜单命令 ..................................................... (220)
16.4.3 OLE 和 “插入图片”命令 ................................................ (220)
16.5 处理静态 OLE 对象 .................................................. (221)
16.6 处理嵌入和链接的对象 ............................................... (222)
16.6.1 嵌入对象 .............................................................. (222)
16.6.2 链接对象 .............................................................. (222)
第 17 章 交叉表对象
17.1 什么是交叉表对象? ................................................. (225)
17.2 交叉表示例 ......................................................... (226)
17.2.1 订单数据的报表 - 未排序 / 未分组 ....................................... (226)
17.2.2 订单数据的报表 - 按地区分组 ........................................... (227)
17.2.3 订单数据的报表 - 按产品分组 ........................................... (227)
17.2.4 订单数据的报表 - 按地区和产品分组 ..................................... (228)
17.2.5 交叉表对象中的订单数据 ................................................ (228)
17.3 创建交叉表报表 ..................................................... (229)
17.4 使用交叉表 ......................................................... (233)
17.4.1 以百分比显示值 ........................................................ (233)
17.4.2 缩写大的汇总字段 ...................................................... (233)
17.4.3 自定义行 / 列标签 ...................................................... (234)
17.4.4 在交叉表中使用运行总计 ................................................ (235)
Page 12
x Crystal Reports 用户指南
17.4.5 打印跨越多页的 “交叉表” .............................................. (235)
17.5 设置交叉表格式 .................................................... (236)
17.5.1 更改交叉表单元格的宽度、高度和对齐方式 ................................ (236)
17.5.2 设置整行 / 整列的背景颜色的格式 ........................................ (236)
17.5.3 设置个别字段的格式 .................................................... (237)
17.5.4 一次设置若干字段的格式 ................................................ (237)
17.5.5 取消 “交叉表”数据 .................................................... (237)
17.5.6 水平显示汇总字段 ...................................................... (238)
第 18 章 创建和更新 OLAP 报表
18.1 用创建 OLAP 报表 Crystal Reports .................................. (239)
18.1.1 OLAP 网格对象 ......................................................... (239)
18.2 创建 OLAP 报表 .................................................... (240)
18.2.1 指定数据源 ............................................................ (240)
18.2.2 定义网格结构 .......................................................... (240)
18.2.3 设置切片维度并指定网格数目 ............................................ (242)
18.2.4 应用预定义样式 ........................................................ (243)
18.2.5 插入图表 .............................................................. (243)
18.3 更新 OLAP 报表 .................................................... (244)
18.4 格式化 OLAP 网格中的数据 .......................................... (245)
18.4.1 更改维度的背景颜色 .................................................... (246)
18.4.2 创建维度的别名 ........................................................ (246)
18.4.3 格式化网格线 .......................................................... (246)
18.4.4 标注维度 .............................................................. (247)
18.5 更改 OLAP 数据的视图 .............................................. (247)
18.6 对 OLAP 网格数据进行排序和筛选 .................................... (248)
18.6.1 对 OLAP 网格中的数据进行排序 .......................................... (248)
18.6.2 对 OLAP 网格中的数据进行筛选 .......................................... (250)
18.7 向 OLAP 网格添加计算 .............................................. (250)
第 19 章 分发和查看报表
19.1 分发报表 .......................................................... (251)
19.1.1 打印报表 .............................................................. (251)
19.1.2 传真报表 .............................................................. (251)
19.1.3 导出报表 .............................................................. (252)
19.1.4 使用 Web 文件夹 ....................................................... (257)
19.1.5 使用 Enterprise 文件夹 ................................................ (258)
19.2 查看报表 .......................................................... (260)
Page 13
xi
19.2.1 什么是报表部件? ...................................................... (260)
19.2.2 什么是导航? .......................................................... (261)
19.2.3“报表部件深化”选项 ................................................... (263)
19.2.4“其他报表对象”选项 ................................................... (265)
19.2.5 查看器中显示的超级链接 ................................................ (268)
19.3 使用智能标记 ....................................................... (269)
第 20 章 报表警报
20.1 关于报表警报 ....................................................... (271)
20.2 使用报表警报 ....................................................... (271)
20.2.1 创建报表警报 .......................................................... (271)
20.2.2 编辑报表警报 .......................................................... (273)
20.2.3 删除报表警报 .......................................................... (273)
20.2.4 查看报表警报 .......................................................... (273)
20.2.5 在公式中引用报表警报 .................................................. (274)
第 21 章 从 Excel 和 Access 中创建报表
21.1 Crystal Reports 加载项概述 ......................................... (275)
21.1.1 关于 Microsoft Excel 加载项 ........................................... (275)
21.1.2 关于 Microsoft Access 加载项 .......................................... (275)
21.2 使用 Microsoft Excel 加载项 ........................................ (276)
21.2.1 使用 Crystal Report 向导创建 Excel 报表 ............................... (276)
21.3 Microsoft Access 加载项 ........................................... (278)
21.3.1 使用 Crystal Report 向导创建 Access 报表 .............................. (278)
第 22 章 使用公式
22.1 公式概述 ........................................................... (281)
22.1.1 公式语言中的新功能 .................................................... (281)
22.1.2 公式的典型用途 ........................................................ (283)
22.2 公式组件和语法 ..................................................... (284)
22.2.1 公式组件 .............................................................. (284)
22.2.2 公式语法 .............................................................. (285)
22.3 指定公式 ........................................................... (286)
22.3.1 使用公式工作室 ........................................................ (287)
22.3.2 使用公式编辑器 ........................................................ (287)
22.4 创建与修改公式 ..................................................... (289)
22.4.1 创建公式并将其插入到报表中 ............................................ (289)
22.4.2 在 “公式专家”中创建公式 .............................................. (290)
Page 14
xii Crystal Reports 用户指南
22.4.3 编辑公式 .............................................................. (291)
22.4.4 搜索和替换文本 ........................................................ (291)
22.4.5 从联机帮助复制公式 .................................................... (291)
22.4.6 将公式从一个报表复制到另一个报表 ...................................... (292)
22.5 删除公式 .......................................................... (293)
22.5.1 从报表删除工作公式 .................................................... (293)
22.5.2 删除公式规范 .......................................................... (293)
22.6 调试公式 .......................................................... (293)
22.6.1 调试求值时间错误 ...................................................... (293)
22.6.2 调试教程 .............................................................. (294)
第 23 章 参数字段
23.1 参数概述 ......................................................... (299)
23.1.1 参数字段注意事项 ...................................................... (299)
23.1.2 创建参数字段 .......................................................... (300)
23.1.3 删除参数字段 .......................................................... (302)
23.1.4 响应参数字段提示 ...................................................... (303)
23.1.5 高级参数功能 .......................................................... (305)
第 24 章 子报表
24.1 什么是子报表? .................................................... (311)
24.1.1 未链接的子报表与链接的子报表 .......................................... (312)
24.1.2 子报表链接如何工作 .................................................... (312)
24.1.3 数据库链接与一对多情况下的子报表 ...................................... (313)
24.2 插入子报表 ........................................................ (313)
24.2.1 预览子报表 ............................................................ (314)
24.2.2 将子报表另存为主报表 .................................................. (315)
24.2.3 更新子报表 ............................................................ (315)
24.3 将子报表链接到主报表内的数据 ...................................... (316)
24.3.1 在不修改选定公式的情况下将子报表链接到主报表 .......................... (317)
24.4 通过使用子报表组合不相关的报表 .................................... (317)
24.4.1 组合两个或更多不相关的报表 ............................................ (317)
24.5 对无法链接的数据使用子报表 ........................................ (318)
24.5.1 与公式字段进行相互链接 ................................................ (318)
24.5.2 链接没有索引的表 ...................................................... (319)
24.6 创建按需要显示子报表 .............................................. (319)
24.6.1 向按需要显示子报表中添加标题 .......................................... (320)
24.7 在单个报表中显示相同数据的不同视图 ................................ (321)
Page 15
xiii
第 25 章 了解数据库
25.1 数据库概述 ......................................................... (323)
25.1.1 关系数据库基础知识 .................................................... (323)
25.1.2 别名 .................................................................. (324)
25.1.3 定位文件 .............................................................. (325)
25.1.4 索引表 ................................................................ (326)
25.2 链接表 ............................................................. (327)
25.2.1 链接自和链接到 ........................................................ (328)
25.2.2 链接关系 .............................................................. (328)
25.2.3 一对多链接中的性能考虑 ................................................ (328)
25.2.4 数据文件考虑 .......................................................... (330)
25.2.5 SQL 数据库考虑 ........................................................ (331)
25.2.6 对所有报表的性能考虑 .................................................. (332)
25.2.7“数据库专家”的 “链接”选项卡 ........................................ (333)
25.2.8 链接索引表 ............................................................ (333)
25.2.9 链接处理顺序 .......................................................... (334)
25.2.10链接选项 .............................................................. (335)
25.3 使用 SQL 和 SQL 数据库 ............................................. (343)
25.3.1 什么是 SQL? .......................................................... (343)
25.3.2 SQL DBMS .............................................................. (345)
25.3.3 Crystal Reports 如何使用 SQL? ....................................... (346)
25.3.4 SQL 语言 .............................................................. (347)
25.4 服务器端处理 ....................................................... (349)
25.4.1 服务器端分组如何影响 SQL 查询 ......................................... (350)
25.5 映射数据库字段 ..................................................... (350)
25.5.1 关于映射字段对话框 .................................................... (351)
25.5.2 重新映射进程 .......................................................... (351)
25.5.3 重新映射已更改的数据库字段 ............................................ (353)
25.6 已保存数据的索引 ...................................................(353)
25.6.1 报表索引如何工作 ...................................................... (354)
25.6.2 使用 “已保存数据的索引”的考虑因素 .................................... (354)
25.6.3 选择正确的字段进行索引 ................................................ (354)
25.7 Crystal Reports 中的 Unicode 支持 .................................. (355)
25.8 有关更多信息 ....................................................... (355)
附录 A 报表处理模型
A.1 概述 ...............................................................(357)
A.1.1 什么是 “传递”? ..................................................... (357)
Page 16
xiv Crystal Reports 用户指南
A.1.2 第 1 次预传递 ......................................................... (357)
A.1.3 第 1 次传递 ........................................................... (357)
A.1.4 第 2 次预传递 ......................................................... (358)
A.1.5 第 2 次传递 ........................................................... (358)
A.1.6 第 3 次传递 ........................................................... (358)
A.1.7 多次传递建立报表流程图 ................................................ (359)
附录 B 创建可访问报表
B.1 关于可访问性 ...................................................... (361)
B.1.1 可访问报表的好处 ...................................................... (361)
B.1.2 关于可访问性准则 ...................................................... (362)
B.1.3 可访问性与 Crystal 产品 ............................................... (362)
B.2 改善报表的可访问性 ................................................ (363)
B.2.1 在报表中放置对象 ...................................................... (363)
B.2.2 文本 .................................................................. (364)
B.2.3 颜色 .................................................................. (367)
B.2.4 导航 .................................................................. (368)
B.2.5 参数字段 .............................................................. (369)
B.3 设计时注重灵活性 .................................................. (369)
B.3.1 可访问性和条件格式设置 ................................................ (370)
B.3.2 可访问性和抑制显示节 .................................................. (371)
B.3.3 可访问性和子报表 ...................................................... (371)
B.4 改善数据表的可访问性 .............................................. (372)
B.4.1 文本对象和数据表值 .................................................... (372)
B.4.2 数据表设计的其它考虑因素 .............................................. (376)
B.5 可访问性和 Crystal Enterprise ..................................... (376)
B.5.1 设置 Crystal Enterprise 的可访问首选项 ................................ (376)
B.6 可访问性和自定义 .................................................. (377)
B.7 资源 .............................................................. (378)
术语表 .....................................................(379)
索引 .......................................................(401)
Page 17
第 1 章 欢迎使用 Crystal Reports 10 1

第 1 章 欢迎使用 Crystal Reports 10

欢迎!此章将向您介绍世界领先的桌面及 Web 报表工具 Crystal Reports,并对此 用户指南的内容进行了概述。

1.1 关于 Crystal Reports

Crystal Reports 的设计 用途是,使 用数据库来帮助您分析和解释重要的信息。 Crystal Reports 可以方便地创建简单的报表,并且,它还拥有生成复杂报表或专用报 表所需的一整套工具。
创建所能想象的任何报表
Crystal Reports 几乎可以从任何数据源生成您所需要的报表。内置报表专家在您生 成报表和完成一般的报表任务过程中,会一步一步地指导您进行操作。报表专家通过公 式、交叉表、子报表和设置条件格式帮助表现数据的实际意义,揭示可能被隐藏掉的重要 关系。如果文字和数字确实不够充分,则用地理地图和图形进行形象的信息交流。
将报表扩展到 Web
Crystal Reports 的灵活性并未停留在创建报表这一功能上 -- 您可以用各种各样的 格式发布报表,包括在  Microsoft Word 和 Excel,电子邮件甚至到 Web。高级的 Web 报表功能允许工作组中的其他成员在他们自己的 Web 浏览器中查看或更新共享报表。
将报表并入应用程序
通过将 Crystal Reports 的报表处理功能整合到自己的数据库应用程序中,应用程 序和 Web 开发人员可以节省开发时间并满足用户的需求。 Crystal Reports 支持大多数 流行的开发语言,可以方便地在任何应用程序中添加报表。
无论您是 IT 行业的站点管理员,还是营销推广经理,也无论您是金融业的数据库管 理员还是 CEO,Crystal Reports 都堪称是一个功能强大的工具,它可以帮助每一个人分 析并解释重要的信息。

1.2 关于本指南

本指南介绍了典型的报表任务过程,例如放置字段、格式化报表和排序记录。其中 还包含多个为人关心的特定内容的有关信息,如创建高级公式、访问不同类型的数据。 使用本指南作为基本报表过程的参考,同时作为对报表创建过程中新概念的介绍。
Page 18
2 Crystal Reports 用户指南

1.2.1 章内容

下面将简要说明中每
第 1 章 : 欢迎使用 Crystal Reports 10
欢迎!此章将向您介绍世界领先的桌面及 Web 报表工具 Crystal Reports,并对此
用户指南的内容进行了概述。
第 2 章 : Crystal Reports 10 中的新功能
Crystal Reports 在保留其版本 9 公认的稳定性之余,现在进一步提供了新的功能
和增强功能。本章将简明扼要地逐个介绍这些新的功能和增强功能。
第 3 章 : 安装 Crystal Reports
此章介绍如何从产品 CD 在本地安装 Crystal Reports。此章还说明如何将 Crystal
Reports 安装到网络服务器上,以及如何从网络服务器安装到工作站计算机上。
第 4 章 : 快速开始
本章首先概述了 Crystal Reports 常用的示例报表和数据。然后对“报表创建向导” 进行了概述,新用户和高级用户都可以通过查看 “标准报表创建向导”而受益,因为其 中介绍的许多步骤都与其他 “报表创建向导”中的步骤相同。最后,本章提供了两个教 程:一个针对新用户,另一个针对较高级的用户。
第 5 章 : 报表设计概念
本章说明了报表设计的基本概念,并帮助您决定报表中应包含的信息。
第 6 章 : 建立报表简介
本章向您说明在 Crystal Reports 中创建报表的基础知识。首先您将了解报表设计 环境,然后学习如何选择数据库表、在报表上放置对象以及如何排序、分组和总计报表数 据。
第 7 章 : Crystal 储备库
此章介绍 Crystal 储备库,并说明如何将项目添加到储备库,如何更新现有项目, 以及如何在 Crystal 报表中使用储备库项目。
第 8 章 : 设计优化的 Web 报表
此章提出可用来改进报表的多种方法,以便报表能利用对 Crystal Reports 所实现 的性能增强。此处提供的建议对于优化在 Web 细缆环境上分发的报表的性能尤其 重要, 不过,多数准则和步骤都适用于所有报表。
第 9 章 : 记录选定
本章介绍如何筛选想要包含在报表中的记录。例如,使用记录选定工具,可以将报 表中的记录限定为只包括特定客户组的记录,特定帐目编号范围的记录,或具体的日期 范围的记录。
Page 19
第 1 章 欢迎使用 Crystal Reports 10 3
第 10 章 : 排序、分组及总计
排序、分组及总计是将报表上杂乱无章的数据转换成有用信息的步骤。本章描述可
以在报表中进行的排序、分组及总计的类型。
第 11 章 : 运行总计
运行总计是创建专用汇总及连续增量总计的一种灵活而又强大的方法。
本章说明如何向报表添加基本运行总计和组内运行总计,并说明如何创建条件运行
总计和使用公式创建运行总计。
第 12 章 : 多节报表
本章介绍各种类型的复杂报表,您可以使用 Crystal Reports 中的多个节报表创建 功能创建它们。这些功能使您能够创建这样的报表,在报表中可以基于一些建立的准则而 将单个值区别对待。之后将这些概念应用到 “套用信函”的创建。
第 13 章 : 格式化
格式化不仅指报表布局和设计中的更改,还有文本、对象或整个报表节外观上的更 改。本章详细描述一些方法,可以用来引起对数据的注意、更改日期、数字和其它值的 格式、隐藏不需要的节以及执行各种其它格式化任务,从而使报表呈现专业化的外观。
第 14 章 : 图表
Crystal Reports 使您能够用多彩的、易读的图表显示汇总的数据。此章介绍如何 创建图表,以及如何在报表中使用图表,以使报表更有意义并且更易于理解。不但可以 从大量图表布局和类型中选择,而且能够深化以查看图形汇总的详细资料并格式化图表 对象。
第 15 章 : 地图功能
使用 Crystal Reports,您可以用由地理数据组成的报表来制作地图。本章阐述怎 样在报表中使用地图,从而使报表数据更有意义而且更易于解释。可以自定义和重排地 图外观并激活深化模式以查看图形汇总的详细资料。
第 16 章 : OLE
本章阐述了如何使用对象链接和嵌入 (OLE) 在不打开另外的应用程序的情况下编辑 报表中的图形或者其它对象。
第 17 章 : 交叉表对象
“交叉表”对象是一个网格,用于显示在两个方向已进行了分组和汇总的值。本章将
向您提供有关如何在报表中使用 “交叉表”对象的信息。
第 18 章 : 创建和更新 OLAP 报表
此章说明如何创建 OLAP 报表,如何在数据位置更改后更新报表,以及如何使用显 示在 OLAP 网格中的数据。
Page 20
4 Crystal Reports 用户指南
第 19 章 : 分发和查看报表
本章所提供的信息讲述了如何用各种方法(打印、传真和导出)分发已完成的报表。 同时还包含报表部件的信息,解释了如何设置超级链接以便在不同的报表查看器中查看 报表部件。最后,提供了有关在 Office XP 中将智能标记用于报表对象的信息。
第 20 章 : 报表警报
此章提供关于在 Crystal 报表中创建和使用警报的信息。
第 21 章 : 从 Excel 和 Access 中创建报表
本章描述了用于 Microsoft Excel 和 Microsoft Access 的加载项。说明了如何使 用 Crystal Report 向导从 Access 表或查询以及 Excel 电子表格创建报表。
第 22 章 : 使用公式
此章讲解公式基础知识,并介绍了 公式工作室 以使您可以着手创建公式。
第 23 章 : 参数字段
本章说明什么是参数字段,以及如何应用参数字段创建单个报表,以便根据用户的 需要访问不同的数据类型。
第 24 章 : 子报表
子报表是报表中的报表。使用子报表,可以将不相关的报表合并到一个报表中。可 以协调本无法链接的数据,和在单个报表中显示相同数据的不同视图。本章说明如何创 建和使用子报表。
第 25 章 : 了解数据库
本章描述了解数据库的设计和使用所需知道的要点。继描述关系数据库 (包括来自 ODBC 数据源的数据库)、索引和表链接之后,此章介绍服务器端处理(将报表处理推入服 务器级)的概念以及字段映射(在数据库发生更改后,重新建立报表和数据库字段映射)。
报表处理模型
本附录提供有关报表处理模型的深入信息。该模型决定在生成报表时访问和处理数 据的顺序。
创建可访问报表
本附录提供一些设计建议,帮助您创建可供残障人士访问的 Crystal 报表。
术语表
本指南给出了一个综合词汇表,对数据库和报表的基本概念,以及程序的专用术语 给出了解释。

1.2.2 联机帮助

Crystal Reports 联机帮助包含用户指南中的所有主题。它还提供了其它的参考材 料,范围涉及从按钮功能这样的特定信息到如何基于企业方案示例创建报表公式这样的 常规信息。
Page 21
1.2.2.1 快速定位信息
可从 Crystal Reports 的帮助菜单访问联机帮助。
使用 “内容”选项卡查看联机帮助中所有主要的节,并可深化到每一节中特定的标 题;使用 “索引”选项卡按字母顺序查看主题;使用 “搜索”选项卡输入关键字,以查 看与该关键字相关的所有节。
1.2.2.2 示例报表
Crystal Reports 联机帮助中的许多主题都包含了相关示例报表的列表。使用这些 报表可解释主题所描述的概念。您可根据自己的需要改变这些示例报表。
示例报表位于 Crystal Reports 目录中的

1.3 产品注册

要进行产品注册,可以使用以下几种方法:
• 在 Crystal Decisions 的 Web 站点上填写 “产品注册”表格。Web 站点为:
http://china.crystaldecisions.com/register/content.asp
• 打印“产品注册”表格,然后通过传真将该表格发送到离您最近的注册传真号码。
Crystal Decisions 将通过传真向您发回一个注册号,下一次使用产品时,您就
可以将此注册号输入产品。 注册传真号码 美国 / 加拿大 +1 (604) 681-5147 英国 +44 (0) 20 8231 0601 澳大利亚 +6 2 9955 7682 德国 +49 (0) 69 9509 6182 香港特别行政区 +852 2893 2727 新加坡 +65 777 8786
必须注册才能获得在线或电话技术支持。此外,注册产品还可以确保能够获得有关
产品新增功能的最新信息。
第 1 章 欢迎使用 Crystal Reports 10 5
\Samples\Chs\Reports
之下。

1.4 客户手册

有关产品注册、维护、支持和服务的最新详细信息,请访问我们的 Web 站点并下载
与对您所在地区对应的客户手册:
• 北美:
http://www.crystaldecisions.com/about/loyalty/handbook.asp (英语)
• 欧洲:
http://www.crystaldecisions.com/about/loyalty/handbook.asp (英语) http://germany.crystaldecisions.com/about/loyalty/handbook.asp http://france.crystaldecisions.com/about/loyalty/handbook.asp (法语)
如果未提供适用于您所在地区的 Crystal Decisions 客户手册,请参阅本“欢迎使
用”章节的其余部分,或与您的销售或支持代表联系以获得完整的详细信息。
(德语)
Page 22
6 Crystal Reports 用户指南

1.5 Crystal 客户服务技术支持

要访问 Crystal 技术支持专家,您必须在以下地址在线注册您的软件:
http://china.crystaldecisions.com/register/content.asp
要查找有关为 Crystal Reports 提供的技术支持计划的信息:
• 访问技术支持 Web 站点,网址为:
http://support.crystaldecisions.com/crystalcare/
• 向您当地的办事处咨询。有关详细信息,请访问:
http://china.crystaldecisions.com/contact/

1.6 Crystal 培训

无论您是开发人员,信息技术人员,还是企业用户,都可以通过我们提供的一系列 内容丰富的 Crystal Reports 培训课程来帮助掌握新技能或提高现有技能。培训方式非 常灵活,您可以选择在线学习、在授权培训中心学习,或者就在您的公司内学习:
• 有关所有培训课程的完整清单以及特别的优惠的信息,请访问:
http://china.crystaldecisions.com/services/
• 或者向您当地的办事处咨询。有关详细信息,请访问:
http://china.crystaldecisions.com/contact/

1.7 Crystal 咨询

我们遍及世界各地的认证顾问队伍和咨询合作伙伴可以帮助您制定包括策略、设 计、整合和部署在内的整个企业范围的解决方案,让您的系统见效最快、性能最优,并 使生产效率进一步提高。
• 要了解更多信息,请访问:
http://china.crystaldecisions.com/services/
• 或者向您当地的办事处咨询。有关详细信息,请访问:
http://china.crystaldecisions.com/contact/

1.8 文档规则

本指南使用下列规则:
• 命令和按钮
为便于识别,步骤中的用户界面 (UI) 项均加双引号。例如:在 “文件”菜单中,
单击 “新建”。
• 键盘快捷方式
Delete 指 Delete 键,或数字小键盘上的 Del 键。Enter 指 Enter、Return 或 CR
键,这取决于您的键盘上的键。
• 键组合
所谓键组合,是指 CTRL+KEY、SHIFT+KEY 和 ALT+KEY,等等。请按住键组合中的第
一个键,同时,按下组合中的第二个键 (在上面的例子中用 KEY 表示) 。例如:
CTRL+C 表示要按住 Control 键,同时按下键盘上的字母 C 键(CTRL+C 是 Windows
中的 “复制”命令)。
• 等宽字体表示文件路径和名称、代码行以及使用键盘输入的数据 (例如:在 “公
式编辑器”中键入
If Sales > 1000 Then crRed
)。
Page 23

第 2 章 Crystal Reports 10 中的新功能

和增强功能。本章将简明扼要地逐个介绍这些新的功能和增强功能。

2.1 介绍

几处改进和新的功能,以继续解决在报表制作过程的所有元素中存在的生产率挑战。此 发行版另一个值得关注的重点就是与 Crystal Enterprise 更紧密的集成。
信息用户)的角度出发,逐个对它们进行分析。
10 中包含的 Report Application Server 提供的。要检查您所用的版本,可以在报表 设计器中单击 “帮助”菜单上的 “关于 Crystal Reports”。
第 2 章 Crystal Reports 10 中的新功能 7
Crystal Reports 在保留其版本 9 公认的稳定性之余,现在进一步提供了新的功能
Crystal Reports10 扩展了其报表平台,以便能:
• 更有效地设计和维护报表。
• 更容易集成和部署企业 Web 应用程序。
在版本 9 中引入了一组重要的功能,此发行版不但建立在该基础上,而且还包含了
在本章中,将从这些主要新功能的服务接受者 (应用程序开发人员、报表设计者和
注意:所提供的功能因版本而异,并且有些功能是通过特定版本的 Crystal Reports

2.2 应用程序开发人员

对于开发人员而言,Crystal Reports 简化了把达到展示品质的动态内容集成进 .NET、Java 或 COM 应用程序的过程,因此减少了所需的编码量,并将应用程序的维护 工作量减到最小。在版本 10 中,Crystal Decisions 通过增加几个新的功能以及让用 户更容易移植到 Crystal Enterprise,进一步落实了其跨平台开发的承诺。

2.2.1 百分之百的 Java Reporting Component

版本 10 引入了功能强大的 Java 版 Crystal Reports 报表引擎,Java Reporting Component 利用了 Java 的各种优点,包括在各种操作系统和硬件平台之间的可移植性。 这个新的报表组件完全以 Java 语言写成,它使开发人员无需编写代码就能快速连接到 数据,以及为 J2EE 应 用 程 序 设 计 动 态 及 非 常 准 确 的表示层。此引擎支持 Crystal Reports 的基本功能,例如分组、排序、筛选、表达式、基本的格式设置、绘制图表,以 及 PDF 和 Word 导出。它也允许和各种主要的 Java 集成开发环境 (包括 Borland JBuilder 10 和 Crystal Reports for BEA WebLogic Workshop)集成在一起。
在版本 10 中,也可以对使用新的 Java 报表组件的应用程序进行无缝升级,以使用 Crystal Enterprise 和 Report Application Server。只需修改一行代码,应用程序就能 从卸载的报表处理作业、程序化的报表创建和修改以及其它许多功能中获得诸多好处。
Page 24
8 Crystal Reports 用户指南

2.2.2 自定义 Java 标记库

Crystal Reports 10 引入了自定义的 JSP 标记库,从而大幅减少了将报表功能集 成进 Java 应用程序所需的编码量。使用自定义的 JSP 标记,开发人员现在可以轻松地 将 Crystal 报表查看器添加到其 Web 应用程序中。

2.2.3 简化的 .NET 合并模块

Crystal Reports 10 减少了所需的合并模块数量,从而使用户更容易部署 .NET 应 用程序。可以利用四个核心的合并模块来处理八种特定的部署方案:
• Windows 胖客户端应用程序
• 嵌入式过程报告
• 远程过程报告
• Web 服务报告
• ASP .NET Web 应用程序
• 嵌入式过程报告
• 远程过程报告
• Web 服务报告
• Web 服务应用程序
• 嵌入式过程报告
• 远程过程报告
这些模块将在版本 10 发布不久后通过 “Crystal Decisions .NET 开发人员社区” 提供,该社区的网址是:
default.asp。
http://www.crystaldecisions.com/products/dev_zone/net/

2.2.4 .NET 到 Crystal Enterprise 的升级

Crystal Reports 10 引入了一个无缝的升级解决方案,允许那些使用捆绑在以下软 件中的 .NET 报表组件的应用程序访问 Crystal Enterprise 和 Report Application Server:Microsoft Visual Studio .NET、Borland C#Builder 或 Crystal Reports 9/ 10。只需添加一行代码,.NET 开发人员就能利用独立的报表处理服务器所带来的好处。 此解决方案也使用户能轻松地在未来升级到其它 Crystal Enterprise 版本。
方案
Peter 是某大型机构内的 .NET 开发人员,该机构对于 .NET 有一套标准。他的团 队创建了一个小型的部门 HR 应用程序,以帮助招聘人员更好地管理招聘过程。由于此 应用程序需要一些基本的报表元素,因此 Peter 的团队决定选用捆绑在 Microsoft Visual Studio .NET. 中的 Crystal Reports 版本。在六个月内,此应用程序的使用率 急剧上 升,与 此 同 时,Peter 需要向此应用程序添加新的和更大的报表。Report Application Server (相对于 .NET 报表组件)是一个更可取的选择,这是因为它允许 Peter 将报表处理作业与他的 Web 服务器隔开。由于此应用程序在接下来的 12 个月内 还需要其它交互性,因此 Peter 需要一个可以随着时间的过去而扩展的解决方案。只需 添加一行代码,Peter 就能重复使用他现在的成果,对 Report Application Server 而
Page 25
第 2 章 Crystal Reports 10 中的新功能 9
不是 .NET 报表组件加以利用。之后,可以在将来轻松扩展此应用程序,以便使用其它 Crystal Enterprise 服务。

2.2.5 简化的 Report Application Server API

在 Crystal Reports 10 中,完成最常见的开发人员任务所需的编码量已显著降低, 从而能更容易地进行集成。此增强功能具体适用于捆绑在 Crystal Reports 中的 Report Application Serve,并且主要是针对如设置参数、登录、打印等任务。

2.3 报表设计者

从提高了报表创建的灵活性到支持全方位管理的报表系统,Crystal Reports 10 帮 助报表设计者能更有效率地完成在报表开发和维护周期的所有阶段中的工作。

2.3.1 简化的数据访问过程 (业务视图)

Crystal Reports 10 允许报表设计者根据业务视图创建报表,从而加快开发速度并 降低维护的工作量。
业务视图是 Crystal Enterprise 10 中的新功能,它提供了新的数据抽象层,后者 简化了连接到企业数据源的过程。这个新的集中式数据访问模型也揭示了预定义的、特 定于域的数据源,因而消除了不必要的复杂联接、筛选器或公式。它可以无缝地管理对 多个各不相同的数据源的访问,并将这些数据源组合为单一数据源,供报表设计者使用。
通过在报表开发和维护过程中使用业务视图,用户就不必在基础数据结构变动时重 新定义报表。由于可以轻松地将报表从开发阶段转移到生产阶段,这就使得报表开发过 程更有效率。
方案
Christine 是某大型机构 IT 部门的报表分析师。她负责处理来自不同部门的一长 列报表请求。由于 Christine 刚加入这家机构不久,因此她仍然在努力整理所有数据的 来源。令人高兴的是,IT 部门中的 DBA 团队创建了 Christine 可以连接到的各种业务 视图。这些业务视图已集成了各种企业数据源,并对复杂的数据进行了抽象提炼。 Christine 要做的只是指出需要为报表使用什么视图,然后相应地设置信息的格式。将 报表产生的结果集导入到生产中是非常简单的。一旦测试了报表,DBA 团队就能通过一 个步骤在业务视图中重新表示基础数据结构。

2.3.2 储备库

储备库在版本 9 中引入,它是一个中心库,用于存储常用的报表对象(图像、文本 对象、SQL 命令和自定义函数),这些对象在多份报表中使用,并用于单点更新。这个重 要功能已在版本 10 中经过改进,以便支持在多个大型企业部署中的使用。
Page 26
10 Crystal Reports 用户指南
2.3.2.1Managed Repository
为了使客户能为报表设计和维护创建一个可管理的系统,版本 10 中的储备库已作 为 Crystal Enterprise 基础结构的一个加强部分包含在该版本中。可以通过 Crystal Enterprise 保护和共享储备库对象,并且通过 Crystal Reports 设计器使用这些对象。 版本 10 中也包含了一个便于从版本 9 的储备库过渡到新的 Managed Repository 的移 植工具。
方案 1
Steve 任职于某大型机构的 IT 部门,负责维护超过 100 份的公司报表。他最关注 的问题之一就是确保这些报表都构建在准确的信息上。未使用版本 10 之前,如果数据 库架构发生改变,Steve 就要花不少时间为每份报表更新数据库连接,以及复核数据是 否准确。“最糟糕的是,在报表运行的时候,即使它不是建立在我新的数据库架构上,它 也不会停止运行。”而使用版本 10,Steve 现在可以将所有报表都建立在单一的业务视 图上。如果数据库发生改变,只需要更新业务视图,因而确保了所有报表都依据准确的 数据而正确运行。
方案 2
Karen 是她所在机构中几百位报表设计者的其中一位,她正帮忙定义一个卓越的报 表制作中心。她擅长于为营销部门创建报表,但并不精通 Crystal 公式语言。幸运的是, 有一位库存分析师已创建了许多复杂的运行率和库存周转率函数,因此,Karen 能够轻 松地从 Crystal Enterprise 中引入所需的函数。
2.3.2.2 储备库资源管理器
为了支持储备库在多位报表设计者之间的广泛使用,版本 10 中的 “储备库资源管 理器”包含了一个工具栏,让用户更容易根据类型和 / 或文本值浏览对象。也可以向储 备库对象添加工具提示,以便更容易识别出要添加到报表中的所需元素。
相关主题
• 在第 73 页上的 “Crystal 储备库”

2.3.3 格式刷

与 Microsoft Office 的 “格式刷”相似,这个新增到 Crystal Reports 10 中的 功能允许用户通过单击在对象之间复制完整的格式设置选项。报表设计者只需选择已设 置格式的对象,然后单击任何其它需要设置相同格式的对象即可。这样做显著减少了用 在设置对象格式上的时间。
方案
Sally 是一所地区性医院的报表设计者,负责创建和维护超过 80 份报表。每一份 这些报表都必须遵守严格的格式设置标准,包括特定字体、颜色、大小等的用法。对于 Sally 而言,这些格式设置工作既费时又无趣。使用 Crystal Reports 10,Sally 就能 以前所未有的速度设置报表的格式。她只需在一份报表中设置某个对象的格式,然后,通 过单击就能将该格式应用到所处理的所有报表中任何其它适用的对象。
Page 27
第 2 章 Crystal Reports 10 中的新功能 11
相关主题
• 在第 187 页上的 “使用格式刷”

2.3.4 漏斗图

漏斗图对于许多 “客户关系管理”应用程序是一个重要的要求,而现在 Crystal Reports 10 中提供了这种图表类型。与饼图相似,漏斗图对于总计为 100% 的数据提供 了一种有趣的显示方法。这种图表类型在对销售预测作渠道分析时特别有用。
相关主题
• 在第 190 页上的 “图表类型”

2.4 信息用户

Crystal Reports 10 使信 息用户可以通过熟悉的设备或软件 (包括 Microsoft Office)轻松地浏览在 Crystal Report 中传递的信息。

2.4.1 在重要的报表元素之间的可管理导航

Crystal Reports 10 将 “报表部件”和“有引导的导航”扩展到 Crystal Enterprise,以便可以在多个最终用户方案和工作流程中使用一组报表。
可以轻松地将在相同的报表或其它报表中的报表部件作为组链接在一起,以简化为 报表用户提供的导航。用户可以通过单击报表中某部分插入了超级链接的信息来跳到另 一部分,同时保留数据上下文。此功能可以减少不必要的子报表,并可以改善报表处理 的性能。使用 Crystal Enterprise,可以轻松地计划和管理 “报表部件”,从而使链接 的对象之间的基础数据具有相同的刷新日期。这在定期更新信息时特别有用,例如,在 更新季末财务信息时。
方案
某位销售经理需要更好地了解他的渠道状况。他并未创建一份包含所有可能的信息 的臃肿报表,而是设计了五份不同的报表,每一份都在不同的详细级别上对渠道加以研 究。使用“可管理的超级链接”,Frank 可以通过每一份这些报表定义单击式的路径,从 而使销售经理可以一直深化到单个的交易级别,以便监控他们的渠道。
相关主题
• 在第 260 页上的 “查看报表”

2.4.2 Excel 导出

在将格式设置完备的报表导出到 Microsoft Excel 方面,Crystal Reports 10 引 入了更灵活的选项并提供了更多的控制。例如,用户可以选择导出全部或部分页眉 / 页 脚,以及选择是否显示网格线。
Page 28
12 Crystal Reports 用户指南
相关主题
• 在第 252 页上的 “导出报表”

2.4.3 DHTML 打印

Crystal Reports 10 包含了一个更新的 DHTML 报表查看器控件,该控件简化了打 印过程。用户只需单击一次即可打印报表。无需为了使用 Adobe Acrobat 中的打印功能 而将报表导出为 PDF 格式。这个单击一次即可打印的新功能是通过一个下载到客户端机 器的小 ActiveX 控件提供的。
Page 29
第 3 章 : 安装 Crystal Reports 13

第 3 章 安装 Crystal Reports

本章介绍如何从产品分发介质在本地安装 Crystal Reports。它还描述如何从网络
服务器安装到工作站计算机。

3.1 安装 Crystal Reports

Crystal Reports 安装向导使用 Microsoft Windows 安装程序指导您完成安装过
程。该安装向导自动识别您计算机上的操作系统并根据要求对文件进行更新。
本章提供安装 Crystal Reports 的逐步骤说明并介绍了如何进行自定义安装。主要
有以下主题:
• 安装要求
• 在本地计算机上安装 Crystal Reports
• 创建安装点并从网络服务器进行安装
• 自定义安装
• 安装 Java Reporting Component
• 升级 Crystal Reports 组件
作为安装过程的结束步骤之一,安装程序将询问您是否要注册此产品。请按照屏幕
上的说明完成此过程。

3.2 安装要求

3.2.0.1 最低安装要求

操作系统
计算机 / 处理器
内存
磁盘空间
驱动器
Windows 2000 Windows XP Professional
Windows 2003 Server
133 MHz 或更高频率的 Pentium 兼容型 CPU
至少 128 兆字节 (MB) RAM。建议 256 MB。最大 4 吉字节 (GB)
320 兆字节
CD-ROM 或 DVD 驱动器
Page 30
14 Crystal Reports 用户指南

3.3 在本地计算机上安装 Crystal Reports

如果在运行任何支持的操作系统 (请参阅上面的最低安装要求)的计算机上安装 Crystal Reports,您必须拥有管理员权限。安装过程将创建注册表项并可能更新一些需 要管理员权限的系统文件。
安装 Crystal Reports 时,应关闭所有正在运行的程序,并尽可能多地停止服务。
如果希望限制要安装的功能,请参阅在第 16 页上的 “自定义安装”。
在本地计算机上安装
1 除非启用了 CD-ROM 驱动器的自动播放功能,否则请从产品分发介质的 win32 目录
中运行 setup.exe。 注意:根据当前系统配置,可能会出现一个对话框,告诉您更新现有文件。如果出
现该对话框,单击 “是”并重新启动您的计算机。安装向导将更新所需文件。
2 阅读并接受许可协议继续进行安装。
3 在 “用户信息”对话框中,键入您的姓名、组织和产品激活密钥号码。
4 单击 “下一步”按钮。
出现 “选择安装类型”对话框。
5 选择您要执行的安装类型:
• “典型”安装最常用的应用程序功能。
• “自定义”安装使您可以选择要安装的功能、指定安装位置,并查看各项功能
所需的磁盘空间。有关详细信息,请参阅在第 16 页上的 “自定义安装”。
6 如果不打算在默认位置安装 Crystal Reports,请单击 “浏览”指定其他目录。
默认安装目录为:
7 单击 “下一步”按钮。
出现 “开始安装”对话框。
8 单击 “下一步”开始将文件复制到本地驱动器。
C:\Program Files\Crystal Decisions\Crystal Reports 10\
Page 31
第 3 章 : 安装 Crystal Reports 15

3.4 创建安装点并从网络服务器进行安装

从中央网络位置安装 Crystal Reports 的过程包含两个步骤:
1 将 Crystal Reports 产品分发介质复制到网络上的某台服务器计算机上 (此副本
将成为安装点)。请参阅在第 15 页上的 “创建 Crystal Reports 的安装
点”。
2 从工作站访问服务器计算机,并运行 Setup.exe 在工作站上安装 Crystal
Reports。请参阅在第 15 页上的 “从网络安装 Crystal Reports”。

3.4.1 创建 Crystal Reports 的安装点

这个过程必须由拥有写访问权限和网络权限的网络管理员执行。此过程完成后,最 终用户将能从网络上访问 Setup.exe,从而将 Crystal Reports 安装到其本地计算机 上。
注意:如果用户的计算机上没有配置 Microsoft Windows 安装程序,安装过程将检 测工作站的操作系统并安装相应的 Microsoft Windows 安装程序包。
若要创建安装点
1 在网络上创建一个文件夹,并为需要运行 setup.exe 的用户共享此文件夹。
2 将 Crystal Reports 产品分发介质的全部内容复制到在步骤 1 中创建的文件夹。
3 为需要从该文件夹中安装 Crystal Reports 的用户分配权限。
注意:限制对此文件夹的访问可使您不会违反许可证限制的规定。

3.4.2 从网络安装 Crystal Reports

如果网络管理员已将 Crystal Reports 复制到网络,请在开始本过程前确认您是否 具有该网络的读取权限。
如果在运行任何支持的操作系统 (请参阅在第 13 页上的 “最低安装要求”)的计 算机上安装 Crystal Reports,您必须在该计算机上拥有管理员权限。安装过程将创建注 册表项并可能更新一些需要管理员权限的系统文件。
安装 Crystal Reports 时,应关闭所有正在运行的程序,并尽可能多地停止服务。
若要从网络安装 Crystal Reports
1 访问包含 Crystal Reports 安装文件的网络文件夹。
2 双击 Setup.exe。
注意:根据当前系统配置,可能会出现一个对话框,告诉您更新现有文件。单击
“是”并重新启动您的计算机。安装向导将更新所需文件。
3 阅读并接受许可协议继续进行安装。
4 在 “用户信息”对话框中,键入您的姓名、组织和产品激活密钥号码。
提示: 您可能需要与您的管理员联系,以获得产品激活密钥号码。
Page 32
16 Crystal Reports 用户指南
5 单击 “下一步”按钮。
出现 “选择安装类型”对话框。
6 选择要执行的安装类型:
• “典型”安装最常用的应用程序功能。
• “自定义”安装使您可以选择要安装的功能、指定安装位置,并查看各项功能
所需的磁盘空间。有关详细信息,请参阅在第 16 页上的 “自定义安装”。
7 如果不打算在默认位置安装 Crystal Reports,请单击 “浏览”指定其他目录。
默认安装目录为:
8 单击 “下一步”按钮。
出现 “开始安装”对话框。
9 单击 “下一步”开始将文件复制到本地驱动器。
C:\Program Files\Crystal Decisions\Crystal Reports 10\

3.5 自定义安装

选择 “自定义安装”选项将打开 “选择功能”对话框,您可以通过此对话框安装特
定的功能、更改各功能的默认位置,以及查看各功能所需的硬盘空间量。
功能树状结构中的图标表明是否安装该功能及其子功能:
• 白色图标表示将安装该功能及其所有子功能。
• 阴影图标表示将安装该功能及其部分子功能。
• 黄色的 1 表示将根据需要安装该功能 (按需安装)。
• 红色的 X 表示没有或不安装该功能及其子功能。
Crystal Reports 支持对其某些功能使用 “按需安装”技术。因此,某些功能在安 装后第一次使用时,必须再等 “按需安装”过程完成后才能使用。这种行为只对新的安 装有一次影响,在重新启动功能后不会再发生。
要选择某个功能或子功能的配置和位置,单击其图标。
注意:每个功能或子功能都可以有其自己的配置和位置。
Page 33
第 3 章 : 安装 Crystal Reports 17
您可以使用下表确定各功能或子功能的安装选项:
功能安装的类型 对已安装的描述 将安装于本地硬盘驱动器 • 在本地硬盘驱动器上安装该功能。
• 使用“典型”安装设置将该功能的
某些子功能安装到本地硬盘驱动 器。
所有功能将安装于本地硬盘驱动器 • 将该功能及其所有子功能安装到
本地硬盘驱动器。
安装以从产品分发介质 / 网络运行 • 脱离产品分发介质 / 网络运行该功
能及其典型子功能。
注意:某些子功能未安装为从产品分 发介质 / 网络运行。这些子功能将安装到 本地硬盘驱动器上。
整个功能将安装以从产品分发介质 / 网络运行
根据需要安装功能 • 第一次使用该功能或子功能时从
所有功能均将不可用 • 该功能及其子功能均不安装。
• 脱离产品分发介质 / 网络运行该功
能及其所有子功能。
注意:某些子功能未安装为从产品分 发介质 / 网络运行。这些子功能将安装到 本地硬盘驱动器上。
产品分发介质 / 网络安装。
注意:子功能列在每个功能下面。子功能的安装类型可以与其父功能不同。

3.6 安装 Java Reporting Component

Crystal Reports 10 介绍了强大的 Crystal Reports 报表建立引擎的 Java 版本。 Java Reporting Component 完全继承了 Java 可在各个操作系统和硬件平台之间移植的 优点。此外,开发人员使用它无需编码即可快速连接到数据,并可为 J2EE 应用程序设 计动态高保真的表示层。
Java Reporting Component 随 Crystal Reports 10 开发人员版和高级开发人员版 的分发介质一起提供。您需要的 Java Reporting Component 文件的版本会有所不同,具 体情况取决于您所使用的集成开发环境 (IDE)。

3.6.1 Borland JBuilder 10

Java Reporting Component 与 Borland JBuilder 10 的某些版本捆绑在一起。 Crystal Reports 10 的开发人 员版和高级开发人员 版分发 介质也 附带了 最新版本的 Java Reporting Component for Jbuilder。
Page 34
18 Crystal Reports 用户指南
若要在 Windows 上安装 Crystal Reports for Borland JBuilder
1 从 Crystal Reports 产品分发介质中运行 CR10_Autorun_ENENT.exe。
2 单击 Add Java Components。
3 单击 Crystal Reports for Borland JBuilder,然后按照屏幕上的说明进行操作。
Crystal Reports for Borland JBuilder 即已安装。Crystal Reports for Borland Jbuilder 的 jar 文件位于
Decisions\2.5\java\lib
中
\Program Files\Common Files\Crystal
若要在 Solaris 或 Linux 上安装 Crystal Reports for Borland JBuilder
1 在命令提示符处,将当前目录更改为 Crystal Reports 产品分发介质中的
Crystal_Report_Java_Components/IDE_Integration/Borland_JBuilder/ NoVM
目录 (其中 platform 为 Solaris 或 Linux)。
2 运行
install.bin
,然后按照屏幕上的说明进行操作。
Crystal Reports for Borland JBuilder 即已安装。Crystal Reports for Borland Jbuilder 的 jar 文件位于
$HOME/Crystal Reports for Borland JBuilder/java/lib
中

3.6.2 BEA Weblogic Workshop 8.1 SP2

Java Reporting Component 与 BEA Weblogic Workshop 8.1 SP2 的某些版本捆绑 在一起。Crystal Reports 10 的开发人员版和高级开发人员版分发介质也附带了最新版 本的 Java Reporting Component for BEA Weblogic Workshop。
platform
/
若要在 Windows 上安装 Crystal Reports for BEA Weblogic Workshop
1 从 Crystal Reports 产品分发介质中运行 CR10_Autorun_ENENT.exe。
2 单击 Add Java Components。
3 单击 Crystal Reports for BEA Weblogic Workshop,然后按照屏幕上的说明进行
操作。
Crystal Reports for BEA Weblogic Workshop 即已安装。Crystal Reports for
BEA Weblogic Workshop 的 jar 文件位于
Decisions\2.5\java\lib
中
\Program Files\Common Files\Crystal
若要在 Linux 上安装 Crystal Reports for BEA Weblogic Workshop
1 在命令提示符处,将当前目录更改为 Crystal Reports 产品分发介质中的
Crystal_Report_Java_Components/IDE_Integration/BEA_WLW/Linux/NoVM
2 运行
install.bin
,然后按照屏幕上的说明进行操作。
Crystal Reports for BEA Weblogic Workshop 即已安装。Crystal Reports for
BEA Weblogic Workshop 的 jar 文件位于
Workshop/java/lib
中
$HOME/Crystal Reports for BEA Weblogic
目录。
Page 35
第 3 章 : 安装 Crystal Reports 19

3.6.3 所有其他集成开发环境

对于所有其他集成开发环境 (包括使用文本编辑器进行的开发),Crystal Reports 10 的开发人员版和高级开发人员版分发介质附带了 Crystal Reports 10 Java Reporting Component 的独立版本。
若要在 Windows 上安装 Crystal Reports 10 Java Reporting Component
1 从 Crystal Reports 产品分发介质中运行 CR10_Autorun_ENENT.exe。
2 单击 Add Java Components。
3 单击 Crystal Reports 10 Java Reporting Component,然后按照屏幕上的说明进
行操作。
Crystal Reports 10 Java Reporting Component 即 已 安 装。Java Reporting
Component 的 jar 文件位于
Decisions\2.5\java\lib
若要在 Solaris 或 Linux 上安装 Crystal Reports 10 Java Reporting Component
1 在命令提示符处,将当前目录更改为 Crystal Reports 产品分发介质中的
Crystal_Report_Java_Components/
Solaris 或 Linux)。
2 运行
install.bin
Crystal Reports 10 Java Reporting Component 即 已 安 装。Java Reporting
Component 的 jar 文件位于
java/lib
中
,然后按照屏幕上的说明进行操作。
\Program Files\Common Files\Crystal
中
platform
$HOME/Crystal Reports Java Reporting Component/
/NoVM
目录 (其中 platform 为

3.7 升级 Crystal Reports 组件

如果购买了升级产品激活密钥号码,您将发现安装程序不会删除 Crystal Reports 的前一版本。通常,Crystal Reports 组件的升级过程提供了并列式安装 (也就是说, 在旧版本或新版本的 Crystal Reports 中都可运行的安装)。
注意:当从 Crystal Reports 9 或 Crystal Reports 8.5 升级时,支持 Crystal Reports 10 并列式安装。
这种并列式行为适用于 Crystal Reports 和各种软件开发工具包 (SDK)。Crystal Reports 10 for Visual Studio .NET 可在运行时用于并列模式中 (也就是说,使用 Crystal Reports 9 for Visual Studio .NET 编写的应用程序将继续使用 Crystal Reports 9 for Visual Studio .NET 程序集运行)。但是,Visual Studio 集成并不是 并列的; 在 任 何 给 定 的 时 间 都 只 能 将 Crystal Reports 的 一 个 版 本 集 成 到 Visual Studio .NET IDE 中。此原则同样适用于 报表设计器组件 (RDC):RDC 可在运行时用于 并列模式中,但 IDE 集成并不是并列的。
Page 36
20 Crystal Reports 用户指南
注意:
• 当您升级 Crystal Reports 9 组件时,Crystal 储备库 的情况比较特殊。您必
须从 Crystal Enterprise 标准产品开发介质中安装 Crystal 储备库 (有关信 息,请参阅《Crystal Enterprise 10 安装指南》)。然后,您必须将在 Crystal Reports 9 中添加的储备库内容移动到新的储备库。有关如何执行此操作的信 息,请参阅 《业务视图管理员指南》中名为 “迁移 Crystal 储备库”的章节。
• 有关可能与报表创建环境相关的更多信息,请参阅产品分发介质附带的 “发行说
明”(
release.htm
)。
Page 37
第 4 章 快速开始 21

第 4 章 快速开始

本章首先概述了 Crystal Reports 中常用的示例报表和数据,然后对“报表创建向 导”进行了概述,新用户和高级用户都可以通过查看 “标准报表创建向导”而受益,因 为其中介绍的许多步骤都与其他 “报表创建向导”中的步骤相同。最后,本章提供了两 个教程:一个针对新用户,另一个针对较高级的用户。

4.1 学习如何使用 Crystal Reports

可以在本章中 Crystal Reports:
• 可以学习 Crystal Reports 中的示例报表和示例数据库。
• 可以使用在第 22 页上的 “新用户快速入门”中详细的描述和说明。
• 可以使用在第 38 页上的 “高级用户快速开始”中的摘要和主题相互参考,这对
于已经熟悉报表概念的用户尤其有用。
每种方法对于学习和理解 Crystal Reports 章,查阅所需要的其它方法。

4.1.1 示例数据 -- Xtreme.mdb

Crystal Reports 的示例数据库 Xtreme.mdb,在学习程序的时候可以使用。 Xtreme.mdb 是 Microsoft Access 数据库,里面包含了所有必需的驱动程序。您应该能 直接打开该数据库,然后开始设计报表。本手册中的所有示例实际上都基于 Xtreme.mdb 中的数据。
Xtreme.mdb 是一个数据库,其中包含了有关 Xtreme Mountain Bikes (Xtreme 山 地车)的数据,Xtreme Mountain Bikes 是一家虚构的山地车及零件制造商。
注意:示例数据用于阐明在培训环境中的各种报表概念,而不是用来教授数据库设 计。设计数据库的方法有很多,选择此设计方案是因为它将教程和示例的焦点始终放在 报表上,而不是数据上。

4.2 报表创建向导

本章中的教程教您如何从头开始创建报表。但是作为一种补充或选择,您也许需要 使用 Crystal Reports 库提供的 “报表创建向导”。共有四个报表创建向导:
• 标准
• 交叉表
• 邮件标签
• OLAP
Page 38
22 Crystal Reports 用户指南
每个向导提供一系列屏幕以指导您创建报表。许多向导有特定报表类型所独有的屏
幕。例如,“邮件标签报表创建向导”有一个屏幕,允许您指定希望使用的邮件标签类型。
注意:在 “报表创建向导”中单击了 “完成”按钮之后,如果不希望程序收集数据 源中的所有数据,则可以单击 “预览”选项卡上的 “停止”按钮。如果想调整向导创建 的报表布局,此方法十分有用。

4.2.1 标准

“标准报表创建向导”是最常用的向导。它指导您如何选择数据源和链接数据库表。 它还可以帮助您添加字段及指定要使用的分组、摘要 (总计)及排序判据。最后,“标 准报表创建向导”还指导您创建图表和选择记录。
“模板”屏幕包含预定义布局,可应用于报表使其效果更鲜明。

4.2.2 交叉表

“交叉表报表创建向导”指导您创建报表,报表中的数据作为交叉表对象显示。其中 的两个特殊屏幕 (“交叉表”和 “网格样式”)可帮助创建交叉表本身并设置其格式。

4.2.3 邮件标签

“邮件标签报表创建向导”允许您对要创建的报表进行格式设置,以打印在任意大小 的邮件标签上。您可以使用 “标签”屏幕选择一种商用标签类型,也可以自己定义用于 任何多列样式报表的行列布局。

4.2.4 OLAP

“OLAP 报表创建向导”允许您创建 OLAP 数据在其中作为网格对象显示的报表。
“OLAP 报表创建向导”虽然在某些方面与 “交叉表报表创建向导”类似,但由于需要处
理 OLAP 数据源的缘故,因而仍然有些区别。首先指定 OLAP 数据的位置,然后选择要 包含在网格中的维度。接下来筛选报表数据并选择网格对象的样式,您也可以对其进行 自定义。最后,如果希望的话,可以为网格定义标签并插入图表。
这只是 Crystal Reports 中提供的四种 “报表创建向导”的简要概述。

4.3 新用户快速入门

下面的教程帮助您在创建第一张报表时即树立信心。
在本教程中,当创建“客户列表”报表时,会获得有关该程序的介绍。“客户列表”
是最基本的商务报表,一般含有诸如客户名称、城市、地区和联系人姓名之类的信息。
现在开始学习基本概念:选择数据库,在报表中放置一些字段,然后选择要包含的
特定记录。接下来学习如何:
• 插入和移动数据库字段。
• 添加标题并设置格式。
• 在 “预览”选项卡中显示报表,以便可以精细调整报表。
Page 39
• 使用 “选择专家”以确保在报表中只包含所需的数据。
• 移动对象。
• 数据分组及排序。
• 插入图片。
• 打印报表。

4.3.1 开始之前

本教程假设您已经熟悉了 Microdoft Windows,并使用 Windows 环境中常见的惯用 术语和过程。如果您还不熟悉 Windows,请参考 Microsoft Windows 文档,以获得进一 步的解释。
程序中所有报表节的默认字体都设置为宋体、10 磅。如果更改了默认字体,或者打 印机不支持这种字体,那么字段大小、字段间距和屏幕显示看上去将和教程中的不一样。
本教程是在 Microsoft Windows 2000 平台上设计的。如果使用不同的平台,则屏 幕显示可能略有不同。
如果您还不熟悉 Crystal Reports 环境,请查看在第 151 页上的 “格式化”,其 中介绍了如何使用网格、自由格式位置、使用准则及格式化活动。

4.3.2 创建报表

1 单击 “标准”工具栏上的 “新建”。
Crystal Reports 库将会出现。
第 4 章 快速开始 23
库中包含了许多向导,用于指导您创建特定类型的报表。因为在此处是学习报表的
概念,所以可以跳过向导,从头开始创建报表。在完成本教程的学习之后,可以使
用向导创建一些报表,以比较哪种报表创建方法最适合您。
2 选择 “Crystal Reports 库”对话框上的 “作为空白报表”,然后单击 “确定”。
出现 “数据库专家”对话框。
Page 40
24 Crystal Reports 用户指南
注意:可以根据数据库文件、SQL/ODBC 数据源、业务视图和其他各种数据源创建报 表。
4.3.2.1 选择要使用的数据库
创建报表的下一个步骤是选择数据库。在本教程中选择 Xtreme.mdb 示例数据库。
选择数据库
1 在 “数据库专家”对话框中,展开 “创建新连接”文件夹,展开 “数据库文件”
;然后搜索 Xtreme.mdb 示例数据库。
默认情况下,此文件安装在
10\Samples\En\Databases
注意:必须使用 “打开”对话框才能找到 Xtreme 数据库。如果希望看到数据库和 服务器属性,请在“数据库专家”中右击数据库,然后从快捷菜单中选择“属性”。
2 展开 Xtreme.mdb 连接的 “表”节点,查看表的列表。
\Program Files\Crystal Decisions\Crystal Reports
因为在本教程中只处理客户信息,因此请选择 “客户”表。
3 选择“客户”并单击 > 箭头,将其添加到“选定的表”列表中,然后单击“确定”。
出现 Report Designer 的 “设计”选项卡。
4 单击 “标准”工具栏上的 “字段资源管理器”。
出现 “字段资源管理器”对话框。
Page 41
第 4 章 快速开始 25
注意:现在 “字段资源管理器”对话框可能处于停靠或浮动模式,这取决于您最后 一次使用 Crystal Reports 时该对话框的外观。有关停靠资源管理器的更多信息, 请参阅在第 54 页上的 “打开和停靠资源管理器”。
4.3.2.2 报表节
“设计”选项卡分为五个节:“报表页眉”(RH)、“页眉”(PH)、“详细资料”(D)、
“报表页脚”(RF) 和 “页脚”(PF)。不论何时,只要不能确定所在的报表节,只需简单
地查看一下报表左侧的阴影区,这里一直显示节名称或指派给该名称的首字母。请参阅 在第 55 页上的 ““设计”选项卡”。
如果在 “选项”对话框的 “设计视图”区域中选中了 “短节名”复选框,那么报表 页眉、页眉、详细资料、报表页脚和页脚分别显示为 RH、PH、D、RF 和 PF。如果没有 选定该复选框,请遵循下列步骤:
若要显示短节名
1 在 “文件”菜单上,单击 “选项”。
出现 “选项”对话框,其中的 “布局”选项卡是当前活动的选项卡。
2 在 “设计视图”区域,选中 “短节名”复选框。
3 单击 “确定”按钮返回报表。
4.3.2.3 插入字段
当创建新报表时,可以使用 “字段资源管理器”对话框插入数据库字段。
该对话框在关闭前一直保留在屏幕上。该对话框中列出所有可使用的表。
通过插入 “客户名称”字段开始在报表上放置对象。
插入字段
1 展开 “字段资源管理器”对话框中的 “数据库字段”节点,然后展开一个表。
2 通过单击一次字段名突出显示该字段名。
Page 42
26 Crystal Reports 用户指南
在突出显示字段名时,通过右击字段并选择快捷菜单中的 “浏览数据” ,可以查看 该字段的值的子集、字段类型和大小。
3 单击 “客户名称”字段,将它拖动到报表的 “详细资料”节中。
在将字段拖动到报表时,出现带箭头光标的对象框架:
• 该对象框架代表刚选定的要放置的对象。
• 对象框架的大小与选定字段中数据的大小近似。
4 在 “详细资料”节中尽量将对象框架向左移动。
如果将字段向左移动得过多,箭头光标就会变为停止光标,说明不能将字段移动得 那么远。请牢记:不能将任何对象放置在页边距之外。
“设计”选项卡看上去应类似于:
4.3.2.4 了解字段
在进一步学习之前,请查看一下刚才放置在 “详细资料”节中的字段。
• 首先,对象框架表明在打印报表时,字段值将出现在该框所在位置。
• 如果未选择 “选项”对话框的 “布局”选项卡上的 “显示字段名称”复选框,则
对象框架会包含多个 X,指明数据库字段包含文本字符串。其他数据类型有不同 的字符表示。例如,货币数据类型用 $55,555.56 表示。
• 如果报表未显示字段名,则对象框架中 X 的数目为数据宽度,也即由数据库定义
的字段中的最大字符数。不管报表是否显示字段名,对象框架的宽度都是字段宽 度 (分配给字段用于打印的空间量)。开始的时候设置为显示字段中最大字符数 所需的宽度 (使用选定的字段字体)。可以调整字段大小以更改字段宽度。
Page 43
第 4 章 快速开始 27
• 字符或 X 的大小指示为字段中的字符选定的磅值。
• 显示字符或 X 时所用的字体和样式(加粗、下划线等)指示为字段中的字符选定
的字体和样式。在本教程的下面内容中,将学习如何更改这些属性。
• 将行间距调整到为字段中字符选定的磅值。
4.3.2.5 添加附加字段
下一步将在报表中插入两个附加字段。但是,这一次将使用 Ctrl- 单击组合方式同 时添加它们。
添加附加字段
1 突出显示 “字段资源管理器”对话框中的 “城市”字段,按下键盘上的 Ctrl 键,
然后突出显示 “国家 / 地区”字段。释放 Ctrl 键。
如果在字段列表中滚动,可以注意到两个字段已经选定。
注意:使用 Ctrl- 单击组合方式可以选择非连续范围内的字段。使用 Shift- 单击 组合方式可从列表中选择多个连续的字段。
2 拖动字段然后放置。
当光标在报表上移动时,对象框架和箭头光标一起出现。
3 将字段放置到 “客户名称”字段的右侧。
两个字段都出现在报表 “详细资料”节中,其顺序和在 “字段资源管理器”对话框
中所列顺序相同。
4.3.2.6 选择字段
选定字段时,出现对象框架,在对象框架的右侧、左侧、顶部和底部各有一个手柄
(框) 。这些手柄说明字段已被选定,是活动字段。要对字段进行任何操作 (如更改字
体、移动等),首先需要选定这个字段:
• 将光标定位到对象框架内部然后单击。出现手柄,表明已选定该对象。
• 将光标从对象框架中移开,然后单击窗口中的空白部分。手柄就会消失。
这就是选择对象和取消选择对象所要做的全部工作。
4.3.2.7 调整字段大小
若要调整字段大小,请遵循下列步骤:
1 单击 “详细资料”节中的 “客户名称”字段将其选定。
2 按下 Ctrl 键,单击字段标题选定两个对象。
3 将光标移动到字段右侧调整大小手柄上,直到光标变为调整大小光标。
4 向右调整字段大小,调整到大约 2 英寸长。
4.3.2.8 检查所做工作
现在让我们看一看放置三个字段后报表的外观。
Page 44
28 Crystal Reports 用户指南
1 单击 “标准”工具栏上的 “打印预览”激活 “预览”选项卡。
屏幕看上去应类似于:
注意:第一次预览报表时,必须单击 “标准”工具栏上的 “预览”激活 “预览”选 项卡。“预览”选项卡出现在 “设计”选项卡的右侧。可以通过单击相应的选项卡 在设计和预览报表之间来回切换。
您已经有了一个初步的客户列表报表,但是还有几个字段需要添加。
2 完成对报表的检查后,单击 “设计”选项卡返回。
4.3.2.9 在文本对象中组合数据库字段
可以将 “联系人名”和 “联系人姓”字段插入到一个文本对象中,而不是将它们作 为单独的两个对象添加。这样只需更改一个对象,就可控制两个字段的格式设置。在文 本对象中插入字段时,字段自动剪裁 ( 即在两边没有任何额外的空白区域 )。这一点很重 要,因为字段大小是固定的,而字段数据的大小却各不相同,导致产生长短不一的多余 空白区域。
在文本对象中组合字段
1 单击 “插入工具”工具栏上的 “插入文本对象”。在报表上移动鼠标时,一个对象
框架将出现在它旁边。
2 在 “详细资料”节中字段的右侧插入字段。
在拖动字段时,“设计”选项卡会在必要时自动向右滚动。在单击以放置对象时,出
现文本对象,“设计”选项卡的水平标尺变为用于编辑文本对象的标尺 / 选项卡选择
器。单击报表的空白区域或字段对象,出现标准的 “设计”选项卡标尺。
3 单击文本对象的边框,以选定它调整大小。手柄出现在对象的所有边上。
4 在文本对象右侧的大小手柄上移动光标,将宽度增加 1 英寸。也许需要继续向右侧
滚动调整大小。
Page 45
第 4 章 快速开始 29
5 双击文本对象内部以选择它来进行编辑。请注意此时插入点在文本对象中闪烁。
6 在 “字段资源管理器”对话框中选择 “联系人姓”字段。请记住:通过拖放标题栏
可移动 “字段资源管理器”对话框。
7 将字段拖动到文本对象。
8 在文本对象上移动光标,直到它变为拖放光标。
9 释放鼠标按钮将字段放在文本对象中。现在光标出现在文本对象中的 “联系人姓”
字段后。
10 在 “联系人姓”后键入一个逗号和一个空格。
11 在 “字段资源管理器”对话框中,突出显示 “联系人名”字段。
12 将字段拖动到文本对象。
13 在文本对象上移动光标,直到它变为拖放光标。将光标移动到刚才键入的逗号和空
格的右侧,然后释放鼠标按钮。该字段插入到逗号和空格的右侧。
14 单击 “预览”选项卡查看刚才放置的字段。
报表现在看上去应类似于:
4.3.2.10 添加汇总信息
下一步是往报表中添加汇总信息。在添加汇总信息时,允许您指定报表的作者、标 题和主题,以及和报表相关的任何关键字或者备注。在添加汇总信息后,用户可以快速 查找报表的相关信息。
添加汇总信息
1 在 “文件”菜单上,单击 “摘要信息”。
Page 46
30 Crystal Reports 用户指南
出现 “文档属性”对话框,其中 “汇总”选项卡为活动选项卡。
2 在所提供的文本框中输入报表的有关信息。一定要在 “标题”文本框中输入标题
“客户列表”。该信息将在本教程的下一个节中使用。
3 完成时,单击 “确定”。
4.3.2.11 添加标题
正如您所看见的一样,没有标题的报表看上去不完整。尽管可以使用文本对象添加 标题,但也可以让程序直接从 “文档属性”对话框的 “标题”文本框中直接提取标题信 息。
添加标题
1 单击 “设计”选项卡。
2 在 “字段资源管理器”中,向下滚动到 “特殊字段”并展开它。
3 选择 “报表标题”。
4 在报表上拖动光标。出现一个对象框架。
5 将对象框架定位到 “报表页眉”(PH) 节的左上角,然后释放鼠标按钮以放置该对
象。
6 单击 “预览”选项卡或 “刷新”,检查所做的更改。
报表标题对象显示您刚才在 “文档属性”对话框中 “标题”文本框中输入的标题。
4.3.2.12 设置对象格式
现在可以设置报表标题格式。但是这一次将在 “预览”选项卡中完成此项任务。以 便在设置标题格式时更容易查看所做的工作。
设置对象的格式
1 若要使标题居中,应该首先扩展 “标题”字段,让它和报表中数据的宽度大致相
同。若要完成此项任务,请单击该对象将其选定。
Page 47
第 4 章 快速开始 31
2 将光标定位到该对象的右侧,直到光标变为调整大小光标。拖动字段框的右边缘,
直到它与 “联系人姓名”字段对象中数据的右边缘平齐。
即创建了一个大字段,它从报表的左边缘一直延伸到右边缘。
3 在继续选定报表标题对象的情况下,单击 “格式设置”工具栏上的 “居中”。标题
移动到该对象中间位置。
4 右击该对象,从快捷方式菜单选择 “格式字段”。
5 在 “格式编辑器”出现时,单击 “字体”选项卡。
6 从 “样式”列表中选择 “加粗”,从 “大小”列表中选择 16 (或者适合于所使用
字体的磅值),将报表标题的字体变大、加粗。
7 从 “颜色”调色板中选择 “深红色”更改文本的颜色。注意在“示例”框中显示了
文本外观的示例。
8 完成时,单击 “确定”。
9 调整报表标题对象垂直方向的大小,以适应增大的标题。
设置格式后,该标题在报表中变得醒目了。
4.3.2.13 添加字段标题
正如您所看见的一样,“联系人姓名”字段是唯一没有标题的字段。在这一节中,将
创建一个标题。
添加字段标题
1 单击 “插入工具”工具栏上的 “插入文本对象”。
2 在 “联系人姓名”字段正上方的 “页眉”节中插入文本对象。
3 单击 “格式化”工具栏上的 “下划线”,然后在文本对象中键入
4 在文本对象外部单击光标。
现在 “联系人姓名”字段有了标题,其外观和其它字段的标题一样。
“联系人姓名”
。
Page 48
32 Crystal Reports 用户指南
4.3.2.14 保存报表
1 单击 “标准”工具栏上的 “保存”以保存所做的工作。
因为这是第一次保存报表,所以 “另存为”对话框出现,并显示将在其中保存文件
的默认目录。请注意,同时还显示了基于以前定义的报表标题的默认文件名。
2 在 “文件名”框中键入 Custlist.rpt,然后单击 “保存”。
报表即保存到默认目录或所选择的其他目录。
3 单击 “预览”选项卡以查看报表。
报表现在看上去应类似于:
恭喜!您刚才已经创建了一个基本的列表报表。在本教程下面内容中将继续工作以 改进该报表。

4.3.3 记录选定

Crystal Reports 允许您对报表中包含的记录进行限制。在本节中将学习如何:
• 选定要包含在报表中的记录。
• 保存报表 (包括选择条件)。
例如,也许希望有一个客户列表,在此列表中只列出美国的客户。示例数据中包含 了来自美国和世界客户的记录。使用 “选择专家”很容易对列表进行此类限制。
4.3.3.1 输入选择条件
在报表中滚动时,可以看见报表中包含了来自于许多不同国家 / 地区的客户信息。在 本步骤中,将要显示的国家 / 地区限制为 USA。
输入选择条件
1 首先单击 “设计”选项卡返回设计模式。
2 单击报表的空白区域,以确保所有字段均取消选择。
3 单击 “专家工具”工具栏上的 “选择专家”。
Page 49
第 4 章 快速开始 33
出现 “选择字段”对话框。
该对话框在 “报表字段”节中列出该报表当前的全部字段,然后在 “数据库字段” 节中列出来自各个表的全部可用字段。
4 因为要基于 “国家 / 地区”字段选定记录,所以请选择 “字段”列表中的 “国家 /
地区”,然后单击 “确定”。
出现 “选择专家”。
假设正编写下面的语句:
选择所有记录,其中记录中客户的国家 / 地区
在语句中加上希望程序在为报表选择记录时所使用的条件。现在条件是“任意值”, 说明对记录选定没有任何限制。
5 单击运算符框上的箭头以查看其他选项。因为只需要国家 / 地区是 USA 的那些记
录,所以选择 “等于”
条件。
在右边出现一个新框。对话框中的语句是:
选定所有记录,其中记录中客户的国家 / 地区等于
至此,加上值 USA 即可完成该语句。
6 单击空白列表上的箭头。出现国家 / 地区值列表。从列表中选择 USA。
现在语句是:
选定所有记录,其中记录中客户的国家 / 地区等于 USA
7 单击 “确定”返回 “设计”选项卡。
8 单击 “预览”选项卡检查工作结果。
出现 “已检测到记录选定公式中的更改”对话框。
Page 50
34 Crystal Reports 用户指南
9 单击 “刷新数据”。
10 通过从 “文件”菜单中选择 “另存为”,将新报表命名为 USA.rpt,可保存该报表
版本,同时避免覆盖原始报表。
恭喜!您已经开始设置报表格式,并在报表上添加了选择条件。此外,还学习了如 何操作数据。至此,已经对自己能准备的各种功能强大的报表类型有了很好的了解。
4.3.3.2 删除字段
既然在报表中只包含来自于 USA 的记录,那么就没有必要在报表的正文中显示“国 家 / 地区”字段了。在继续操作之前,可以删除该字段。
删除字段
1 使用 Ctrl- 单击组合方式选择 “国家 / 地区”字段和 “国家 / 地区”列标题。
2 按键盘上的 Delete 键。
这就是从报表删除字段所需的全部操作。
报表现在看上去应类似于:
4.3.3.3 平衡字段间距
因为删除了 “国家 / 地区”字段,所以在“城市”和 “联系人姓名”字段之间存在 大量的空白区域。您也许对出现的间距感到满意,但是如果列在页面上分布得更均衡,也 许可读性更强。
平衡字段间距
1 返回 “设计”选项卡。使用 Ctrl- 单击组合方式选择 “联系人姓名”字段及字段
标题。
2 将光标放置在两个突出显示的文本对象中的某一个上,将它们向左侧拖动,使其距
“城市”字段更近。
3 单击 “预览”选项卡再次检查所做的工作。
Page 51
报表看上去应类似于:
字段之间的间距好多了,但是报表标题看上去好象不居中。
4 单击报表标题将其选中。
5 将光标定位到该对象的右侧手柄上,直到光标变为调整大小光标。拖动对象框架的
右边缘,直到它和 “联系人姓名”字段对象中的数据的右边缘平齐。
报表标题将根据对象的大小自动居中对齐。

4.3.4 分组及排序

可以用各种方式对报表中的数据进行分组及排序。排序和分组工具为自定义报表提
供了高度的灵活性。
第 4 章 快速开始 35
4.3.4.1 将报表分组
在许多报表中需要将数据进行分组,以便于阅读和理解。Crystal Reports 您可以很 容易地实现这一点。对于客户列表,将根据地区对客户进行分组,然后在每一组内按字 母顺序对客户排序。
将报表分组
1 当在 “设计”选项卡上时,单击 “插入工具”工具栏上的 “插入组”。
出现 “插入组”对话框。
Page 52
36 Crystal Reports 用户指南
2 从第一个下拉列表中的 “客户”表中选择 “地区”。
程序提取 “地区”字段中值相同的全部记录,将它们放置在报表的一个分组中。
3 从第二个下拉列表中选择 “按升序”。
地区分组将按字母升序顺序显示在报表上。
4 单击 “确定”。
请注意,现在在 “设计”选项卡中出现了两个新节:GH1 (组页眉 #1)和 GF1 (组 页脚 #1)。这就是程序显示报表已分组的方法。
5 单击 “预览”选项卡查看报表的外观。
6 如果组树不可见,选择 “标准”工具栏上的 “切换组树”以查看报表中的组。
可以单击“组树”中的组名以查看感兴趣的组。例如,要查看德克萨斯 (Texas) 客
户组,单击 “组树”中的 TX。程序跳转到德克萨斯组,在“预览”选项卡中显示该组。
“组树”允许快速跳转到感兴趣的特定组,而无须滚动报表查找该组。有关组树的更多信
息,请参阅在第 58 页上的 ““组树”视图”。
注意:对许多报表来说,可能需要在其中插入汇总、小计和总计。例如,如果创建 的是销售报表,而不是客户列表,则可能需要计算每个地区的总销售额。请参阅在第 107 页上的 “排序、分组及总计”。
4.3.4.2 了解 “活动”组页眉
在插入组时,组名字段自动插入到报表的 “组页眉”节中。组名字段显示当前的组 名。例如,如果根据地区分组,预览报表时可以看见 CA(加利福尼亚)组的组页眉显示 为 “CA”。
组字段名自动设置格式,以便相对于组中的记录而言更醒目。
4.3.4.3 对记录排序
在典型的客户列表报表中,客户名称按字母顺序排列。在本例中,将对每个地区内 的客户名称按字母顺序排序。
Page 53
第 4 章 快速开始 37
对记录排序
1 在 “预览”选项卡上时,单击 “专家工具”工具栏上的 “记录排序专家”。
出现 “记录排序顺序”对话框。
“可用字段”列表框显示当前在报表上的所有字段和数据源中的所有字段。可以选择
基于任何字段进行排序。 在 “排序字段”列表框中显示报表中已排序的字段。因为地区字段已排序,所以要
做的排序是在每个地区内进行,而不是针对整个报表。
2 突出显示“客户姓名”字段,然后单击 > 箭头按钮将其添加到“排序字段”列表中。
3 在 “排序方向”中选定 “升序” ,然后单击 “确定”。报表现在看上去应类似于:
请注意每组中的记录都按字母顺序显示。

4.3.5 完成报表

距完成报表只差一步了。需要在报表的第一页上添加公司徽标。
4.3.5.1 插入公司徽标
在本节中,将在报表的第一页的顶部放置公司徽标。
Page 54
38 Crystal Reports 用户指南
插入公司徽标
1 在 “设计”选项卡上时,单击 “插入工具”工具栏上的 “插入图片”。
出现 “打开”对话框。
2 选择 Xtreme.bmp,然后单击 “打开”。
在报表上移动光标时出现对象框架。该对象框架代表将要放置的徽标。
提示: 在
3 将对象框架定位到 “报表页眉” (RH) 节的左上角,单击鼠标放置。
将徽标放置在 “报表页眉”(RH) 节中,以确保只在报表的第一页中打印徽标。
注意:虽然在放置图形时 “报表页眉” (RH) 节中的空间似乎不够,但是该节将自 动展开以容纳该图片。
4 单击 “预览”选项卡以查看报表。
最终的报表看上去应该像:
Samples\En
文件夹的 Databases 子文件夹中可以找到文件 Xtreme.bmp。
5 单击 “标准”工具栏上的 “保存”以保存该报表。
您刚才已经完成了第一份报表。
相关主题
• 有关分发报表的信息 (打印、导出等),请参阅在第 151 页上的“格式化”和在
第 251 页上的 “分发和查看报表”中的打印主题。

4.4 高级用户快速开始

如果您是经验丰富的 Windows 用户,希望直接进入该程序,第一次时请遵循这些步 骤建立报表。
如果您不是很有经验的用户,请查看在第 22 页上的 “新用户快速入门”。
Page 55
第 4 章 快速开始 39
选择报表类型及数据源
1 在 Windows 中,单击 “开始”,指向 “程序”,然后选择 Crystal Reports 10。
2 单击 “作为空白报表”和 “确定”,打开 “数据库专家”对话框。
您可以从四个报表创建向导中任选一个来创建空白报表。在向导列表中进行选择来 查看每个向导的样式示例。 选择向导后,可以在各种数据源的基础上生成报表。
3 浏览 “数据库专家”中的内容,查找要用于报表的数据源。
4 选择要在报表中使用的表,单击 > 箭头将其添加到 “选定的表”列表中。
5 添加完所有要使用的表后,单击 “数据库专家”上的 “确定”。
注意:如果在 “数据库专家”对话框中选择多个表,则出现 “链接”选项卡。有关
链接的更多信息,请参阅在第 61 页上的 “链接多个表”。 出现带 “报表页眉”、“页眉”、“详细资料”、“页脚”和 “报表页脚”区的 “设 计”选项卡。通过在各区中插入项目和设置格式来创建报表。
注意:若要在报表中使用附加的数据库表,并逐条记录地匹配这些表,请单击 “专
家工具”工具栏上的 “数据库专家”,选择这些表,然后在 “链接”选项卡出现时在其 中建立链接。
在 “设计”选项卡上处理报表元素
1 每个默认报表区中都包含一个节。若要添加附加节,请单击 “专家工具”工具栏上
的 “节专家”,然后用 “节专家”添加所需节。 在区中添加节后,即可以在“节专家”中移动、合并及删除节。请参阅在第 162 页
上的 “使用准线设计”。
2 若要打开或关闭网格,可从“文件”菜单中选择 “选项”命令,出现 “选项”对话
框后,选中或清除 “布局”选项卡上 “设计视图”区域中的 “网格”复选框。请参
阅在第 162 页上的 “使用网格”。
3 如果在网格关闭的情况下想使用对齐准线定位对象,请在希望准线出现的地方单击
顶部或左侧标尺。 更进一步使用准线的方法:
• 将字段向准线拖动,直到与准线对齐。
• 拖动准线箭头以移动准线 (及任何与之对齐的对象)。
• 将准线箭头从标尺上拖走以删除准线。请参阅在第 162 页上的 “使用准线设
计”。
4 如果 “字段资源管理器”对话框不可见,请单击“标准”工具栏上的 “字段资源管
理器”。 展开 “数据库字段”节点显示字段列表。为提高输入多个字段的速度,该框将一直
保留在屏幕上,直到您关闭它。如果愿意,可以将该对话框移动到新的位置,或者 调整其大小。请参阅在第 62 页上的 “将数据放在报表上”。
Page 56
40 Crystal Reports 用户指南
5 选择希望在报表上出现的字段。
可以一次选择并放置一个字段,使用 Shift- 单击组合方式选择相邻的多个字段,或 使用 Ctrl- 单击组合方式从列表中任意选择字段。拖放也是活动的。将字段放置在
“详细资料”节中希望字段出现的位置。
在放置多个字段时,字段显示的顺序和它们在 “字段资源管理器”对话框中显示的 顺序相同。程序用矩形框架标记每个字段的位置。框架中的字符指示字段是文本 (xxx...)、数字 (555...)、货币 ($555...)、日期 (12/31/99)、时间 (00:00:00)、 日期时间 (12/31/99 00:00:00) 还是布尔值 (T/F) 类型。
注意:
• 选择 “选项”对话框中 (“布局”选项卡)的 “显示字段名”复选框,可查
看字段名和字段类型。
• 除非未选中 “选项”对话框中 (“布局”选项卡)的 “插入详细字段标题”
复选框,否则程序自动在 “页眉”节中放置字段标题。
• 如果向报表添加了附加的 “详细资料”节,那么对于报表中 “详细资料 A”
(原始)节中的字段,字段标题将只放置在 “页眉”节中。
6 在放置好对象后,可能还需要调整报表节。若要这样做,请右击节标尺左侧的阴影
区,使用显示的快捷方式菜单:
• 若要展开节以容纳附加的行,请选择 “插入行”命令。
• 若要使程序沿水平方向自动对齐节中的对象,请选择 “排列行”命令。
• 若要缩小节的大小,以消除对象上下不必要的空白区域,请选择 “适应节”
命令。请参阅在第 179 页上的 “在行间使用空白区域”。
7 若要生成报表标题,首先必须在 “文档属性”对话框中输入标题。在 “文件”菜单
上,单击 “摘要信息”。在 “文档属性”对话框的 “标题”文本框中输入标题。单 击 “确定”。
8 从 “字段资源管理器”中的 “特殊字段”中选择 “报表标题”。在报表上移动光标
时,出现矩形位置框架。在“报表页眉”(RH) 节中单击,以放置报表标题。报表标 题字段中包含了在 “文档属性”对话框的 “标题”文本框中键入的文本。请参阅在 第 71 页上的 “将标题页添加到报表中”。
9 若要查看如何打印结果,请单击 “标准”工具栏上的 “打印预览”。
若要在创建报表过程中加快处理时间,可以在预览报表时只使用可用数据的一个小 子集。若要这样做,请在 “文件”菜单上选择 “打印”,然后单击 “预览示例”。 请参阅在第 57 页上的 ““预览”选项卡”。 在任一种情况下,程序都将您带至 “预览”选项卡。在 “预览”选项卡中,在查看 作为实际报表数据的结果的同时,可以仔细调整报表。也可以关闭“预览”选项卡, 在 “设计”选项卡中继续处理报表。
使用其他报表功能
1 如果希望设置字段格式,改变字段的位置或宽度,或者插入汇总,请单击该字段将
其选中。在每个选定字段的顶部、底部和两侧都出现手柄:
• 若要更改字段位置,请使用鼠标将字段位置框架拖动到新位置。
• 若要更改字段宽度,请使用鼠标拖动右侧手柄或左侧手柄。
Page 57
第 4 章 快速开始 41
• 右击该字段对其进行格式设置或汇总。出现快捷菜单,其中列出用于字段格式
设置及汇总的命令。
提示: 在 “格式设置”工具栏上有许多字体和格式设置选项。
注意:若要只在特定条件下应用格式设置,请单击 “格式编辑器”中格式设置属性
旁边的“条件公式”,然后创建定义那些条件的公式。请参阅在第 181 页上的“使
用条件格式化”。
2 若要创建进行数据计算或比较的公式,请选择 “字段资源管理器”中的 “公式字
段”。
注意:还可以单击 “专家工具”工具栏上的公式工作室,以便处理公式、自定义函
数、SQL 表达式等等。
3 单击“新建”。出现“公式名称”对话框。输入公式名,然后单击“使用编辑器”。
公式工作室将出现,“公式编辑器”处于活动状态。
4 在 “公式编辑器”中输入公式。输入字段、运算符和函数,方法是从其各自的列表
中选择或者键入它们。可以通过单击 “检查”来检查公式语法。
5 完成编辑后,单击 “保存并关闭”以返回到 “字段资源管理器”对话框。
6 正如您对数据库字段所做的操作一样,单击 “插入到报表”以放置公式。请参阅在
第 281 页上的 “使用公式”。
7 若要插入子报表 (报表中的报表) ,请单击 “插入工具”工具栏上的 “插入子报
表”,然后选择现有的报表作为子报表导入,或者使用 “报表创建向导”创建新的
子报表。请参阅在第 313 页上的 “插入子报表”。 如果希望子报表中的记录和主报表中的记录匹配,请单击 “插入子报表”对话框中
的 “链接”选项卡。出现该选项卡时,在其中指定链接。请参阅在第 316 页上的
“将子报表链接到主报表中的数据”。
8 若要在报表中插入交叉表对象,请单击“插入工具”工具栏上的“插入交叉表”。出
现“交叉表专家”时,在其中设置交叉表。请参阅在第 225 页上的“交叉表对象”。
9 若要创建参数字段 (每当为报表检索数据时,提示您输入值的字段) ,请单击 “标
准”工具栏上的“字段资源管理器”。出现“字段资源管理器”对话框时,选择其中
的 “参数字段”。单击“新建”建立参数字段。一旦创建完成,就可以像处理数据库
字段一样将参数字段插入到报表中,或者从公式工作室的 “字段”列表中进行选择。 参数字段可以用在报表中 (作为标题或标签提示)、选择公式中 (作为选择条件提
示)和公式中(用于各种目的,包括指定排序字段)。请参阅在第 299 页上的 “参
数字段”。
10 若要添加图表,请单击“插入工具”工具栏上的“插入图表”。请参阅在第 189 页
上的 “图表”。
11 若要添加地图,请单击“插入工具”工具栏上的“插入地图”。请参阅在第 203 页
上的 “地图功能”。
12 若要插入电子数据表、图片或者其他 OLE 对象(可以在 Report Designer 中使用这
些对象原应用程序提供的工具对其进行编辑),请从 “插入”菜单中选择 “OLE 对
象”。请参阅在第 217 页上的“OLE”和在第 221 页上的“处理静态 OLE 对象”。
Page 58
42 Crystal Reports 用户指南
13 若要更改记录排序顺序,请单击 “专家工具”工具栏上的 “记录排序专家”。出现
“记录排序顺序”对话框。突出显示您希望用于对报表数据排序的字段及排序方向。
请参阅在第 108 页上的 “单一或多个字段排序”。
14 若要将报表限制为特定的记录 (例如,今年到现在为止购买金额超过一万美元的加
利福尼亚客户的记录),请单击希望选择所基于的第一个字段,然后单击 “专家工 具”工具栏上的 “选择专家”。出现 “选择专家”后,设置记录选择条件。
15 若要打印报表,请单击 “标准”工具栏上的 “打印”。
就这些了!创建报表就这么容易。
Page 59

第 5 章 报表设计概念

本章介绍报表设计的基本概念,并帮助您决定将哪些信息包括在报表中。

5.1 基本报表设计

本章旨在提出用于准备 Crystal 报表的一个结构化方法。此方法包括下列方面:
• 决定报表内容。
• 设计纸张原型。
这一节将使您对制表过程有个概念性理解。

5.2 决定报表内容

在进行一切工作之前,您首先应当列出希望报表提供的信息的大纲。下面各节提供
生成此大纲的指南。
第 5 章 报表设计概念 43

5.2.1 说明目的

5.2.1.1 报表的总体目的是什么?
报表是管理工具。其目的在于帮助您快速掌握原始数据中具有的要素和关系,以帮
助您进行有效的决策。有效的报表须以逻辑方式提供正确的数据。如果提供错误的数据, 或用随意的样式提供正确数据,此报表将会减慢决策的进程,甚至导致不正确的决定。
用一两句话说明报表的用途是报表设计的好的开始。用途陈述有助于您将注意力集
中在主要需求上,并为报表指定出发点和目标。
下面是一些目的说明的示例。
• 这个报表的目的是按销售代表显示每个月和年初至今的销售额,比较今年和去年
的数量,并对销售额没有达到公司标准的代表作出标记。
• 此报表旨在显示每个库存项目的销售活动,并在此基础上提出下一步的定货量建
议。
• 这个报表的目的是计算保铃球的平均分数,分析球队每个成员的不利条件。
在开始之前先定义报表的用途是关系整个设计过程的关键步骤。
5.2.1.2 谁会阅读此报表?
一个报表通常会为许多人所使用。例如,一份详细的全公司范围的销售报表可能由
销售代表、地区销售经理、全国销售经理和首席运营官 (COO) 使用。
Page 60
44 Crystal Reports 用户指南
这些人会对报表的不同方面感兴趣。
• 销售代表会使用报表去评价个人的销售业绩,并与本地区其他代表的业绩相比
较。
• 地区销售经理会使用报表评价地区代表,并将本地区的业绩与其他地区的业绩相
比较。
• 全国销售经理将使用报表去评价地区经理们的业绩,并将整体销售额与当前销售
计划相比较。
• COO 将使用报表从总体上评价营销副总裁和销售部的业绩,并计划生产量和库房
位置等问题。
由于报表的每个用户所关注的内容有所不同,所以对报表进行规划以包含每个用户
所需的信息就非常重要。

5.2.2 确定报表布局

5.2.2.1 报表的标题是什么?
为报表拟订指导性的标题。可能以后会修改它,但至少在创建原型报表时有标题可
用。
5.2.2.2 页眉页脚中需要什么识别信息?
可能希望包含打印日期、制表人信息、一段描述报表目的的文字、数据包含的范围
或其他类似信息。如果打算包含这些信息,将其记下来以便在准备原型中使用。
根据所需的信息种类,信息来源多种多样。
• 制表人信息可能取自所用数据库表的个别数据字段。如果取自数据库表,是什么
表?或是什么组合表?
• 可将一段文字作为文字对象进行创建,并放置在报表的任何位置。
• Crystal Reports 可生成诸如打印日期或页码等信息。

5.2.3 查找数据

5.2.3.1 要在报表中使用什么数据?
是否清楚报表所用数据库的类型?是从数据文件、SQL/ODBC、业务视图还是字典制
作报表?
如果不清楚,则向所在机构的数据库管理员寻求帮助,确定数据库的类型和数据的
位置。有关更多信息,请参阅本联机帮助中的 “访问数据源”。
是否足够熟悉该数据,可找到必要信息?当要查找 “客户联系人”名字时,是否能
从数据库表中找到此字段?
如果不能,则 MIS 专业人员、数据库管理员或合作者将必须帮助您熟悉该数据。
Page 61
第 5 章 报表设计概念 45
5.2.3.2 在报表正文中将出现什么特殊数据?
正文应包括达到该报表目的所需的全部数据。还应包括所确定的不同用户所需的全
部数据。
此步骤需要考虑可用的数据库表。创建报表时,Crystal Reports 允许从不同数据
库中组合数据,所以在工作中有很大的灵活性。
• 典型报表中的很多数据可直接取自数据字段。哪些数据字段将被采用?这些字段
位于什么地方?
• 另外一些数据将根据数据字段计算得出。计算时将用到哪些数据字段?
• 还有另一些数据将用文本对象 (如标题、注释及标签等)直接放入报表。
5.2.3.3 所需的数据是否存在?或是否需要计算?
一些报表信息 (例如销售信息)可以直接从数据字段提取;而其他信息将不得不根
据数据字段值进行计算(例如销售佣金,要根据销售额与配额的关系计算 )。在设计中, 将那些需要计算的数据分开或作出标记是十分有用的。请参阅在第 286 页上的“指定公
式”。
5.2.3.4 何种类型的字段包含数据?
要花时间弄清计算所用的数据字段的数据类型。由于公式函数和运算符使用特殊种
类的数据,所以在开始计算之前认清所用的数据类型很重要。例如,一些函数需要数字 数据,而另一些函数仅处理字符串字段。

5.2.4 操作数据

5.2.4.1 是否需要将数据组织成组?
怎样做?根据客户?根据日期?根据层次?或根据其他的标准? Crystal Reports
为在报表中数据编组提供几个选项。请参阅在第 109 页上的 “将数据分组”。
5.2.4.2 是否需将数据按记录或组值排序?
Crystal Reports 提供两个选择。请参阅在第 107 页上的 “理解排序选项”。
5.2.4.3 是否需要报表只包含特殊的记录和组?
Crystal Reports 提供选择是根据给定数据库的所有记录生成报表,还是根据数据
库的有限记录集生成报表。Crystal Reports 可以根据简单的数据范围或比较关系选择 记录,或创建复杂的公式来确定要包括的记录。花些时间来确定报表需要的记录,并列 出选择这些记录的准则。请参阅在第 97 页上的 “选择记录”。
5.2.4.4 是否需要总结数据?
对于报表中所有列的所有数值,是否需要合计、求平均数、计数或确定最大值或最
小值?
Page 62
46 Crystal Reports 用户指南
Crystal Reports 允许这样做,它也能将总计 (或总计平均数、总计计数等)放到 选定列的底部。请参阅在第 124 页上的 “计算百分比”与在第 121 页上的 “选择最前
或最后 N 个组或百分比”。
5.2.4.5 在报表中何种信息需要标记?
您可能需要对报表上的数据进行标记以引起注意。例如,在库存报表上通常对不流 动的库存项目进行标记,以引起特别注意。您可能需要对所显示的、上月、上季度或其 他特定时间区间没有活动的项目作出标记。要标记信息,请标识该信息和触发标记的条 件。
5.2.4.6 怎样做信息标记?
可能需要用星号或其他符号标记项目,或用字词作为标记。无论哪种情况,都应当 写出标记说明,以方便使用。
Crystal Reports 可以给报表元素加下划线,或改变特殊报表项的字型、字号或颜 色。它可以给项目加边框、画线和方框 (将报表分成节) 、设置标题等等。所有这些格 式设置工具都可用来突出显示报表上的关键数据。请参阅在第 151 页上的 “格式化”。

5.2.5 确定打印区域特性

每个报表区域都有自己的打印特性。由于它们影响到不同的报表对象输出显示的时 间和频率,因此了解这些特性很重要。
5.2.5.1 报表上的区域将按何种顺序打印?
区域按照在 “设计”选项卡上出现的顺序 (从顶到底)打印。如果在区域内有多个 节,则按其出现的顺序打印。例如,如果有三个报表页眉节,在页眉区域内的节开始打 印之前,将首先打印这三个节。
5.2.5.2 报表对象以何种频率打印?
对象输出显示的方式决定了您应如何设计报表。这将有助于确定图表、“交叉表”及 获得明确结果的公式放置的位置。
报表页眉
置于 “页眉”区域中的对象在报表的开始处打印一次。
• 置于该区域中的 “图表”及 “交叉表”包含用于整个报表的数据。
注意:图表和 “交叉表”都可以使用 “组排序”来筛选报表数据;在这种情况下, 图表或 “交叉表”中显示的数据是整个报表数据的子集。
• 置于该区域中的公式在报表的开始处计算一次。
页眉
置于 “页眉”区域中的对象在每页的开始处打印一次。
• “图表”及 “交叉表”不能置于该节中。
• 置于该区域中的公式在每页的开始处计算一次。
Page 63
第 5 章 报表设计概念 47
组页眉
置于 “组页眉”区域中的对象在每个组的开始处打印一次。
• 置于该区域中的 “图表”及 “交叉表”包含仅用于该组的数据。
• 置于该区域中的公式在每个组的开始处计算一次。
细节区域
置于 “细节”区域中的对象在每条记录处打印。
• “图表”及 “交叉表”不能置于该区域中。
• 置于该区域中的公式为每条记录计算一次。
组页脚
置于 “组页脚”区域中的对象在每个组的末尾处打印。
• 置于该区域中的 “图表”及 “交叉表”包含仅用于该组的数据。
• 置于该区域中的公式在每个组的末尾处计算一次。
报表页脚
置于 “报表页脚”区域中的对象在报表末尾处打印一次。
• 置于该区域中的 “图表”及 “交叉表”包含用于整个报表的数据。
注意:图表和 “交叉表”都可以使用 “组排序”来筛选报表数据;在这种情况下, 图表或 “交叉表”中显示的数据是整个报表数据的子集。
• 置于该区域中的公式在报表末尾处计算一次。
页脚
置于 “页脚”区域中的对象在每页的底部打印。
• “图表”及 “交叉表”不能置于该区域中。
• 置于该区域中的公式在每页末尾处计算一次。

5.3 设计纸张原型

不管您对 Crystal Reports 的应用水平如何,纸张原型非常有用。当您第一次使用 这个程序时它特别有价值。掌握这个纸张原型,将会把整个精力放在学习使用这些命令 上,而不是放在试图同时设计与学习上。
设计纸张原型
1 使用与即将完成的报表相同大小的纸张。
2 定位标题和其他描述标题的信息,用方框与线条表示报表元素。
3 定位页脚信息。
4 检查页面布局是否均衡。
5 查看要纳入到报表正文中的信息:
• 统计所用的字段数量,并判断字段之间适当的间距。
• 用矩形在判断的间距之内的字段中标记。
Page 64
48 Crystal Reports 用户指南
• 如果需要,改变间距。
• 确定数据在报表正文中出现的合理顺序。
• 标志字段以表明该顺序。
6 用小方框表示组值和合计。
7 在需要出现标志的列上放置随意的标志。
8 将需要突出显示的元素变暗,以使其区分于原型其余部分。
9 检查完成的产品布局和均衡,并根据需要进行修改。
Page 65

第 6 章 建立报表简介

本章向您介绍在 Crystal Reports 中创建报表所需的基础知识。首先您将了解报表 设计环境,然后学习如何选择数据库表、在报表上放置对象以及如何排序、分组和总计 报表数据。

6.1 报表创建选项

每次创建新报表时,都有三个选项:
• 使用 “报表创建向导”。
• 使用另一个报表作为模型。
• 从头开始创建报表。
您或许将在某些时候用到各个选项。

6.1.1 报表创建向导

“报表创建向导”帮助用户尽可能快地创建报表,很多新用户和开发人员都喜欢使用 它们来创建报表。您所要做的只不过是选择与您的报表类型最相匹配的向导。该向导将 一步一步地引导您完成创建报表的过程。
第 6 章 建立报表简介 49
6.1.2 另一个报表
若要基于某个已经存在的报表生成新报表,可以将另一报表用作模型。通过选择“打 开现有报表”选项来打开要以这种方式使用的报表,并使用 “另存为”(位于 “文件” 菜单上)将其保存为新文件。这种方法对于下面的情况十分有用:
• 创建的新报表与现有报表相比,具有不同的分组或不同的记录选定。
• 使用与目前所用报表相同的结构,以较早时段为基础重建报表。
• 以另一个报表内所链接的一组数据库为基础创建全新的报表。可以创建报表并删
除字段而不打乱基础链接。接着,不用重新链接便可以基于该报表来生成全部新 报表。
Crystal Reports 还使您可以通过应用模板来设置报表的格式。有关更多信息,请 参阅在第 151 页上的 “使用模板”。

6.1.3 新建报表

“作为空白报表”选项用于从头开始创建报表。当需要具有完全的灵活性和控制能 力,想要从头开始创建报表时,或当报表类型与向导中许多可用的报表类型都不同时, 应选择该选项。
Page 66
50 Crystal Reports 用户指南
已为在第 22 页上的 “新用户快速入门”选择了 “作为空白报表”选项,因为从头
开始创建报表的过程最充分地说明了建立报表的基础知识。

6.2 选择数据源和数据库字段

Crystal Reports 通过在 “数据库专家”对话框和 “字段资源管理器”对话框中提 供易于使用的功能,使得选择数据源和数据库字段变得简单。这些对话框中的每一个都 使用用户所熟悉的 Windows 树目录结构,使您可以定位备选项。
注意:Crystal Reports 支持 Unicode,方法是在访问非 Unicode 数据库中的数据时 对数据进行转换 (此数据转换发生在 Crystal Reports 中;数据库中的数据不受影响)。 因为 Crystal Reports 提供 Unicode 支持,所以可以在同一报表中显示不同的语言。

6.2.1 数据库专家

“数据库专家”提供可以用于 Crystal Reports 的所有数据源的集成树形视图。在
“数据库专家”中,可以从以下内容选择报表数据源:
• 当前已连接的数据源。
• 已保存到 Crystal 储备库中的 SQL 命令。
• 已添加到 “收藏夹”文件夹中的数据源。
• 最近访问过的数据源 ( “数据库专家”自动为您维护一个包含这些数据源的列
表)。
• 现有的数据源 (例如,本地驻留的数据文件,或已经建立的 ODBC 数据源)。
在 “数据库专家”中,当已为报表选定多个表时,还可指定这些数据库表之间的链 接。
6.2.1.1 “数据”选项卡
树形视图
“数据库专家”的 “数据”选项卡显示可能的数据源的树形视图,在创建报表时可
以选择这些数据源。树目录 (在 “可用数据源”列表中)由以下文件夹组成:
• 当前连接
• 收藏夹
• 历史记录
• 创建新连接
• 储备库
“创建新连接”文件夹包含针对许多最常见的数据源的子文件夹。其中有:
• Access/Excel (DAO)
• Crystal 查询
• 数据库文件
• 字典 /Infoview
• ODBC (RDO)
Page 67
第 6 章 建立报表简介 51
• OLAP
• OLE DB (ADO)
注意:“创建新连接”文件夹中可用的数据源选项取决于安装过程中选定的数据访问
组件。
有关每一个这些文件夹和子文件夹的简短说明,请参阅在第 60 页上的 “选择数据
源”。
快捷菜单
可以右击 “数据库专家”的 “可用数据源”列表中的任何项,以查看带有以下选项
的快捷菜单:
• “添加到报表”
使用该选项将表或存储过程添加到新报表中。单击“数据库专家”上的 > 箭头也可 应用这个选项。
• “添加到收藏夹”
使用该选项将选定数据源添加到 “收藏夹”文件夹。
• “从报表中删除”
使用该选项从报表中删除表或存储过程。单击“数据库专家”上的 < 箭头也可应用 这个选项。
• “属性”
使用此选项获取有关选定项目的详细信息。
• “重命名收藏夹”
使用该选项重命名 “收藏夹”文件夹中的数据源。
• “删除收藏夹”
使用该选项将数据源从 “收藏夹”文件夹中删除。
• “从储备库中删除”
使用该选项从 Crystal 储备库中删除现有的 SQL 命令。
• “重命名储备库对象”
使用该选项重命名 Crystal 储备库中现有的 SQL 命令。
• 选项
使用该选项设置 “选项”对话框的 “数据库”选项卡上出现的全局选项。
• “刷新”
使用该选项刷新 “数据库专家”中可用数据源的列表。
6.2.1.2 “链接”选项卡
将数据库表链接以使来自一个数据库的记录与来自另一个数据库的记录相匹配。例
如,如果激活 “供应商”表和 “产品”表,则将数据库链接起来以使每个产品 (来自
“产品”表)可以与生产该产品的供应商 (来自 “供应商”表)相匹配。
多数报表可能需要来自两个或多个表的数据,因此链接将十分必要。使用 “数据库
专家”的 “链接”选项卡可以简化链接过程。请参阅在第 327 页上的 “链接表”。
Page 68
52 Crystal Reports 用户指南

6.2.2 字段资源管理器

使用 “字段资源管理器”对话框来插入、修改或删除 Crystal Reports 的“设计” 和 “预览”选项卡上的字段。若要查看 “字段资源管理器”,请从 “视图”菜单上选择
“字段资源管理器”命令。
6.2.2.1 树形视图
“字段资源管理器”显示添加到报表的数据库字段和特殊字段的树形视图。它也显示
已经定义用于报表的公式字段、SQL 表达式字段、参数字段、运行总计字段及组名字段。
已经添加到报表的字段或已经由其它字段使用的字段 (如公式字段、组、运行总计 字段、汇总等等)旁边有一个绿色的选中标志。
6.2.2.2 工具栏和快捷菜单
“字段资源管理器”的工具栏为按钮提供工具提示及热键组合。可以右击树形视图中
的任何项目以调出快捷菜单。
工具栏提供以下功能:
• “插入到报表”
使用该选项将字段添加到报表。可以选定多个字段,右击并选择 “插入到报表”一
次插入多个字段。
另外,若要插入一个字段,可以在 “设计”或 “预览”选项卡中拖放它。
• 浏览
使用该选项浏览数据库字段、公式字段或 SQL 表达式字段的数据。
注意:在快捷菜单上,该选项叫做 “浏览数据”。
• 新建
使用该选项创建公式字段、SQL 表达式字段、参数字段或运行总计字段。
• 编辑
使用该选项修改现有公式字段、SQL 表达式字段、参数字段或运行总计字段。
• “重命名”
使用该选项修改现有公式字段、SQL 表达式字段、参数字段或运行总计字段的名称。
• 删除
使用该选项删除公式字段、SQL 表达式字段、参数字段或运行总计字段。也可以选
定多个字段,右击并选择 “删除”立即将它们全部删除。
除了工具栏上可用的功能外,快捷菜单还提供这些功能:
• “上移参数”(或 “下移参数”)
使用这些选项更改参数字段的顺序。
• “显示字段类型”
当您查看数据库字段列表时,可使用该选项查看字段类型(字符串、数字等等)。字
符串字段的长度在它们名称末尾的括号中列出。
• “刷新”
使用该选项刷新 “字段资源管理器”中的可用字段列表。
Page 69
6.2.2.3 “组名字段”
可以通过右击显示在 “字段资源管理器”中的现有 “组名”字段并选择 “插入到报 表”来插入该字段。但是,与公式字段不同,参数字段或运行总计字段不能通过 “字段 资源管理器”创建 “组名”字段。(插入组时,“组名”字段便被创建)

6.2.3 报表资源管理器

“报表资源管理器”的内容以树形视图表示报表的内容。根节点为报表本身,第一级 节点表示报表的节。在每一节中,列出报表的字段和对象。在树形视图中选定的任何项 目在报表 (在 “设计”模式或 “预览”模式下)中都将处于选定状态。
可以通过在“报表资源管理器”中选择报表字段和对象来修改它们。右击选定的项, 可以看到一个菜单,它包含可以对该项执行的操作。例如,如果右击一个文本对象,则 菜单将包含关于编辑文本、格式化其字体或颜色等等的选项。同样地,如果右击一个节 节点,则菜单将包含关于隐藏、抑制显示、格式等等的选项。
注意:使用“报表资源管理器”时,不能添加其他字段或报表对象,但可以删除它们。
通过使用 Shift- 单击或 Ctrl- 单击可以选择多个字段来进行格式化。
6.2.3.1 工具栏
“报表资源管理器”的工具栏提供带有工具提示的按钮。通过这些按钮,可以展开或
折叠报表的树视图,并选择将按类型显示的报表项目:
• 展开
使用此选项可以展开树视图中选定节点下的所有子节点。如果您在根节点突出显示
时选择此选项,则将展开剩余的所有节点。如果您在子节点突出显示时选择此选项,
则将只展开属于该子节点的节点。
注意:如果在报表对象突出显示时选择此选项,或者选定节点没有子节点,则此选 项将不具有任何影响。
• 显示 / 隐藏数据字段
使用此选项可以显示或隐藏报表中的数据字段。数据字段包括公式字段、汇总字段
和文本对象。
• 显示 / 隐藏图形对象
使用此选项可以显示或隐藏报表中的图形对象。图形对象包括图表、地图、框、线
条、BLOB 字段和 OLE 对象。
• 显示 / 隐藏网格和子报表
使用此选项可以显示或隐藏报表中的交叉表、OLAP 网格和子报表。
注意:
• 连接到 Crystal 储备库 的项目旁显示有储备库图标。
• 具有超级链接的项目显示为带实下划线的蓝色文本。具有 “报表部件”超级链接
的项目显示为带虚下划线的绿色文本。
第 6 章 建立报表简介 53
Page 70
54 Crystal Reports 用户指南

6.2.4 打开和停靠资源管理器

Crystal Reports 包含三种可用于查看不同报表对象的资源管理器:
• 字段资源管理器
• 报表资源管理器
• 储备库资源管理器
通过使用 “视图”菜单上的命令或 “标准”工具栏上的按钮打开以上任何一个资源 管理器。如果资源管理器处于关闭状态,则其命令或按钮可以打开它;如果资源管理器 已打开,则其命令或按钮可以将焦点置于其上。
安装之后,每个资源管理器将在 Report Designer 右侧的停靠位置打开。通过将资 源管理器拖动到新的位置,您可以将它们停靠在设计器的左侧或底部。
双击资源管理器的标题栏可在停靠和自由浮动模式之间切换。在自由浮动模式下, 可以将资源管理器拖动到任何位置。当您拖动资源管理器时,位置框架会显示将会把资 源管理器放在何处。也可以调整资源管理器大小,方法是用调整大小光标拖动资源管理 器的任何一边。
注意:双击自由浮动资源管理器的标题栏时,程序会将资源管理器停靠在最后一次 使用 Crystal Reports 时它所在的位置。
可以依据 “字段资源管理器” 、“报表资源管理器”和 “储备库资源管理器”创建 一个多选项卡的资源管理器,方法是将这些资源管理器拖动到彼此的上面。这个多选项 卡的资源管理器可在停靠或自由浮动模式下使用。
单击合并的资源管理器中的选项卡可将焦点从一种资源管理器类型切换到另一种类 型;标题栏中的名称将相应发生变化,以显示当前正在使用哪个资源管理器。
Page 71
第 6 章 建立报表简介 55

6.3 关于报表设计环境

6.3.1 “设计”选项卡

使用 Crystal Reports 时,使用“设计”选项卡的次数可能多于本程序的其它任何
部分。
“设计”选项卡是创建报表时进行大多数初始工作的地方。它指定并标记报表的各种
节。可以进行初始格式化、将对象放在所需的节内、指定排序、分组和总计需要,等等。
“设计”选项卡提供非常有效的设计报表的环境,因为在该选项卡中使用的是数据代 表,而不是数据本身。当字段放在报表上时,本程序使用一个框架来标识选项卡上的字 段;它并不检索数据。因此,可以添加和删除字段及其它对象、四处移动它们、建立复 杂公式等等,而不必和收集数据所需的计算机或网络资源联系在一起。
创建于 “设计”选项卡中的报表是一种虚拟报表;它具有创建最终的报表所需的结 构和说明,但它不是此报表本身。若要将 “设计”选项卡报表变成最终报表或变成可以 精细调整的报表,仅仅添加数据即可。可以在预览报表、打印报表或以任何其他方式输 出报表时进行此操作。实际数据现在将出现在报表中。
6.3.1.1 “设计”选项卡区域
当第一次开始创建报表时,Crystal Reports 在 “设计”选项卡中自动创建五个区 域。
• 报表页眉
这一节通常用于显示报表标题和其他希望在报表开头出现的信息。它还可以用于图
表和交叉表,它们包含整个报表的数据。
• 页眉
这一节通常用于显示希望出现在每页顶部的信息。这可以包括章名、文档名称和其
它类似信息。该节还可以用于显示报表上字段上方的字段标题。
• 详细资料
这一节用于报表的正文,并且每个记录输出一次。大量报表数据通常出现在该节中。
• 报表页脚
这一节用于显示希望在报表末尾只出现一次的信息 (例如总计) ,以及显示包含针
对整个报表的数据的图表和交叉表。
Page 72
56 Crystal Reports 用户指南
• 页脚
这一节通常包含页码和任何其他希望出现在每页底部的信息。
如果将组、摘要或小计添加到报表,则本程序创建另外两个节:
• 组页眉
这一节通常保存组名字段,也可以用于显示包含组特定数据的图表或交叉表。它在 组的开始打印一次。
• 组页脚
该节通常保存汇总数据 (如果有) ,也可以用来显示图表或交叉表。它在组的末尾 打印一次。
当添加了组、汇总或小计时,“组页眉”区域正好出现在“详细资料”区域上方,而
“组页脚”区域正好出现在 “详细资料”区域下方。
如果建立其它组,则本程序在 “详细资料”区域和现有 “组页眉”及 “组页脚”区
域之间创建新的组区域。
与原有的区域类似,每个新添加的区域可以包含一个或多个节。默认情况下,它们
都只包含一个节。
6.3.1.2 标识和使用区域和节
根据默认,每个区域只包含单个节。该节的名称正好出现在该节的左边。如果一个
区域中有多个节,则各个节指定为 a、b、c 等等。
注意:
• 如果在 “选项”对话框的 “设计视图”区域中选择了 “短节名”复选框,则使用
首字母缩写 (如 RH、PH、D、PF、RF 等等)来标识每个节。
Page 73
第 6 章 建立报表简介 57
• 如果右击包含节名名称的阴影区域,则出现带有节特定的选项的快捷菜单。
如果已经在 “选项”对话框的 “布局”选项卡中选择了 “显示标尺”选项,则程序 会在紧靠每节左侧的位置显示一个节标尺。节标尺用于添加、删除和移动准线,以及在 放置对象时提供视觉参考。请参阅在第 162 页上的 “使用准线设计”。
节标尺。
每当添加一个新节时,本程序都将为该节创建一个标尺。请参阅在第 141 页上的
“在报表中使用多个节”。
6.3.1.3 其他 “设计”选项卡功能
还有其它几个内置于 “设计”选项卡中的功能。使用 “设计”选项卡,您可以:
• 通过拖动节的边界来调整节的大小。请参阅在第 140 页上的 “调整节大小”。
• 通过单击节的左边界来拆分节 (从一个节创建两个节)。请参阅在第 139 页上的
“拆分节”。
• 通过单击标尺来添加水平准线和垂直准线。请参阅在第 162 页上的“使用准线设
计”。
• 以原大小的 25% 到 400% 之间的任意缩放倍数放大和缩小报表。请参阅在第 69
页上的 “使用缩放功能”。

6.3.2 “预览”选项卡

若要在打印前预览报表,请单击 “标准”工具栏上的 “打印预览”。
程序收集数据、进行必要的计算,并在 “预览”选项卡中显示报表。使数据放在适 当的位置上,您便可以检查报表的间距和格式,并查看汇总、公式计算以及记录和组选 定的实际结果。
在真正的 WYSIWYG (所见即所得)方式下,可以直接对此实际数据进行操作,对数 据进行精细调整,直到得到所希望的报表外观。
本程序按以下方式操作数据:
• 第一次使用 “预览”选项卡时,它从基础数据源检索数据并将其同报表一起保存
(除非已设置程序不保存数据)。
• 从此时开始,程序在每次预览报表时都使用保存的数据,除非您特地刷新了数据
或添加了需要程序检索新数据的字段。
Crystal Reports 提供两个视图来预览报表:
• “标准”视图
• “组树”视图
Page 74
58 Crystal Reports 用户指南
6.3.2.1 “标准”视图
在标准视图中,一次显示报表的一页。使用 “预览”选项卡中的浏览按钮,可以移 动到报表的开始或末尾,或可以在报表中一次向后和向前移动一页。当报表较短或者您 主要关注报表中的 “底线”总计时,标准视图可以提供您所需的所有功能。
“数据年龄”指示器
“数据年龄”指示器指出上一次刷新数据或初始检索数据的日期,取二者中最新者。
如果今天进行了数据的初始检索或刷新,则它指出操作发生的时间。
6.3.2.2 “组树”视图
可以使用 “标准”工具栏上的 “切换组树”来显示或隐藏 “组树”视图。
“组树”视图提供一个拆分的屏幕:
• 右窗格显示报表。
• 左窗格显示报表的高级概览,以熟悉的树形结构显示各个组和子组的层次结构。
“组树”通常显示创建于报表中的组和子组的名称。然而,可以使用 “插入组”或
“更改组选项”对话框的 “选项”选项卡自定义这些名称。有关在 “组树”视图中自定
义 “组名”的更多信息,请参阅在第 109 页上的 “将数据分组”。
Page 75
第 6 章 建立报表简介 59
当单击感兴趣的组的树节点时,本程序将立即跳转到包含该组信息的报表部分。对 于较长的报表或希望在其中的不同组之间向前或向后跳转的报表,“组树”视图的 “智 能浏览”功能将能极大地提高您的工作效率。
6.3.2.3 与 “设计”选项卡进行比较
“预览”选项卡中具有与 “设计”选项卡相同的格式设置功能。菜单 (菜单栏和快 捷菜单)和工具栏保持活动状态,提供与在 “设计”选项卡中处理报表时基本相同的功 能。但是,当正在进行许多更改时,在 “设计”选项卡中进行更改要更快些。一些需要 考虑的额外内容为:
• “设计”选项卡和 “预览”选项卡是在内部联系在一起的。在一个选项卡中进行
的任何更改将反映于另一个选项卡中。
• “预览”选项卡的左边具有一个垂直标尺,而没有 “设计”选项卡中所见到的单
个节标尺。标尺的功能是相同的。
• “预览”选项卡在数据左边的阴影区域中标识报表节。扫一眼就可以知道数据打印
自哪个报表节。虽然节名称在 “设计”选项卡中只出现一次,但每次在 “预览” 选项卡中打印一个节时,它们都将打印。
• “记录”计数器、“数据年龄”指示器(参见在第 58 页上的 ““数据年龄”指示
器”)和“前一页”/“后一页”控制(参见在第 57 页上的““预览”选项卡”)
在 “预览”选项卡中都是活动的。
• 当选择某个字段时,“预览”选项卡将突出显示每个值;然而,在 “设计”选项
卡中只突出显示字段框架。
工作于 “预览”选项卡与工作于 “设计”选项卡中有不同的感受。
数据库中的每个字段都包含成十、成百甚至上千个值,这视数据库中记录的个数而 定。当在 “设计”选项卡中放置字段时,单个字段框架代表所有这些值。当突出显示该 字段时,尺寸调整手柄出现在框架上,并且框架改变颜色。
但是,在 “预览”选项卡中,您却对实际数据进行操作。出现在选项卡中的将是这 些值本身,而不是代表许多字段值的字段框。一些需要考虑的额外内容为:
• 当突出显示某个字段或公式字段值时,实际上选择的是该字段中的所有值:
• 程序会用一个尺寸调整框将所选的特定值框起来。
• 字段中的所有其他值也将突出显示。
• 同样地,当选定一个汇总值时,实际上所选择的是所有相关的汇总值:
• 程序会用一个尺寸调整框将所选的特定值框起来。
• 所有相关的汇总值也将突出显示。
除外观上的不同以外,生成和修改报表的过程在 “设计”选项卡和 “预览”选项卡 中是相同的。您应当发现在两个地方操作报表都很容易。
Page 76
60 Crystal Reports 用户指南

6.4 创建新报表

6.4.1 选择数据源

在决定了创建报表要使用的选项之后(请参阅在第 49 页上的 “报表创建选项”),
下一步是选择要使用的数据源。
大多数数据源可以通过 “数据库专家”对话框来选择。当使用 “作为空白报表”从
头创建报表时,或当从“数据库”菜单中选择“数据库专家”时,显示“数据库专家”。
注意:还可以在报表创建向导中选择数据源。除了“OLAP 报表创建向导”之外,所
有报表创建向导中的 “数据”屏幕都和 “数据库专家”对话框非常类似。
选择数据源
1 从 “数据库”菜单中选择 “数据库专家”。
出现 “数据库专家”对话框。
2 使用 “数据”屏幕的 “可用数据源”列表中的树形视图来选择数据源:
• 当前连接
此文件夹显示当前连接的数据源的列表。
• 收藏夹
此文件夹显示在 “收藏夹”列表中维护的常用数据源的列表。
• 历史记录
此文件夹显示近期使用过的数据源的列表。显示了最近使用过的五个数据源。
• 创建新连接
此文件夹显示可连接到的各种数据源的子文件夹。
• 储备库
此文件夹通过 “Crystal Enterprise 资源管理器”显示储备库的内容。单击
“建立新连接”打开 “Crystal Enterprise 资源管理器”;可以从此对话框
中选择现有的 SQL 命令或业务视图。有关更多信息,请在 Crystal Reports 联机帮助中搜索 “SQL 命令”或 “业务视图”。
“创建新连接”文件夹中常见的一些选择如下所示:
• Access/Excel (DAO)
此选项用于连接到所支持的数据库类型 (Access、dBASE、Excel、Lotus 等)。可以使用 “建立新连接”选项创建新的连接。
• Crystal 查询
此选项用于浏览查询文件 (.qry)。
• 数据库文件
此选项显示一组位于本地的标准 PC 数据库。可以使用 “查找数据库文件”用
“打开”对话框浏览 PC 数据库。
• 字典 /Infoview
此选项用于查找字典 (.dct 或 .dc5)或 infoview (.civ) 文件。
Page 77
注意: “创建新连接”文件夹中可用的数据源选项取决于安装过程中选定的数据访 问组件。

6.4.2 添加表

在选择数据源之后,可以添加一个或更多个表,您的报表可以基于这些表。
添加表
1 从 “数据库”菜单中选择 “数据库专家”。
出现 “数据库专家”对话框。
2 在 “数据”选项卡中,搜索要在报表中使用的数据库。请参阅在第 60 页上的 “选
择数据源”。
3 在 “可用数据源”列表中,选择要添加到报表中的表,并单击 > 箭头将它添加到
“选定的表”列表中。
可以选定多个字段,右击并选择 “插入到报表”一次插入多个字段。还可以将字段
拖放到 “选定的表”列表中。
第 6 章 建立报表简介 61
• ODBC (RDO)
此选项显示经过配置可供使用的 ODBC 数据源列表。
• OLAP
此选项用于打开 “Crystal OLAP 连接浏览器”,便于您将 OLAP 多维数据集 选作数据源。
• OLE DB (ADO)
此选项显示经过配置可供使用的 OLE DB 提供程序列表。也可以指定要使用的 Microsoft 数据链接文件。

6.4.3 链接多个表

如果报表包含来自两个或多个数据库表的数据,则创建报表时需要将它们在该点链 接起来。
注意:没有必要在由查询或命令创建的报表中链接表,因为数据所需的任何链接已 经处理过了。
添加和链接多个表
1 从 “数据库”菜单中选择 “数据库专家”。
出现 “数据库专家”对话框。
2 在“数据”选项卡中,选择要添加到报表中的表。请参阅在第 61 页上的“添加表”。
“链接”选项卡出现在 “数据库专家”中。
3 单击 “链接”选项卡显示当前可用于进行链接的数据库。
Page 78
62 Crystal Reports 用户指南
在可能时,Crystal Reports 自动按名称或关键字链接表。
4 若要手动创建链接,请将某个字段从一个表拖动到另一个表的字段中。如果成功的
话,将创建一个链接行。如果不成功,则发出一条消息。 注意:可以按表名或外键信息来链接表。
5 如果已经删除了链接,而且想自动重新创建它们,请单击 “自动链接”。
6 完成时,单击 “确定”。
注意:当手动创建链接时,链接 “到”的字段必须和链接自的字段属于相同的数据 类型。当使用本地连接时,链接 “到”的字段不必具有索引。有关更多信息,请参 阅在第 326 页上的 “索引表”。
“数据库专家”关闭,并且返回到报表。所链接的数据库现在便可以在报表中使用
了。如果对链接不满意,可以使用 “数据库专家”的 “链接”选项卡修改它。
相关主题
• 在第 323 页上的 “了解数据库”
• 在第 335 页上的 “链接选项”

6.4.4 将数据放在报表上

将数据放在报表上是一项十分重要的任务。您需要知道什么类型的数据应当放在报
表上以及应当将它放在报表上的什么位置。
Page 79
第 6 章 建立报表简介 63
6.4.4.1 数据库字段
很多放在报表上的数据都为数据库字段,以存储于数据库中的样子显示数据。例如, 在在第 22 页上的 “新用户快速入门”中,将 “客户名”、“城市”和 “国家”字段放 在报表上。通常,数据库字段将放在 “详细资料”节中,但在某些情况下,它们将放在 报表的其它节中。
插入数据库字段
1 在 “标准”工具栏上,单击 “字段资源管理器”。
出现 “字段资源管理器”对话框。为加快报表生成过程,该对话框保留在屏幕上,
直到关闭它为止。可以将该对话框移动到您所希望的地方。
2 展开 “数据库字段”文件夹,以查看从数据库中选择的所有表。
3 展开各个表,以查看它们包含的所有字段。
4 选择想要出现在报表中的字段。
5 单击 “浏览”来检查选定字段中的值。
6 单击 “插入到报表”来将它放在报表中。
6.4.4.2 公式字段
若要显示为计算所得到的值的数据,需要创建公式字段并将该公式字段放在报表 上。例如,如果数据库只存储定单的订购日期和送货日期,但需要显示运送定货所需的 天数的话,则必须创建一个公式字段,来计算订购和送货之间的天数。这不过是使用公 式字段的一个例子。有关公式的简介,请参阅在第 281 页上的 “使用公式”
。
6.4.4.3 SQL 表达式字段
SQL 表达式与公式相似,但它们以结构化查询语言 (SQL) 编写,而不是以 Crystal Reports 公式语言编写。SQL 表达式可以用于向数据库查询特定数据集合。可以基于 SQL 表达式字段进行排序、分组和选择。
创建 SQL 表达式字段
1 在 “标准”工具栏上,单击 “字段资源管理器”。
出现 “字段资源管理器”对话框。
2 向下滚动到 “SQL 表达式字段”并将其突出显示。单击 “新建”。
出现 “SQL 表达式名称”对话框。
3 在 “名称”框中输入名称,然后单击 “确定”。
Page 80
64 Crystal Reports 用户指南
出现带有活动 “SQL 表达式编辑器”的公式工作室。
4 在 “SQL 表达式编辑器”中键入表达式。
注意:有关公式语言的概述,请参阅在第 284 页上的 “公式组件和语法”。
5 单击 “保存”按钮。
6.4.4.4 参数字段
若要提示报表用户输入信息,可创建参数字段。将参数看作是在报表生成之前用户 需要回答的问题。用户输入的信息或用户响应的方式决定报表的内容。例如,在销售人 员使用的报表中,或许有要求用户选择地区的参数。该报表将返回特定地区的结果,而 不是返回所有地区的结果。有关参数字段的简介,请参阅在第 299 页上的“参数字段”。
6.4.4.5 运行总计字段
若要显示一个对每个记录都进行计算的总计,并提供字段中所有值 (或某组值中的 所有值)的运行总和,需要创建一个运行总计字段并将其放在报表中。如果某个字段中 的前三个值为 2、4 和 6,则运行总计将打印 2,然后打印 6 (2 + 4 的和),接着打 印 12(2 + 4 + 6 的和)。有关运行总计的简介,请参阅在第 129 页上的“运行总计”。
6.4.4.6 特殊字段
若要显示 “页码”、“打印日期”和 “报表备注”之类的信息,请使用 “字段资源 管理器”对话框的 “特殊字段”树形视图中的命令。
Page 81
第 6 章 建立报表简介 65
插入特殊字段
Crystal Reports 使您可以方便地将 “页码”、“记录号”、“组号”、“打印日期”
和 “总页数”字段插入到报表的其它字段中间。
1 在 “标准”工具栏上,单击 “字段资源管理器”。
出现 “字段资源管理器”对话框。
2 向下滚动到 “特殊字段”并单击以展开它。
3 从 “特殊字段”列表中选择要插入到报表中的命令。
每个特殊字段都作为一个对象插入到报表中。出现一个对象框架。现在可以将它放 在报表上了。
注意:若要更改插入的对象的格式设置,请单击该对象将其选定,并单击 “专家工 具”工具栏上的“格式”。“格式化编辑器”出现,可以在其内进行所需的更改。请参阅 在第 151 页上的 “格式化”。
6.4.4.7 文本对象
文本对象在报表中的用途有很多。文本对象是一种功能强大的方法,可用来插入标 题、标记汇总及报表上其它数据,并且能方便地组合数据库字段。例如,在在第 22 页 上的 “新用户快速入门”中,文本对象可以方便地将两个联系人姓名数据库字段显示为 一个对象,为所连接的联系人姓名插入列标题以及在报表中插入标题。
插入文本对象
1 在 “插入工具”工具栏上,单击 “插入文本对象”。出现一个空的对象框架。
2 将文本对象放在报表中希望其出现的位置上。
单击文本对象的边框将其选中,以调整大小和进行移动。
Page 82
66 Crystal Reports 用户指南
双击文本对象内部以选择它来进行编辑。“设计”选项卡标尺更改为文本对象标尺, 其大小为选定对象的长度。左边出现一个选项卡指示器。通过单击选项卡指示器,可 以循环地选中四个可用的选项卡选项。
左对齐的选项卡。
右对齐的选项卡。
居中对齐的选项卡。
小数点对齐的选项
拖动以设置左边距。
一旦选择了所需的选项卡,单击标尺上 要插入选项卡的位置。
拖动以设置右边距。
标尺使您可以在文本对象内添加缩进和对齐文本。
注意:当首次将文本对象插入到报表中时,该对象自动选定以供编辑。
6.4.4.8 图片字段
当设计报表时,经常会需要加入一幅图片。例如,您可能希望将一个公司徽标放在
报表页眉中。
插入图片
1 在 “插入工具”工具栏上,单击 “插入图片”。
出现 “打开”对话框。
2 从文件列表选择所需的图片文件,并单击 “打开”以返回到报表。
出现一个对象框架,其内为该图片,准备进行定位。
3 将图片对象放在报表中希望它出现的位置,并左击一次。
6.4.4.9 BLOB (二进制大对象)字段
BLOB 字段是数据库字段,它的数据由二进制大对象组成,如位图图形、图像、OLE 对象、图元文件等等。将 BLOB 字段插入到报表中将允许您像访问其他数据类型一样访 问这些二进制对象。
总之,Crystal Reports 允许访问包含如下内容的 BLOB 字段:
• 独立于设备的位图 (DIB)。
• JPEG、TIFF 或 PNG 图像。
此外,如果数据驻留在 Microsoft Access 数据库中,则 Crystal Reports 允许在 报表中使用包含 OLE 1 和 2 对象以及图元文件的 BLOB 字段。
Page 83
第 6 章 建立报表简介 67
像插入任何其他数据库字段那样插入 BLOB 字段。有关详细信息,请参阅在第 63 页
上的 “插入数据库字段”。
BLOB 字段对象和其他数据库字段对象的不同之处在于:它提供控制剪切、缩放和调 整大小的选项,就像插入的图片或 OLE 对象一样。若要访问这些选项,请右击 BLOB 字 段对象,从快捷菜单中选择 “格式化图形”,并单击 “图片”选项卡。
注意:若要保留使用其服务器应用程序激活和编辑 OLE 对象的功能,应该单独地将 该对象插入到报表中 (通过链接或者通过嵌入),而不是将其插入到 BLOB 字段中。有 关插入链接和嵌入的 OLE 对象的更多信息,请参阅在第 218 页上的 “将 OLE 对象插
入报表”。
6.4.4.10 超级链接字段
可以在“设计”或“预览”选项卡中选择报表对象,并创建到其他位置的超级链接。
超级链接与报表一同保存,并且其他用户也可以使用它作为查看附加信息的方法。
注意:Crystal Reports 还使您可以使用“相对 URL”创建超级链接,这样您的 Web 报表就不受其在任何特定服务器上的位置的制约。
创建超级链接字段
1 在 “设计”或 “预览”选项卡上选择一个报表对象。
2 在 “格式”菜单上,单击 “超级链接”。
“格式化编辑器”对话框出现,其中的 “超级链接”选项卡是活动的。
3 单击希望创建的超级链接类型。
上面区域中的可用类型为:
• “无超级链接”
这是默认选项。没有和选定的报表对象相关联的超级链接。
• “Internet 上的网站”
如果希望报表对象链接到静态 Web 地址,请选择这个选项。使用公式按钮创 建基于字段值的 URL。例如,如果客户姓名字段包含将创建一系列有意义的 URL 的信息,可以输入下面的公式:
"http://www."+ {Customer.Customer Name} + ".com"
• “当前网站字段值”
如果希望程序从所选字段创建出一个超级链接,请选择这个选项。该字段在数 据源中必须存储为正确的超级链接。
• “电子邮件地址”
如果希望从选定的字段中创建一个 “mailto”地址,请选择这个选项。使用 公式按钮创建基于字段值的地址。
• “文件”
选择这个选项创建到特定计算机或网络计算机上文件的超级链接。使用公式按 钮创建基于字段值的文件路径。
也可以使用此类型的超级链接来运行带命令行参数的 EXE 文件。输入路径和 应用程序名称,后跟命令的参数。
Page 84
68 Crystal Reports 用户指南
• “当前电子邮件字段值”
如果希望程序从所选定字段创建出一个电子邮件超级链接,请选择这个选项。 该字段在数据源中必须存储为正确的电子邮件地址。
“仅用于 DHTML 查看器”区域的可用类型为:
• “报表部件深化”
有关如何使用这个选项的信息,请参阅在第 263 页上的 ““报表部件深化”
选项”。
• “其他报表对象”
有关如何使用这个选项的信息,请参阅在第 265 页上的 ““其他报表对象”
选项”。
注意:并不是所有的超级链接类型都始终可用。选择的对象及它在报表上的位置决 定了可用的类型。
4 选择了超级链接类型之后,输入适当的超级链接信息 (例如 Web 站点的 URL)。
5 完成后单击 “确定”。
按照需要插入了超级链接。在报表上单击它以转到 Web 站点、发送电子邮件等等。 有关如何使用 “仅用于 DHTML 查看器”区域的超级链接类型的信息,请参阅在第 261 页上的 “设置导航”。

6.4.5 格式化数据

在创建报表过程中的这一阶段,您可能需要进行一些基本的格式化。您可能想要更 改用作标题的文本对象的字体大小和样式。或者,如果有一个销售额数字之类的数字字 段,则可能想要在数字前放置一个美元符号,或更改所显示的小数位数。
例如,在在第 22 页上的 “新用户快速入门”中,将格式化标题,添加一个文本对 象来标识 “联系人姓名”信息,并插入公司徽标。请参阅在第 151 页上的 “格式化”。

6.4.6 记录选定

记录选定,即削减数据以只包括报表所需数据的任务,是报表创建中至关重要的步 骤。很少会需要数据库中所有信息的清单。大多数情况下,您所关注的只是特定时间段 内的销售额或特定产品的销售额等事项。例如,可能需要销售报表仅包含上一历月中某 个产品系列的销售额。
在第 22 页上的 “新用户快速入门”所使用的示例数据既有来自美国客户的又有来 自国际客户的信息。记录选定用于创建只列出美国客户的报表。请参阅在第 97 页上的
“记录选定”与在第 109 页上的 “将数据分组”。

6.4.7 分组、排序和汇总数据

一旦创建了基本报表,您会希望通过将相关信息分组、对单个记录排序、汇总、小 计和总计来组织数据。
Page 85
第 6 章 建立报表简介 69
6.4.7.1 将记录分组
为组织数据,您可能想要将相关数据分组。例如,在
入门”
中,
将 “客户列表”按照地区分组之后,将把该列表划分为区域组。这样,加利 福尼亚地区的销售经理可以快速找到 “加利福尼亚”组,并专门集中注意该地区内的客 户。请参阅在第 109 页上的 “将数据分组”。
在第 22 页上的
“新用户快速
6.4.7.2 对记录排序
Crystal Reports 使您可以指定希望记录以怎样的顺序在报表上显示。例如,在在 第 22 页上的 “新用户快速入门”中分组之后,将每个地区内的记录根据 “客户名称” 按字母顺序排序。许多报表都将使用某种排序。根据报表的情况,将对列表中的记录排 序,或连同分组一起进行排序。请参阅在第 108 页上的 “单一或多个字段排序”和在 第 112 页上的 “将组内记录排序”。
6.4.7.3 汇总、小计和总计
许多报表都使用某种总计。例如,在按州分组的北美销售报表中,您可能想要计算 每个州销售的总美元金额。通过创建销售字段上的小计可完成此任务。汇总还在组级别 使用,使您可以计算平均值、计数和其它组 (合计)值。例如,在销售报表中,您可能 想要计算每个省的销售额的平均值 (对销售字段上的汇总进行平均) ,并计算在该省销 售产品的数目 (产品名称字段的非重复计数)。

6.4.8 对汇总数据使用深化选项

可以使用“深化”光标来深化数据,以显示单个组后的数据。请参阅在第 107 页上 的 “排序、分组及总计”。
6.4.8.1 深化光标
Crystal Reports 使您可以深化 “标准”和 “组树”视图中 “预览”选项卡中的组 或汇总信息 (请参阅在第 58 页上的 ““标准”视图”和在第 58 页上的 ““组树”视
图”)。当将光标放在任何可以深化的汇总值上方时,本程序都将显示 “深化”光标。
提示:组页眉出现在 “深化”选项卡上,正如其在主报表本身中的显示一样。
如果接着双击,则本程序显示该特定汇总值后的详细资料。例如,如果 “深化”光 标在城市汇总上方成为活动的,则可以双击来查看该汇总后的详细资料。
• 如果您只有单个汇总,则可以查看汇总或查看来自所汇总的单个记录的数据。
• 如果您有多个汇总,则可以查看汇总后的汇总(例如组成地区汇总的城市汇总),
或查看来自所汇总的单个记录的数据。

6.4.9 使用缩放功能

可以方便地放大报表。可以选择 25% 到 400% 之间的任意缩放倍数。该功能在“设 计”选项卡和 “预览”选项卡中都是活动的。
Page 86
70 Crystal Reports 用户指南
若要放大或缩小报表,请在位于 “标准”工具栏上的 “缩放控制”框中设置缩放级
别。
25%
50%
100%
用低缩放倍数查看报表可帮助得到报表布局的总体图片。较高缩放倍数下的视图则
注重报表的细节。

6.4.10 插入页眉和页脚

通过在 “设计”选项卡的 “页眉”或 “页脚”节中放入信息可使用页眉和页脚。
• 只出现在报表第一页上的信息放进 “报表页眉”(RH)。
• 只出现在报表最后一页上的信息放进 “报表页脚”(RF)。
• 出现在每一页顶部的信息放进 “页眉”(PH)。
• 出现在每一页底部的信息放进 “页脚”(PF)。
文本、字段或公式可以用于这些节中,正象用于 “详细资料”节中一样。
Page 87
第 6 章 建立报表简介 71
相关主题
• 在第 184 页上的 “在第一页之后创建页脚”

6.4.11 将标题页添加到报表中

Crystal Reports 提供了一种快速、简便的途径,将标题页添加到报表中,这通过 从 “字段资源管理器”中的 “特殊字段”选择 “报表标题”来完成。为使用该字段,必 须将标题输入到 “文档属性”对话框的 “摘要”选项卡中。请参阅在第 71 页上的 “将
汇总信息添加到报表中”。
添加报表标题
1 在 “标准”工具栏上,单击 “字段资源管理器”。
出现 “字段资源管理器”对话框。
2 向下滚动到 “特殊字段”并单击以展开它。
3 选择 “报表标题”,并单击 “插入到报表”。当光标移动到报表上方时,将出现一
个对象框架。
4 将对象框架移动到 “报表页眉”节中,并单击一次以放置该框架。
5 选定报表标题后,单击 “专家工具”工具栏上的 “节专家”。
出现 “节专家”。
6 “报表页眉”节突出显示时,选择 “在后面新建页”复选框。
现在标题将出现在第一页上,并且报表将在第二页上开始。

6.4.12 将汇总信息添加到报表中

有时您可能希望在报表中包括无需打印的注释 (如:致报表收件人的私人便笺、用 来详细解释报表所基于的数据的注解、报表标题、有关报表中某些特定数据的注释等 等)。
“文件”菜单上的 “摘要信息”提供了一种功能,可以在报表中加入从简短的便笺 到上百行文本的任何内容。此注释不随报表一起打印;它们保留在 “文档属性”对话框 的 “摘要”选项卡中,可以根据需从中查阅。
Page 88
72 Crystal Reports 用户指南
当选择 “摘要信息”时,出现 “文档属性”对话框,其 “摘要”选项卡为活动的。
输入所需信息,完成后单击 “确定”,返回到报表。

6.5 超出基本报表

一旦掌握了报表的基础知识,您即将研究 Crystal Reports 的更强大的报表功能,
包括:
• 图表 (请参阅在第 189 页上的 “图表”)
• OLE 对象 (请参阅在第 217 页上的 “OLE”)
• 套用信函 (请参阅在第 143 页上的 “套用信函”)
• 子报表 (请参阅在第 311 页上的 “子报表”)
• 交叉表 (请参阅在第 225 页上的 “交叉表对象”)
• 多节报表 (请参阅在第 137 页上的 “多节报表”)
Page 89
第 7 章 Crystal 储备库 73

第 7 章 Crystal 储备库

本章介绍 Crystal 储备库,并说明如何将项目添加到储备库,如何更新现有项目,
以及如何在 Crystal 报表中使用储备库项目。

7.1 Crystal 储备库是什么?

Crystal 储备库是存储和管理报表对象的中心。诸如自定义函数和自定义 SQL 命令 之类的数据定义也可在 Crystal 储备库中存储和维护。这样,用户和报表开发人员就可 在新报表中使用这些对象,然后将报表在全公司范围内进行分发。
Crystal 储备库实质上是一个存储所支持的对象类型的数据库。这些类型包括:
• 文本对象
• 位图
• 自定义函数
• 命令 (查询)
注意:业务视图也存储在 Crystal 储备库中。可以在 Crystal Reports 中使用业 务视图,但需要在 “业务视图管理器”中创建它们。
通过维护存储报表对象的共享储备库,您只需修改一个特定对象,所有包含该对象 的报表在打开使用时,即会全部自动更新。集中存储报表对象还有助于简化数据管理任 务。这在提高公司的生产率和降低成本方面非常有利。
Crystal 储备库包含在 Crystal Enterprise 中。某些版本的 Crystal Reports 包 含可在安装后访问储备库的 Crystal Enterprise 版本。
注意:
• 先前版本的 Crystal Reports 附带了一个储备库,该储备库是 Access 数据库。
如果要将该储备库的内容移到新的 Crystal Enterprise 储备库中,请参阅 《业 务视图管理员指南》中名为 “迁移 Crystal 储备库”的章节。
• 默认情况下,Crystal 储备库不包含任何示例储备库对象。有关如何安装示例储
备库对象的信息,请参阅 《业务视图管理员指南》“使用业务视图管理器”一章 中的 “安装示例储备库对象”部分。

7.1.1 工作流程

虽然 Crystal 储备库有多种使用方式,但您可以通过这个工作流程示例熟悉一些应 该遵循的步骤:
• 为您的储备库建立文件夹
储备库资源管理器以带有文件夹和子文件夹的树状结构显示 Crystal 储备库的内
容。您可以根据需要添加和重命名文件夹。
Page 90
74 Crystal Reports 用户指南
• 在储备库中添加报表对象
根据要添加的对象类型的不同,有多种操作方法:
• 选择一个文本对象或位图图像,然后将其拖到某个文件夹中,或从快捷菜单中
选择 “添加到储备库”。
• 在公式工作室中选择一个 “自定义函数”,然后单击 “添加到储备库”按钮。
• 在 “数据库专家”中创建或修改一个命令,然后,当该命令出现在 “选定的
表”列表中时,右击它并选择 “添加到储备库”选项。
• 在报表中添加储备库对象
根据对象类型的不同,需要使用不同的方法:
• 可以将文本对象和位图图像从储备库资源管理器拖到报表中。
• 自定义函数可通过 “公式工作室”添加。
• 命令可通过 “数据库专家”添加。
• 更新储备库中的报表对象
根据对象类型的不同,也有不同的方法:
• 可以将文本对象和位图图像拖回原来的储备库对象中。
• 自定义函数可通过其用户界面更新。
• 命令可通过 “数据库专家”更新并重新添加到储备库中。

7.2 访问 Crystal 储备库

安装时将设置 Crystal Reports 提供的储备库。您不必进行任何其他操作就可以使
用这个储备库。
若要打开 Crystal 储备库
1 启动 Crystal Reports 并打开一个报表。
2 在 “标准”工具栏上单击 “储备库资源管理器”按钮。
提示: 另一种方法是在 “视图”菜单下单击 “储备库资源管理器”选项。
3 登录到 Crystal Enterprise。
有关如何登录到 Crystal Enterprise 的信息,请参阅在第 258 页上的 “使用
Enterprise 文件夹”。
出现储备库资源管理器。
4 展开顶层节点以查看储备库内容。
Page 91
储备库资源管理器可能会出现在 Report Designer 中的一个停靠位置,这取决于上 次使用 Crystal Reports 时它的位置。有关停靠资源管理器的更多信息,请参阅在第 54 页上的 “打开和停靠资源管理器”。
将鼠标的光标停留在 “储备库资源管理器”中的任何对象上可看到工具提示。对于 文本对象和位图,工具提示包含 “作者”和 “说明”信息;对于命令,工具提示包含 SQL 语句的完整文本。

7.2.1 工具栏

“储备库资源管理器”的工具栏提供带有工具提示的按钮。这些按钮使您能够添加新
文件夹、搜索项目等等:
• 更改视图设置
使用该选项可以打开 “视图设置”对话框。使用该对话框可以限制 “储备库资源管
理器”中显示的储备库项目的类型。您也可以选择选项,以便按名称或类型对多个
项目进行排序。
• 高级筛选
使用该选项可以在 “储备库资源管理器”的底部显示筛选选项。使用这些筛选器,
可以依据 “添加项目”对话框中 “名称”或 “作者”字段中的单词查找特定项目。
有关添加或更改项目名称或作者的信息,请参阅在第 76 页上的 “在储备库中添加
项目”和在第 78 页上的 “修改储备库中的对象”。
注意:在此选项的筛选字段中输入的文本不区分大小写。
• 删除项 / 文件夹
使用该选项可以从储备库中永久性删除选定项目或文件夹。删除文件夹时将删除其
中包含的所有项目。有关从储备库中删除项目的更多信息,请参阅在第 79 页上的
“从储备库中删除项目”。
• 插入新文件夹
使用该选项可以将新文件夹添加至储备库。有关信息,请参阅在第 75 页上的 “在
储备库中添加文件夹”。
第 7 章 Crystal 储备库 75

7.3 在储备库中添加文件夹

可以在储备库树视图中创建文件夹和子文件夹来整理储备库中的内容。
1 在 “储备库资源管理器”中,右击某个节点,然后在快捷菜单上单击新建文件夹。
提示: 另一种方法是单击 “储备库资源管理器”工具栏上的 “插入新文件夹”按
钮。
将在储备库树的底部添加一个新文件夹。(如果储备库项目按类型排序,则会按字母
顺序添加新文件夹,并使用默认名称 “新文件夹”。)
2 为新文件夹起一个名字,然后按 Enter 键。
3 要添加子文件夹,右击新文件夹,然后在快捷菜单上单击 “新建文件夹”。
4 为新的子文件夹起一个名字,然后按 Enter 键。
Page 92
76 Crystal Reports 用户指南

7.4 在储备库中添加项目

可以将文本对象和位图图像从报表拖放到相应的储备库文件夹,将其添加到储备库
中。此时将出现一个对话框,供您添加有关该对象的标识信息。
自定义函数可通过公式工作室添加到储备库,而命令则通过 “数据库专家”添加。
将报表项目添加到储备库后,就可以在多个报表间 共享这些项目。使用 Crystal
Reports 的每个人都可以连接到储备库,然后选择要添加到报表中的项目。
将对象添加到储备库时,该对象即 “连接到”储备库。只要对象处于连接状态,您
就可以用储备库中该对象的最新版本更新使用该对象的报表。

7.4.1 添加文本对象或位图图像

1 在报表中选择一个文本对象或位图图像,然后将其拖到储备库资源管理器的相应文
件夹中。
2 在 “对象信息”对话框的 “名称”字段中,为该对象或图像起一个名字。
注意:对象的名称中不能使用以下字符:# ?{ } ; /
3 如果需要还可以输入作者和说明,然后单击 “确定”。
提示: 作者和说明信息即会出现在工具提示中,并且可以使用 “高级”筛选选项搜 索这些信息。
您会看到该文本对象或位图图像被添加到相应的文件夹中。
不使用拖放的方法也可以添加文本对象或位图图像。
1 在您的报表中选择一个文本对象或位图图像,然后在快捷菜单上单击 “添加到储备
库”。 出现 “添加项目”对话框。 请注意,由于没有将该对象拖到特定的储备库文件夹,因此该对话框中有一块用于
选择位置的区域。
2 在 “名称”字段中,为该对象或图像起一个名字。
注意:对象的名称中不能使用以下字符:# ?{ } ; /
3 在 “位置”区域,双击储备库,选择一个文件夹,然后单击 “确定”。
您会看到该文本对象或位图图像被添加到相应的文件夹中。
如果您尝试编辑添加到储备库中的任何对象,您将发现无法对其进行更改;这些对象
处于只读模式。对于存储在储备库中的任何报表对象,都会出现这种情况:只要对象连接 到储备库,就不能在报表中对其进行更改。如果在报表中右击该对象,然后在快捷菜单上 选择 “断开与储备库的连接”,就可以断开该项目与储备库的连接,然后即可对该项目进 行编辑。如果要用编辑过的报表对象更新其他报表,必须将该对象重新添加到储备库中。

7.4.2 添加自定义函数

1 在公式工作室中,展开 “报表自定义函数”节点,然后选择要添加到储备库中的自
定义函数。
Page 93
第 7 章 Crystal 储备库 77
2 单击 “添加到储备库”按钮。
您会看到该自定义函数被添加到 “储备库自定义函数”节点下。 提示:
• 也可以将某个自定义函数添加到储备库中,方法是将它从 “工作室树”中的
“报表自定义函数”节点拖放到 “储备库自定义函数”节点上。
• 在 “报表自定义函数”节点中,该自定义函数的图标会改变,指示该自定义
函数存在于储备库中。
注意:必须将所有自定义函数添加到 Crystal Reports 随附的 “储备库自定义函
数”节点中。

7.4.3 添加命令

1 在 “数据库专家”的 “选定的表”区域,选择要添加到储备库中的命令。
2 右击该命令并选择 “添加到储备库”。
3 在 “添加项目”对话框中,为该命令指定一个名称和储备库位置。
该命令即会在 “Crystal Enterprise 资源管理器”、“数据库专家”和 “设置数据 源位置”对话框中出现。

7.5 在报表中使用储备库对象

将一个或一组对象添加到储备库后,即可在 Crystal 报表中使用这些对象。各类储 备库对象均通过各自的用户界面添加。对于文本对象和位图图像,只需将其从储备库资 源管理器拖到报表中即可。当您在公式工作室中工作时,自定义函数处于选定状态,并 且 “Crystal Enterprise 资源管理器”、“数据库专家”或 “设置数据源位置”对话框 中的命令也处于选定状态。
将储备库对象添加到报表后,该对象仍保持连接到储备库,并且处于只读模式。要 编辑该对象,必须断开它与储备库的连接,解除其格式锁定。
注意:
• 要重新连接与储备库断开的报表对象,应重新添加该对象,或更新储备库中的副
本。如果对象未连接到储备库,下次打开报表时不能自动更新该对象。
• 可以查看连接到储备库的报表对象,方法是打开 “报表资源管理器”并查找该对
象;如果对象前面有一个图标,则它已连接到储备库。
本节说明如何将位图图像和自定义函数添加到新报表中。

7.5.1 在报表中添加文本对象或位图图像

1 在 “标准”工具栏上单击 “储备库资源管理器”按钮。
提示: 另一种方法是在 “视图”菜单下单击 “储备库资源管理器”选项。
2 登录到 Crystal Enterprise (如果尚未登录)。
有关如何登录到 Crystal Enterprise 的信息,请参阅在第 258 页上的 “使用
Enterprise 文件夹”。
Page 94
78 Crystal Reports 用户指南
3 展开“储备库资源管理器”中的相应文件夹,然后将文本对象或位图图像拖到报表中。
注意:不必根据 Crystal 储备库中的文件夹所包含的对象来命名这些文件夹;您可以
自行选择一个名称。有关更多信息,请参阅在第 75 页上的 “在储备库中添加文件夹”。

7.5.2 在报表中添加自定义函数

1 在 “专家工具”工具栏上单击 “公式工作室”按钮。
提示: 另一种方法是在 “报表”菜单下单击 “公式工作室”选项。
2 在公式工作室中,展开“储备库自定义函数”节点,直到找到要添加的自定义函数。
3 右击该自定义函数,然后在快捷菜单中单击 “添加到报表”。
如果要添加的自定义函数需要储备库中的其他自定义函数,可以同时添加这些函数。
您会看到该自定义函数被添加到公式工作室的 “报表自定义函数”节点下。
注意:在公式工作室中创建公式时,也可以将自定义函数添加到报表中。有关此方
法的更多信息,请参阅在第 290 页上的 “在 “公式专家”中创建公式”。

7.5.3 在报表中添加命令

1 在 “专家工具”工具栏上单击 “数据库专家”按钮。
提示: 另一种方法是在 “数据库”菜单下单击 “数据库专家”选项。
2 在 “数据库专家”中,展开 “储备库”文件夹。
提示: 如果 “Crystal Enterprise 资源管理器”没有马上打开,请双击 “建立新 连接”。
3 在 “Crystal Enterprise 资源管理器”中,展开各个文件夹直至找到要添加的命
令,然后单击 “打开”。
命令将出现在 “数据库专家”的 “可用数据源”区域中。当命令位于此区域中时, 即可在要添加任何其他数据源时将其添加到报表中。有关更多信息,请参阅在第 60 页 上的 “选择数据源”。

7.6 修改储备库中的对象

要修改储备库对象,可以先断开它们,在报表中进行修改,然后再重新添加到储备 库中。还可以直接在储备库中重命名对象,然后将其移动到其他文件夹。
请注意,修改对象并将其重新添加到储备库后,所做更改将影响所有使用同一储备 库的用户:重命名的对象对于所有用户均已重命名,而且在 Report Designer 中打开包 含已修改对象的报表时,这些报表会自动更新。
修改储备库对象
注意:此过程说明如何修改和更新储备库中的文本对象。自定义函数和命令是在各 自的用户界面中进行修改和更新的;在所有情况下,都必须先将自定义函数或命令从储 备库断开,进行修改,然后将自定义函数或命令重新添加到储备库中。
Page 95
第 7 章 Crystal 储备库 79
1 在 “储备库资源管理器”中,将任意文本对象拖到报表中。
2 在报表中右击该文本对象,然后从快捷菜单中选择 “从储备库断开连接”。
3 双击该文本对象,然后修改其文本。
4 将经过修改的文本对象从报表重新拖到它在 “储备库资源管理器”中的位置。
放置该文本对象时,将出现 “添加对象”或 “更新对象”对话框。
5 保持选中 “更新储备库中的报表对象”,然后单击 “确定”。
6 在 “修改项”对话框中进行任何所需的更改,然后单击 “确定”。
7 在储备库中右击该文本对象,然后在其快捷菜单中单击 “属性”。
请注意,“修改时间”区域中的日期和时间已改变,以便与将文本对象重新添加到储 备库时的时间相对应。

7.7 在报表中更新连接的储备库对象

如果报表中使用的储备库对象连接到该报表的储备库,那么在 Crystal Reports 中 打开该报表时,这些对象会自动更新。该行为由一个全局 “选项”设置控制,适用于所 有报表。
注意:如果报表中使用的储备库对象已断开与储备库的连接,打开该报表时这些对 象不会自动更新。
设置更新选项
1 在 “文件”菜单上,单击 “选项”。
出现 “选项”对话框。
2 单击 “报表”选项卡。
3 选中 “打开时更新连接的储备库对象”复选框。
4 单击 “确定”。
如果不想使用该全局选项,也可以分别在各个报表的 “打开”对话框上选中 “更新 储备库对象”选项,以更新报表的储备库对象。
注意:当您打开包含存储在储备库中的命令的报表时,并且已指定您想 “打开时更 新连接的储备库对象”,则只会自动刷新命令的定义;只有当您在报表中单击“刷新”按 钮时,命令返回的数据才会得到更新。

7.8 从储备库中删除项目

可以将存储在储备库中的任何对象从该储备库中删除,而这样做不会将该对象从使 用它的报表中删除。从储备库中删除了一个对象后,该对象对于所有用户都已删除。
注意:
• 从储备库中删除了某个对象后,该对象在使用它的报表中仍呈现为连接状态。尝
试更新这种报表的储备库对象时,“缺少储备库项”对话框中将出现一条警告消
Page 96
80 Crystal Reports 用户指南
息,这样您就可以快速识别出该对象。使用 “报表资源管理器”对话框找到报表 中的对象,然后即可将其断开连接。
• 如果已从储备库中删除了对象,则在使用相同的名称创建新对象并将其重新添加
到储备库中时,不会将该对象重新链接到报表。每个储备库对象都有唯一的 ID ; 链接不是依据名称进行的。
从储备库中删除对象
1 在 “标准”工具栏上单击 “储备库资源管理器”按钮。
提示: 另一种方法是在 “视图”菜单下单击 “储备库资源管理器”选项。
2 在相应的文件夹中,选择要删除的对象,然后按 Delete 键。
系统将要求您确认删除。
3 单击 “是”按钮。
该对象即会从储备库中删除。
通过右击一个储备库对象,然后从快捷菜单中选择 “删除”,也可以将其删除。

7.9 在储备库中使用 “撤销”命令

不能撤销任何更新储备库的操作。但可以 撤销任何只影响报表,而不影响储备库的
操作。例如,可以撤销断开连接的操作。
Page 97
性能改进。此处提供的建议对于优化在 Web 细缆环境上分发的报表的性能尤其重要,不 过,多数准则和步骤都适用于所有报表。

8.1 概述

强大的内置性能功能都会让您感受到 Web 报表不同凡响的发布速度。
能优点:
能优势,这些优势通常是十分可观的。当您依照这些策略设计新的报表(或改进在 Crystal Reports 旧版本中创建的报表)时,报表的运行速度将加快并且占用的处理资源也更少。 因此,报表用户可以方便地访问他们所需的数据,而且速度比以前任何时候都快。
以后的制表任务作准备 - 您会对如何设计更快更好的报表有深入的了解。
背景信息,请参阅在第 323 页上的 “数据库概述”。
第 8 章 设计优化的 Web 报表 81

第 8 章 设计优化的 Web 报表

本章建议了多种改进报表的方法,使报表能够有效利用对 Crystal Reports 所做的
无论您是通过本地网络、公司 Intranet 还是 Web 分发企业报表,Crystal Reports
即使您不应用本章所述的任何策略,Crystal Reports 也会自动提供这些主要的性
• 按需分配页技术
按需分配页的报表访问允许用户只下载需要查看的特定报表页,从而缩短了响应时
间,减少了 Web 流量。不仅如此,占位符和部分页技术还使您无须等待图形和子报
表等大对象的处理,就能立即查看 Web 上的报表页和数据。
• 优化的多线程报表引擎
Crystal Report 引擎的多线程能力及线程安全数据库驱动程序使您能够在许多其他
操作在后台进行的同时,继续执行您自己的重要任务。此外,报表引擎减少了数据
传递次数,通过改善的内存管理来加快处理速度,尽可能高效处理子报表和参数。
除了上述内置功能,下面各节中讨论的“优化 Web 报表的关键策略”还提供了其他性
提示:如果您对 Web 制表不熟悉,甚至对制表本身也不了解,请阅读本章,以便为
注意:在考虑性能问题时,了解数据库及其工作原理通常是很重要的一件事。有关

8.1.0.1 优化 Web 报表的关键策略

• Crystal Reports 和 Crystal Enterprise 将与您的公司一起成长。有关详细信
息,请参阅在第 82 页上的 “通过 Crystal Enterprise 缩放”。
• 有关如何创建快速交互式报表的提示和注意事项,请参阅在第 83 页上的 “作出
正确的设计选择”。
• 有关充分使用现有数据库方面的信息,请参阅在第 87 页上的 “优化您的制表环
境”。
Page 98
82 Crystal Reports 用户指南
• 若要减少数据传输量和增强报表的性能,请参阅在第 89 页上的 “使用增强的记
录选定公式”。
• 若要缩短分组、排序、或总计报表的处理和数据传输时间,请参阅在第 94 页上
的 “改进分组、排序和总计”。
一般情况下,无论以何种方式分发报表,您都会遇到类似的性能问题。按照以下这 些策略操作,您会发现不仅在多用户 Web 环境下性能显著提高,在单用户情形下性能也 会显著提高。

8.2 通过 Crystal Enterprise 缩放

Crystal Enterprise 为通过 Web 发送报表或将其集成到自定义 Web 应用程序中提 供了一种灵活而有效的方法。
Report Application Server (RAS) 提供了一套丰富的基于服务器的报表服务,可 用来将报表紧密集成到自定义应用程序中。RAS 提供了一套基本的 Crystal Enterprise 服务,专门用于报表处理,应用程序集成,以及运行时报表修改。
您可以使用 Crystal Enterprise 其他版本提供的高级服务进一步扩展您的应用程 序。其中包括:
• 安全性
Crystal Enterprise 提供了粒化的组级别、用户级别和数据级别的安全性,帮助您
保护敏感报表,为最终用户提供更具个性化的服务。
• 调度
Crystal Enterprise 包含一个灵活的基于时间和事件的调度系统,使您可以在工余
时间处理大的报表,从而避免不必要的数据库访问。(Report Application Server
提供按需制表功能,每个查看请求都会产生一个单独的数据库查询)。
• 版本管理
版本管理和调度功能紧密配合,共同实现报表实例的存储。版本管理不仅可以降低
为服务用户而造访数据库的次数,而且可以保留报表实例的档案作为历史参考。
• 集群
Crystal Enterprise 整合了成熟的集群和负载平衡技术,可帮助您实现一个高度易
用、性能可靠的信息传送系统。
• 可伸缩性
Crystal Enterprise 建立在分布式多服务器结构的基础上,可使您通过单机扩容
(添加处理器)或多机扩展来处理较重的用户负载。
• 管理
Crystal Enterprise 包含大量的管理控件,可用来组织内容,设置复杂的调度和安
全性,并调节系统达到最佳性能。
• 外部 (第三方)身份验证
Crystal Enterprise 允许您利用现有安全系统来管理用户和组。所有身份验证工作
都可委托给第三方 NT 或 LDAP 系统。
Page 99
第 8 章 设计优化的 Web 报表 83

8.2.1 Crystal Enterprise 中日期函数的求值时间

Crystal Reports 中可用的不同日期和时间函数是在报表处理的不同阶段求值的。
某些函数是在处理预定的报表或刷新报表实例时求值的:该求值时间称为
“WhileReadingRecords” 。其他函数是在每次格式化报表页以在报表查看器或浏览器中
显示时求值的:该求值时间称为 “WhilePrintingRecords”。
如果使用 Crystal Enterprise 生成报表实例,并且注意到所求出的日期或时间函
数值不是预期值,请考虑以下因素:
• 当前日期和时间始终是从报表引擎可以在本地访问的时钟 (即处理报表的计算机
上的时钟)中读取的。在 Crystal Enterprise 中,Job Server 依据数据库处理 预定报表,而 Page Server 依据数据库处理按需要显示的报表。Page Server 还 在用户查看报表实例的个别页面时对页面进行格式化。
• 在处理预定报表时,Job Server 将对所有日期和时间公式进行求值,以便生成报
表实例。如果只是查看生成的报表实例,则不会对任何公式重新求值。
• 当您查看缓存的报表页时,不会对任何日期函数重新求值,原因是记录已被读取
并且页面已被格式化。
• 如果在报表的选定公式中使用日期和/或时间函数,则报表数据依赖于这些公式的
返回值。因此,在以后某个日期查看报表实例时,函数可能会导致系统依据数据 库对报表数据进行更新。
• 若要确保日期和时间函数返回预期的值,可以通过使用 WhileReadingRecords 和
WhilePrintingRecords 函数来强制确定求值时间。有关更多信息,请参阅 Crystal Reports 联机帮助的 “函数”和 “报表处理模型”部分。

8.3 作出正确的设计选择

本节提供有助于提高报表性能的设计选择和考虑。本主题涵盖了从基本的建议到较 复杂的决策这一范围内的内容,例如,将在 Crystal Reports 旧版本中创建的报表更新 为最新的文件格式 (基本的建议) ,以及是使用活动数据还是使用已保存数据及如何有 效地使用子报表 (较复杂的决策)。
在设计报表,尤其是设计用于 Web 的报表时,应该允许报表用户操纵其所查看的数 据。即,显示汇总信息,以便每个用户可以快速地浏览报表,然后深化以访问其他数据。 采用此方法,由于仅从数据库服务器传输用户所请求的数据,所以最大限度地降低了 Web 流量并缩短了响应时间。
下面只是设计用户驱动报表的几点优势:
• 报表用户可以对其在 Web 上查看的信息类型和数量进行交互控制。
• 因为只从数据库服务器返回用户所请求的信息,所以数据传输和网络流量减少。
• 当用户需要通过 Web 根据实时数据制作报表时,面向用户的报表响应迅速,并能
有效地与数据库服务器通讯。
• 报表变得更有用,原因在于每个用户均可自定义报表的内容,从而创建针对其特
定决策问题的报表解决方案。
Page 100
84 Crystal Reports 用户指南

8.3.1 使用更快的报表格式

要提高在 Crystal Reports 旧版本中创建的报表的性能,最快速的方法是将其以最 新的 Crystal Reports 格式保存。Crystal Reports 在经过改进后,已能较以往更快地 处理报表:更新旧报表可利用这些改进功能。
若要更新旧报表的格式,只需用 Crystal Reports 将其打开,然后从“文件”菜单 中选择 “保存”。旧版本的报表将被替换为版本 10 的报表。
注意:如果由于某些原因需要保留报表的原始文件格式,请使用 “另存为”(而非
“保存”)命令,并输入版本 10 报表的新名称。

8.3.2 在活动数据和已保存数据之间选择

当通过 Web 制表时,需要作出的一个最重要的决定是使用活动数据还是已保存数 据。然而,无论作何选择,Crystal Reports 都会尽快显示第一页,这样您就可以在其 他数据尚在处理的时候看到您的报表。
8.3.2.1 活动数据
活动制表可使用户直接从数据库服务器实时访问活动数据。使用活动数据,用户在 所访问信息经常变化的情况下随时能获得最新的数据,时间可精确到秒。例如,某个大 型配送中心每天货运不断,经理需要对库存进行跟踪,那么采用活动制表就能使他们得 到所需的信息。
Crystal Reports 支持活动制表。然而,您应首先考虑是否要让所有用户接连不断 地造访数据库服务器。如果数据不是快速或经常更改,那么所有这些数据库请求除了增 加网络流量和消耗服务器资源以外没有多大的意义。在这种情况下,您可能倾向于使用 带有已保存数据的报表。
若要确保实时制表的效率,请阅读本章中的所有建议。但是,以下主题尤其重要:
• 在第 86 页上的 “利用按需分配子报表”
• 在第 94 页上的 “在服务器上执行分组”
• 在第 92 页上的 “将参数字段合并到记录选定公式中”
8.3.2.2 已保存数据
带有已保存数据的报表在处理不经常更新的数据时很有用。当用户浏览带有已保存 数据的报表并对列或图表深化以查看细节时,他们不直接访问数据库服务器;相反,他 们访问的是已保存的数据。因此,带有已保存数据的报表不仅将网络数据传输量降到最 低,而且还减轻了数据库服务器的负担。
您可以从 Crystal Enterprise 内部调度这些报表,使其自动从数据库定时刷新。例 如,如果销售数据库每天或每周只更新一次,那么可按相似的进度运行报表并将其与数 据一同保存。这样,销售代表就总能使用当前的销售数据,而不必在每次打开报表时访 问数据库。或者,您也可以根据需要来刷新带有已保存数据的报表。
在报表中执行以下任何任务时,将会放弃和刷新已保存的数据:
• 选择 “刷新”命令。
Loading...