水晶报表 - 快速指南



水晶报表 - 概述

SAP 水晶报表是一个商业智能工具,用于从 SAP 和非 SAP 数据源生成报表。它使用户能够生成包含出色可视化的报表,并将新的业务需求融入报表中,以减少对 IT 和报表开发人员的依赖。

SAP 水晶报表可以连接到任何数据源,包括关系数据库(如 Oracle),OLAP 数据源系统(如 BW),以及 XML 数据。您可以创建一个简单的报表,也可以使用水晶报表的复杂或专用工具为最终用户创建高级报表。它主要用于为 CEO 和管理人员创建像素级精确的报表。

使用水晶报表的优势

灵活且自定义的报表 − 使用 SAP 水晶报表及其高级设计界面和高效工作流程,您可以快速创建高度格式化、像素级精确的报表。

强大的报表交付选项 − 您可以以最终用户首选的语言和格式向您的业务最终用户交付个性化报表。

数据源连接性 − 您可以直接连接到信息源。数据源包括:原生、ODBC、OLE DB 和 JDBC 连接到关系型、OLAP、Web 服务、XML、企业数据源和 salesforce.com。

对 Excel 的扩展支持 − 通过允许将更多数据导出到单个工作表(无需跨多个工作表),您可以充分利用 Excel 文件格式。

Windows 操作系统兼容性 − SAP 水晶报表 2013 软件已认证与 Microsoft Windows 7 兼容。

移动兼容性 − 您还可以通过移动设备打开交互式报表。

SAP 水晶报表、Adobe Flash 和 HTML 5 集成 − 它使 SAP 水晶报表开发人员能够创建强大的“混合应用程序”,从各种来源提取数据。

竞争对手 − SAP 水晶报表与 Microsoft 市场上的几种产品竞争,例如 SQL Server Reporting Services SSRS、XtraReports、ActiveReports 和 List & Label。

水晶报表的安装要求

以下是安装水晶报表的必要条件:

  • 配备 AMD 或 Intel 处理器的电脑,双核 CPU,2 GB RAM

  • 大约 4 GB 可用硬盘空间(仅限英语,所有语言 8 GB)

  • Microsoft Windows 7 SP1、Windows 8、Windows Server 2008 SP2、Windows Server 2008 R2 SP1、Windows Server 2012

可用语言 − 英语、芬兰语、法语、德语、匈牙利语、意大利语、日语、韩语、挪威语、波兰语、葡萄牙语、简体中文、繁体中文、捷克语、丹麦语、荷兰语、斯洛伐克语、斯洛文尼亚语、西班牙语、瑞典语、泰语、土耳其语、罗马尼亚语、俄语

技术规格

  • 硬件要求 − Intel Pentium III 或同等处理器,建议最低 512 MB RAM

  • 磁盘空间 − 使用英语语言的默认安装需要 2 GB,安装所有语言的默认安装需要 4 GB

版本和功能比较

让我们以一个例子来解码 SAP 水晶报表的版本格式。假设 12.1.2.957.12 是 CR 2008 的版本。这里1表示它是 Service Pack 1,.2表示在 Service Pack 1 之上应用了 Fix Pack 1.2。最后三位或四位数字并不重要。另一个例子,如果您有版本 12.3.1.684,我知道我使用的是 CR 2008,Service Pack 3,Fix Pack 3.1。

版本 − 开发者版 (D)、专业版 (P)、标准版 (S)

dps

版本 − 开发者版 (D)、专业版 (P)、标准版 (S)

dps1

dps2

版本 − 开发者版 (D)、专业版 (P)、标准版 (S)

dps3

版本 − 开发者版 (D)、专业版 (P)、标准版 (S)

dps4.jpg

dps5.jpg

水晶报表 - GUI 导航

企业版水晶报表提供了一个界面,使您可以快速轻松地创建、格式化和发布有效的报表。

菜单栏提供了企业版水晶报表中提供的全部功能,如下图所示。

Enterprise

标准工具栏(如下图所示)允许您访问常见的报表功能,例如:打开现有报表、创建新报表、保存报表、打印报表、剪切、粘贴、导出和撤消。

Enterprise1

“插入”选项卡允许您将对象插入报表,例如插入文本、线条、框、组、节、图片、计算和/或图表,如下图所示。

Insert Tab

“格式”选项卡(如下图所示)允许您使用函数来格式化所选字段,例如:更改字体大小或颜色、背景颜色、文本对齐方式(居中、左对齐、右对齐)等。

它还允许您应用条件格式化,例如突出显示报表中高于或低于特定阈值的数值。

Format Tab

当您单击右上角的条件格式化选项时,将打开格式化框。在此框中,您可以定义条件格式化显示的条件。在设置区域中,指定满足条件时显示的格式,例如更改文本的字体样式或颜色。

“数据”选项卡(如下图所示)使您可以处理数据编辑查询、创建分组和排序、应用过滤器以限制报表中的数据以及创建公式以向报表添加自定义计算。

Data Tab

当您单击“查询过滤器”选项或“编辑数据源”时(如下图所示),将打开一个查询面板。在查询面板中,您可以选择要在报表中显示的对象。在过滤器选项中,您可以应用过滤器来限制报表返回的数据。

Query Filter

当您单击“公式”按钮时(如下图所示),将打开“公式工作区”。这允许您在报表中使用自定义计算。您可以通过键入或单击数据资源管理器中的对象、函数和运算符来应用公式。

Formula Button

水晶报表中的主要工作区域称为报表设计画布,它分为结构选项卡和页面选项卡。水晶报表默认情况下分为五个不同的部分,如果您对报表应用分组,则会添加其他节。

Report Title

使用结构选项卡(如上图所示),您可以通过将项目放置在报表的各个节中来创建整体结构。您还可以应用任何所需的排序、分组等。在这里,您处理的是数据的占位符,而不是数据本身。

页面选项卡(如下图所示)根据您在结构选项卡中创建的结构显示报表数据。在这里,您可以评估报表设计的格式和布局,以便于分发。

Page Tab

水晶报表 - 选项

报表选项是水晶报表设计器中最常用的功能之一,当您需要在水晶报表 .NET 应用程序中运行时访问/修改水晶报表的报表选项值时,可以使用此功能。

转到“编辑”→“报表选项”

Report Options

Report Options1

报表选项功能用于设置水晶报表中的各种字段,例如智能参考线功能,该功能允许您选择、移动和调整报表元素的整列大小,而无需手动选择每个元素。当您选择报表元素时,智能参考线将出现并自动选择列中的相关元素。

水晶报表 - 页面布局

SAP 水晶报表提供两种页面布局选项 - 横向和纵向。横向表示页面水平方向,而纵向表示页面垂直方向。

要在水晶报表中打开页面布局选项,请转到“文件”→“页面设置”。

Page Setup

此选项允许您选择页面选项,例如:纸张大小、纸张宽度、纸张高度和页边距(左、右、上和下)。

要更改页面布局:

在“文件”菜单中选择“页面设置”选项卡。单击“页面设置”组中的“方向”选项。

Orientation Option

水晶报表 - 获取帮助

企业版 SAP 水晶报表的帮助选项卡提供 SAP 站点上的所有学习资料和交互式视频链接,用于学习水晶报表的功能。

当您单击菜单栏中的“帮助”选项卡时,将显示以下选项(如下图所示):

  • 企业版 SAP 水晶报表帮助
  • 文档
  • 教程
  • 显示起始页
  • 联系我们
  • 注册
  • 关于企业版 SAP 水晶报表
Getting Help

企业版 SAP 水晶报表帮助

此选项提供完整的指南,标题为“企业版 SAP 水晶报表简介”,如下图所示。

Crystal Reports Enterprise

这涵盖了企业版水晶报表 4.x 的介绍以及该工具中可用的所有基本报表功能,例如登录服务器、报表介绍、设计概念、数据源和查询、图表等。

文档

当您单击“帮助”选项卡中的“文档”选项时,它会将您带到企业版水晶报表 4.x 的 SAP 链接。

此链接包含企业版水晶报表 4.x 的指南,用于:

  • 安装、升级和部署
  • 最终用户指南
  • 附加信息
Help Portal

教程

当您单击“帮助”选项卡中的“教程”链接时,它会将您带到官方产品教程 - 企业版 SAP BusinessObjects 水晶报表 4.x。

此页面提供电子学习资料,其中包括关于该工具所有关键功能的交互式课程和视频教程。

Community Network

起始页

它将您带到企业版 SAP 水晶报表 4.1 工具的主页。“联系我们”和“注册选项”用于联系 SAP 以了解任何与工具相关的功能。

关于企业版 SAP 水晶报表

它会将您带到工具的“关于”页面,其中包含版本和构建详细信息。

About Page

水晶报表 - 设计环境

SAP 水晶报表设计环境为您提供了设计报表结构的区域。它包含多个组件:

报表设计画布

报表设计画布用于设计报表结构。您可以在报表中放置各种元素,例如图表、文本元素和数据对象。

“显示标尺”选项会在报表画布上方显示一个标尺。您可以通过更改“设计画布”选项卡上的度量单位选项来更改度量单位。

报表布局可以使用结构模式和页面模式来定义。结构模式显示报表的结构,页面模式用于预览报表。

编辑 → 首选项 → 设计画布

Design Canvas

结构模式

结构模式用于提供设计报表的环境。它提供创建报表的结构和说明。当您在报表中放置对象时,它会显示在结构模式中。您可以添加/删除对象或应用复杂的公式,也可以移动对象。

在结构模式中,每个对象都由一个框架表示。结构模式有多个组件可用于编辑报表:

报表页眉

用于在报表顶部添加报表标题或任何其他您想放在报表开头的信息。

页面页眉

此选项用于在每一页顶部显示信息,例如文档标题、章节名称等。页面页眉不包含在报表页眉中。

主体

用于显示报表主体。所有报表数据都位于此部分。

报表页脚

用于在报表末尾显示信息,例如合计等。

页面页脚

用于在每一页末尾显示页码或任何其他您想要的信息。

Structure Mode

页面模式

它表示报表发布或打印时报表中的实际数据。它还允许您使用实际数据更改报表的格式,并且更改会立即在报表中显示。

Page Mode

数据资源管理器侧边栏

用于在报表中添加/删除对象。当您创建新报表或打开现有报表时,此侧面板会自动打开。

查询面板中添加的所有对象都显示在数据资源管理器下,您可以从此处将对象添加到报表。它进一步分为以下组件:

结果对象

它显示已添加到报表的所有对象。您也可以拖动对象将其添加到报表中。“编辑数据源”选项允许您从Universe添加新对象或从存储库中选择新的Universe/数据源。

公式

这显示了为报表创建的所有公式。您可以右键单击“公式”选项卡,然后选择“新建”→“新建公式”来创建新公式。

您也可以将公式拖动到报表中。

参数

它显示了为报表创建的所有参数。您可以右键单击“参数”→“新建”→“新建参数”来创建新的参数组。

运行总计

它显示了为报表创建的所有运行总计的列表。您可以右键单击选项卡→“新建运行总计”来创建新的运行总计。

预定义对象

它显示可以添加到报表的预定义对象。您可以将预定义对象拖动到报表画布以将其添加到报表。

Data Explorer Side Bar

大纲

用于查看报表的树状结构。树状结构中的第一个节点表示报表本身,第一级节点表示报表中的节,并且列出了包含对象的每个节。

分组树

用于查看报表中所有分组和子分组的树状视图。

查找

用于在报表中搜索特定值。在搜索框中键入一个词来查找任何值。

水晶报表 - 数据源

Crystal Report可以连接到多个数据源,包括:

  • Universe
  • SAP BEx 查询
  • 关系连接
  • HANA视图
  • Excel电子表格

要连接到数据源,请转到文件 → 新建 → 从数据源

Data Source

要选择数据源,您必须连接到SAP Business Objects平台服务器。

当您转到文件 → 新建 → 从数据源时,会显示“选择数据源连接”对话框 → 浏览存储库 → 数据源类型列表 → 选择您要连接的数据源 → 下一步。

如果您选择Universe,则会打开一个查询面板,您可以将对象添加到查询过滤器以生成报表。

水晶报表 - 查询

SAP BEx和Universe数据源连接允许您在Crystal Reports中创建和设计查询。

创建查询

要在Universe中创建查询,您可以选择OLAP和关系数据源。

查询设计的第一个步骤是定义您想要添加到查询中的对象。您还可以通过应用排序和查询过滤器来细化查询。查询面板分为多个窗格:

Edit Query

Universe窗格

它包含Universe中所有对象的树状结构。您可以使用“展开全部”选项查看Universe中的所有对象。

您不能在查询面板中添加新对象或编辑现有对象。

结果对象窗格

在此区域,您可以添加您想要添加到查询中的对象。

查询过滤器窗格

这用于过滤报表中对象的价值。您可以使用预定义过滤器,也可以通过添加对象来创建自定义过滤器。

SAP BEx查询可以包含一个或多个层次结构和预定义对象来运行报表。

SAP HANA查询包含来自SAP HANA建模视图的数据:分析视图、计算视图。要连接到HANA数据库并使用数据库中的模式→表,您可以使用现有的关系或OLAP连接。可以在IDT工具中创建关系连接。

OLAP连接可以在CMC以及信息设计工具中创建。可以使用OLAP连接将HANA多维视图连接到Crystal Reports。

Olap Connection

单击“下一步”→它将向您显示HANA存储库中所有建模视图的列表→选择一个建模视图→完成

它将在查询面板中打开视图的对象,这些对象可用于将其添加到报表。

Query Panel

编辑查询

使用查询创建Crystal报表后,要更改对象,您必须转到“编辑数据源”选项。单击该选项时,它将打开“编辑查询”面板,您可以在其中添加/删除对象、应用过滤器等。

您还可以通过转到数据 → 编辑数据源来编辑现有查询,如下面的图片所示。

Editing a Query

完成更改后,单击“完成”,所有更改都将应用于Crystal报表中的数据。

查询过滤器和过滤条件

以下是Crystal Reports中可以使用的一些查询过滤器:

  • 预定义过滤器
  • 自定义过滤器
  • 自定义过滤器

预定义过滤器

这些是管理员在查询面板中创建的内置过滤器。预定义过滤器是在Universe级别创建的,可以直接从Universe在报表中使用。将您想要应用过滤器的对象拖到查询过滤器窗格,并将预定义过滤器也拖动到其中。运行查询时,报表中将返回关于查询过滤器的相应数据。

自定义过滤器

这些过滤器是在查询面板中使用查询创建的。自定义过滤器是在查询面板的查询过滤器选项卡下创建的。将对象拖动到查询过滤器窗格,并使用各种关系运算符来传递过滤器条件。您可以在查询过滤器中放置一个常量值或一个值列表。

提示

它们用于显示问题或值列表,被称为动态过滤器。

筛选条件

“常量”选项允许您在过滤器中输入单个值。

值列表允许您从对象的可用值中选择一个值。

提示用于将动态值传递给查询过滤器。

Query Panel

选项 描述
常量
  • 在文本框中键入值

LOV
  • 提示对话框中,通过双击成员或在成员窗格中选择它们并单击中间的箭头来将成员添加到列表中。

  • 单击确定

提示
  • 编辑提示对话框中,选择新建提示以添加新提示,或选择使用Universe参数以从Universe中选择参数。

  • 如果选择新建提示,请输入提示选项;如果选择使用Universe参数,请选择一个参数。

  • 单击确定

Query Filter Condition

水晶报表 - 基于时间的过滤器

基于时间的查询过滤器用于在特定时间段内过滤特定对象的价值。当您将日期维度添加到查询过滤器时,您可以使用下拉列表中的“介于”运算符来具体说明开始日期和结束日期。

您可以单击日历选项来选择“开始”和“结束”字段中的日期。您还可以将日期维度与值列表 (LOV) 或常量值选项一起使用。LOV允许您从Universe中日期维度提供的可用值列表中选择开始日期和结束日期。

Time Based Filter

这被称为在报表中应用基于时间的过滤器。

字段对象控件和修改

字段对象控件用于编辑报表中的对象。要编辑对象,您可以右键单击对象名称,然后选择“格式化结果对象元素”或“条件格式”选项,如下面的图片所示。

Field Object Control

“格式化结果对象元素”字段用于更改报表中对象的外观。它内部有以下4个选项卡:

  • 常规
  • 字体
  • 外观
  • 段落

常规选项卡用于定义报表对象的通用属性:例如高度和宽度、隐藏和如果重复则隐藏等。“常规”中的“高级”选项卡用于在报表中传递超链接。

字体选项卡用于更改报表中对象名称的字体大小、颜色、样式、对齐方式和旋转。

外观选项卡用于更改边框并为报表对象添加效果。

段落选项卡用于定义报表中多行情况下的行属性。

Elements Field

条件格式用于传递报表对象的显示条件。

您可以通过单击“添加条件”选项卡→选择对象名称并传递条件来传递对象的值。您可以定义字体样式、字体颜色等。

Conditional Formatting

Crystal Reports - 报表节

如前所述,Crystal Reports默认情况下提供五个主要节:

  • 报表页眉
  • 页面页眉
  • 主体
  • 报表页脚
  • 页面页脚

在这里,我们将学习如何在Crystal Report for Enterprise 4.x中插入、隐藏和删除节。

要在任何报表节中插入节,请选择该节→右键单击并插入。

Insert Section

您可以使用“隐藏”和“移动”选项来隐藏节或向上或向下移动节。

“格式节”选项允许您设置节的属性。包括:

  • 名称
  • 颜色
  • 大小

“大小”选项允许您调整节的高度。

Format Section

要防止节跨页断开:

如果元素长于一页,则它会跨多页打印。要避免这种情况,您可以使用分页选项。

右键单击一个节,然后单击“格式节”→“分页”→选择“避免分页符”,然后单击“关闭”。

现在让我们看看如何在Crystal Report 2013中插入、隐藏和删除节。

如下面的图片所示,“节专家”用于管理报表中的节。

Section Expert

要插入新节,您需要:

点击如下图所示的“节专家”按钮(“节专家”包含报表中所有节的列表)→ 选择节并点击插入。

Section Expert

报表中将出现一个新节。

水晶报表 - 删除节

删除节

在顶部打开“节专家”,选择要删除的节→ 输入“删除”。

只有字母编号的节才能删除。您不能删除Crystal Reports原始提供的节。

Report Header

更改顺序

打开“节专家”→ 选择要移动的节,并使用向上和向下箭头更改节的顺序。

合并节

打开“节专家”→ 将要合并的节互相移动→ 选择顶部的节→ 点击合并。

节将与列表中的下一个节合并。

拆分节

点击要拆分的节的边界→ 将出现拆分节的水平线→ 将其拖放到要拆分节的位置。

数据排序

有时需要按特定顺序对Crystal Reports中的数据进行排序。排序数据后,更容易找到报表中的特定记录。您可以按升序或降序添加排序,也可以将其应用于属性和度量值。

您也可以使用“排序”选项卡中的“删除”选项删除排序。

让我们看看如何在Crystal Reports中应用排序。

要在企业版4.x的Crystal Report中应用排序,请转到报表的“结构”选项卡→ 点击顶部的“数据”选项卡,然后选择“排序”。

Data Tab Section

点击“排序”选项后,将弹出一个包含分组和排序选项的窗口。

转到“排序”选项卡并展开“主体”选项卡,以对报表中的度量和属性值应用排序。

Sort Tab

要添加排序,请点击“添加排序”选项。它将显示添加到报表中的所有属性和度量。选择要应用排序的对象,然后点击升序和降序选项。

A → Z 升序或 Z → A 降序

您也可以在一个报表中添加多个排序,然后点击“确定”。

Multiple Sort

要查看排序后的数据,请转到“页面”选项卡。

在上面的示例中,它对客户姓名然后是销售数量进行了排序。

Delete Sort

要删除排序,请选择排序并点击“删除排序”选项。

水晶报表 - 分组

本章将介绍如何定义、呈现和删除分组。

定义分组

当您需要将数据分成几组以便于理解时,可以使用分组选项。

您还可以使用分组选项卡内的自定义选项,为单个值或多个值自定义分组。

要在报表中应用分组,请转到报表的“结构”选项卡→“数据”→“分组”。

Data Groups

呈现分组

要添加分组条件,请点击“新建”(“+”号),然后选择要应用分组的属性。如果您对一个对象应用常规分组,它将对报表中所有类似的值进行分组。

Render Groups

要对单个值应用分组,请转到“自定义分组”选项→“新建”→“添加条件”→ 从下拉列表中选择运算符和值,如下图所示:

Add Condition

它还提供了一个选项,可以丢弃所有其他内容,将所有其他内容在一个名为“其他”的分组中分组,或者在不更改分组名称的情况下包含所有其他内容。

在下面的示例中,它创建了两个组:第一个组的“地区名称”为“新德里”,第二个组包含所有其他内容,组名为“其他”。

Groups

当您在报表中使用分组时,报表画布中将出现两个新节:分组页眉 1 和分组页脚 1。

删除分组

要删除分组,请选择要删除的分组,然后点击“删除”选项。

转到报表的“结构”→“分组”→ 选择要删除的分组 #1、2 → 删除。

Delete Groups

水晶报表 - 分组选项

在Crystal Reports中自定义分组时,可以使用以下3个选项:

  • 丢弃所有其他内容

  • 将所有其他内容在一个分组中分组,并为其指定分组名称

  • 包含所有其他内容,而不更改分组名称

分组树

当您在“页面”选项卡中时,侧面板中的分组树图标用于查看报表中分组的树视图。它允许您跳转到报表中的特定分组,而无需滚动浏览报表以查找特定分组。

Group Tree

报表中的动态页眉

动态页眉根据分组的内容而变化。当您在报表中定义分组时,程序会自动在分组页眉部分的元素中插入分组名称。此元素显示分组的名称。

Groups Name

分组数据的合计

对报表中的数据进行分组是为了查找报表中每个分组的总计。有多种合计选项可用:求和、计数、最大值、最小值、平均值等。您还可以向报表添加小计。

报表中的合计选项:转到“插入”选项卡→ 选择合计选项。

Grouped Data

Grouped Data1

要更改合计框的格式,请右键点击合计值→ 格式化合计。

Format Total

水晶报表 - 模板

除了从头开始创建报表外,您还可以使用报表存储库中的内置模板。这些报表模板为常见文档(如采购订单、发票、信函模板等)提供预定义的布局。

要从存储库中选择报表模板,请转到“文件”→“新建”→“从Web模板”。

Open Template

Crystal Reports中有两种模板选项:

  • 特色模板
  • 最近使用

您也可以使用搜索工具进行搜索。选择报表模板后,系统将要求您选择数据源。

选择“预览”(在选择数据源之前预览报表模板)→ 设置数据源位置以选择数据源→“目标数据源”面板,“添加连接”图标→ 出现“选择数据源连接”对话框。

从以下选项之一中选择您的数据源连接:

以前的连接 - 此选项允许您使用以前连接的数据源。

浏览存储库 - 此选项允许您从“数据源类型”列表中选择数据源。

按供应商连接 - 此选项连接到按供应商或软件提供商排序的数据源。

点击“完成”。

从“当前数据源”面板中选择一个对象,并将其连接到“目标数据源”面板中的一个对象→ 点击“映射”→ 点击“完成”。

水晶报表 - 插入对象

Crystal Reports for Enterprise中的插入选项允许您在报表级别添加多个对象:图表、交叉表、图片、Flash、子报表等。

添加图形对象

您可以在报表中添加多种格式的图片。如果您想在报表中添加公司徽标、品牌名称等,也可以使用它。

Inserting Object

点击“图片”后,可以选择在报表中插入图片。Crystal Reports支持以下常见的图片格式:

  • jpeg
  • png
  • gif
  • tiff
Pictures Library

它还允许您在报表中插入Flash文件。点击“Flash”后,您可以选择文件路径或直接嵌入Flash文件的链接以添加到报表中。它支持.swf文件类型的Flash文件,因此您可以在报表中添加动态仪表板。

Inserting Flash Element

水晶报表 - 图表

本章将学习图表类型、创建和格式化图表。

图表类型

您可以在Crystal Reports for Enterprise中使用以下图表类型。要插入图表,请转到“插入”→“图表”→ 选择图表类型,然后在“结构”或“页面”选项卡中插入图表。

Chart Types

创建图表和图表布局

您可以在报表页脚中插入图表。从“插入图表”选项中选择图表类型后,您可以将光标移动到报表页脚区域,然后点击要插入图表的位置。

插入图表后,将提供两个选项:数据和显示图表。

Create Chart

“显示图表”选项允许您调整图表大小,在报表页脚区域移动图表(如上所示)。

“数据”选项卡允许您在图表中插入数据。当您转到“数据”选项卡时,它会要求您在X、Y、Z轴上添加值。

Data Tab Chart

右键点击每个轴,然后转到“插入图表类别对象”→ 您可以从下拉列表中选择“选定的元素”→“图表数据对象”、“标题”、“副标题”、“脚注”、“图例”等。

Chart Category

“图表数据对象”允许您选择要传递到图表数据中的属性名称。“标题”、“副标题”和“脚注”允许您向图表添加标题或注释。

格式化图表

右键点击图表后,将提供以下格式化选项:

“格式化图表” - 允许您通过进入高级、外观和深度选项来格式化图表的结构。您还可以通过点击“格式化图表”选项卡中的“图表”选项,从下拉列表中更改图表类型。

Format Chart

“图表突出显示专家”允许您突出显示图表中的特定值。您可以选择不同的颜色来突出显示图表中的值。

“添加条件”→ 选择要在图表中突出显示的属性,如下图所示。

Format Chart1

“编辑图表类型”与“格式化图表”相同,所有选项都类似。

Format Chart2

“编辑图表数据”用于编辑图表中的数据。如果您想更改图表轴上的参数值,您可以点击“编辑图表数据”并更改值。“隐藏”选项用于隐藏图表,“移动”选项用于将图表向后或向前移动。

您可以通过调整图表大小在一个报表或一行中添加多个图表。例如,您可以为不同的值添加条形图和饼图来表示。您将看到第二个图表的“显示图表”和“数据”选项→ 您可以添加所需的对象,还可以向图表添加页眉和页脚注释,如下图所示。

Report Footer

要查看实际报表,请转到“页面”选项卡。

Report

水晶报表 - 交叉表布局

交叉表用于显示按两个方向分组或汇总的数据。它以简洁的格式显示数据,使数据更容易理解和查看趋势。例如,如果您想查看特定区域内每个客户的销售数量,如果没有交叉表,数据将以分散的格式显示。

Cross Tab

您可以通过点击“+”号在行和列中添加多个属性。要删除对象,请点击“X”号。

Cross Tab Layout

点击“插入”后,交叉表将添加到报表的结构中。如果点击页面选项卡,则会在报表中显示交叉表数据。

您还可以编辑交叉表中的单元格。要编辑交叉表属性,请右键单击交叉表,然后您可以更改以下属性:

  • 格式化交叉表
  • 编辑交叉表
  • 排序
  • 隐藏
  • 网格选项
  • 透视
  • 从交叉表创建图表
Cross Tab Properties

交叉表包含行总计、列总计和总计。要将值显示为百分比,请右键单击总计单元格,然后转到“格式化总计”→选择“显示为百分比”。

Crosstab

网格选项允许您对交叉表行进行格式设置,例如隐藏空行、重复行标签、隐藏行总计等,如下图所示。

Grid Options

水晶报表 - 定义公式

公式用于在报表中插入任何对象都不包含的数据。如果需要执行一些计算或在报表中添加特殊数据,可以使用公式。

示例 − (Emp_details.sal)*0.15

常用公式包括:计算、字符串函数(如 UPPERCASE)、日期函数等。

公式在报表中包含两部分:

  • 语法
  • 组件

组件用于创建公式。

Crystal Reports 包含以下类型的公式:报表公式和条件格式化公式。

报表公式在报表中作为独立单元使用。条件格式化公式定义应用报表公式的条件。

水晶报表 - 公式工作区

公式编辑器用于创建各种类型的公式。您可以通过转到“数据”→单击“公式”或单击“数据”工具栏上的“公式”选项卡来打开公式编辑器。

Formula Workshop

在公式编辑器中,有两个面板:导航面板和对象面板。

导航面板包含 Crystal Reports 中每种类型公式的文件夹。

Navigation Panel

对象面板包含 4 个字段:

数据浏览器 - 包含 Crystal Report 中正在使用的对象、公式、参数和运行总计。

结果对象 - 包含可在报表中使用的所有结果对象。

函数 - 包含可在报表中使用的所有内置函数。它还包括自定义函数。例如:Sum、Count、字符串函数、日期函数等。

运算符 - 用于在值之间传递条件。包括:算术运算符、数组、布尔运算符等。

Object Panels

公式编辑器还包含公式文本窗口和公式编辑器按钮。文本窗口用于创建或修改公式,而编辑器面板按钮允许您使用过滤器公式、排序公式、删除等。

创建和修改公式

您可以一次创建单个或多个公式并在报表中使用它们。您还可以删除公式,或在公式文本窗口中搜索和更改公式文本。

创建一个新公式,您可以右键单击“数据浏览器”下的“公式”选项卡。单击新公式→输入公式名称→将打开公式编辑器。

New Formula

您还可以通过从“数据”下的“公式”选项卡打开公式编辑器来创建新公式,方法是:新建→新建公式,如下图所示。

Formula Tab

要在公式文本窗口中编写公式,您可以使用“运算符”选项卡下的正在使用的对象和不同的运算符来在公式中传递条件。

Operator Tab

可以使用页面底部的保存选项保存公式。保存公式后,它将出现在“数据浏览器”选项卡的公式列表中。

Data Explorer Tab

您可以将此公式拖动到报表的任何部分。

Section

在上图快照中,“测试公式”已拖动到报表页脚,并且它在报表页脚中计算的值为“销售数量/2”。

现在要修改公式,请单击“数据浏览器”下的公式名称,这将打开公式编辑器。对公式进行更改,然后使用底部的保存按钮保存更改。这些更改将自动应用于报表值。

要从报表中删除公式,请右键单击公式名称,然后单击“删除”。

Delete Formula

底部的“问题”面板用于调试。它会显示公式中的语法错误。下图中的错误消息指出,带红色下划线的字段作为字段语法未知且不正确。

Problem Error

水晶报表 - 应用布尔公式

Crystal Reports 中的公式可以使用不同的布尔运算符。它们是:

  • AND
  • OR
  • NOT
  • Eqv
  • Imp
  • XOR

所有这些运算符都用于在公式中传递多个条件:

Boolean Operators

当您希望公式中的两个条件都为真时,使用 AND 运算符。其他布尔运算符及其含义如上图快照所示。

使用布尔运算符“AND”:

If {CUSTOMER.CUSTOMER_NAME} [1 to 2] = "AN" and
ToText({CUSTOMER.CUSTOMER ID}) [2] = "4" then
"TRUE"
Else
"FALSE"

使用布尔运算符“AND”和“OR”:

If ({CUSTOMER.CUSTOMER_NAME} [1 to 2] = "AN" and
ToText({CUSTOMER.CUSTOMER ID}) [1] = "4") or
({CUSTOMER.CUSTOMER_NAME} [1 to 2] = "Ja" and
ToText({CUSTOMER.CUSTOMER ID}) [1] = "2") then
"Five star rating CUSTOMER"
Else
"1 star rating CUSTOMER"

Crystal Reports - If Then Else

if-then-else 语句是所有控制流语句中最基本的语句。它告诉您的程序仅当特定条件满足时才执行一段特定的代码。

如果您看到以下带有布尔运算符的 if-then-else 语句,它允许您在公式中传递多个条件,并在条件为真时返回该值。

If({PROJECT.Customer\Customer Name} [1 to 2] = "An" and
ToText({PROJECT.Time\Year}) [1] = "2") or
({Project.Customer\CUSTOMER NAME} [1 to 2] = "Ja" and
ToText({PROJECT.Time\Year}) [1] = "2") Then
"Five star rating CUSTOMER"
Else
"1 star rating CUSTOMER"

此语句表示,当任何条件为真(OR 运算符之前和之后),则打印“五星级客户”,否则打印“一星级客户”。

此公式已保存,然后添加到“结构”选项卡下的报表主体中,如下图所示:

Structure Tab

Structure Tab1

报表中添加了一个新列,其中包含如“测试公式”中所述的客户评级。

水晶报表 - 应用计算

计算公式用于在 Crystal Reports 中执行数学计算,它们可以在公式编辑器中设计。

算术运算符用于在编辑器中设计计算公式。可以使用不同的算术运算符进行加、除、指数、乘等运算。

Arithmetic Operators

要在公式中应用计算,请将对象从对象面板拖动到公式文本面板,并使用运算符执行所需的计算。保存完公式后(使用底部的保存选项),此公式将保存在“数据浏览器”中的“公式”选项卡下。

Formula Tabs

然后,您可以将公式拖动到报表结构中,并转到“页面”选项卡以查看报表中的计算数据。

Calculated Data Report

算术运算符列表(从最高优先级到最低优先级):

  • 指数运算
  • 否定
  • 乘法、除法和百分比
  • 整数除法
  • 取模
  • 加法和减法

水晶报表 - 条件格式化

要编写条件格式化公式,请右键单击报表,然后单击“格式化结果对象元素”→选择要应用条件公式的属性→单击,这将打开公式编辑器。

在公式文本面板中编写公式,保存并关闭。

Conditional Formatting

在此示例中,如果可以将大于 60000 的总价打印为绿色,小于 60000 的打印为红色,则可以在公式编辑器中传递此条件。

Formula Example

Formula Example2

在此示例中,使用了 crGreen、crRed、crBlack。您也可以使用颜色常量的实际数值。

有三个常见的条件格式化函数:

  • CurrentObjectValue
  • DefaultAttribute
  • GridRowColumnValue

DefaultAttribute 可用于任何格式化公式;CurrentObjectValue 用于格式化对象值的任何格式化公式;GridRowColumnValue 可用于在交叉表中格式化对象值的任何格式化公式。

水晶报表 - 创建变量

变量用于为对象分配不同的值,这与固定的常量不同。为变量赋值后,它会保持该值,直到您为其赋予新值。在使用变量之前,必须先在报表中定义它们。

在 Crystal Report 中声明变量时,需要为其命名,但是此名称不应与任何其他函数、运算符等相同。变量可以是数字类型、字符串类型、日期类型、布尔类型、范围类型或数组类型。变量只能保存单一类型的值,例如,如果将其声明为数字,则以后不能将其用于保存字符串值。

定义变量

Local Stringvar Customer_Lastname
Local numbervar Sales_percentage

声明变量的关键字在末尾有“var”,所有变量类型都是如此。您还可以在声明时或在单独的语法中为变量赋值。

Local NumberVar Z; //Declare Z to be a Number variable
Z := 30;           //Assign the value of 30 to Z

要在公式中使用变量,需要定义其作用域。变量作用域可以分为三种类型:

  • 局部
  • 全局
  • 共享

这定义了在一个公式中的变量可以在其他公式中使用。

局部变量

局部变量使用 local 关键字声明,后跟类型,然后是变量名,如上例所示。

局部变量仅限于单个公式。这意味着您无法从不同的公式访问一个公式中局部变量的值。

//Formula 1
Local NumberVar Z;
Z := 30;

//Formula 2
EvaluateAfter ({@Formula A})
Local NumberVar Z;
Z := z + 5;

在上例中,公式 2 将返回 5,因为 Z 在公式 1 中声明为局部数字变量,因此公式 2 将采用变量 Z 的默认值。

全局变量

全局变量用于整个主报表。其值可用于声明该变量的所有公式,子报表除外。

Global StringVar Z;

建议仅当局部变量不足时才使用全局变量。

由于全局变量在整个主报表中共享其值,因此您不能在一个公式中声明一个全局变量为一种类型,然后在另一个公式中声明一个同名全局变量为另一种类型。

共享变量

共享变量用于整个主报表及其所有子报表。共享变量比全局变量更通用。

要使用共享变量,请在主报表中的公式中声明它:

Shared NumberVar Z := 10;

要使用共享变量,必须先声明它并为其赋值,然后才能在主报表和子报表中使用它。

水晶报表 - 创建数组

Crystal Report 中的数组变量可以使用关键字“Array”定义。

Global NumberVar Array Z := [1, 2, 3];

您还可以为数组的元素赋值,这些值可用于公式中的计算。例如:

StringVar Array Z := [“Hello”,”World”];
Z[2] :=[“Bye”];
UpperCase (Z [2] )

此公式将返回字符串“Bye”。

您还可以使用 Redim 和 Redim Preserve 关键字调整数组大小。Redim 用于在调整数组大小时删除数组的先前条目,而 Redim Preserve 用于保留先前的数组值。例如:

Local NumberVar Array Z;
Redim Z [2]; //Now Z is [0, 0]
Z [2] := 10; //Now Z is [0, 10]
Redim Z [3]; //Now Z is [0, 0, 0], Redim has erased previous Array values.
Z [3] := 20; //Now Z is [0, 0, 20]
Redim Preserve Z [4]; 
//Now Z is [0, 0, 20, 0], Redim Preserve has contained previous Array values.
"finished"

带循环的数组

数组也与循环一起使用:如 For 循环。

Local NumberVar Array Z;
Redim Z[10];
Local NumberVar x;
For x := 1 To 10 Do
(Z[x] := 10 * x);
Z [5] //The formula returns the Number 50

水晶报表 - 参数

参数用于在生成报表之前获取用户输入。用户必须在生成报表之前回答提示,并且报表输出取决于用户对参数值的响应。

通过在公式和报表中使用参数,您可以创建一个根据不同用户的需求而变化的单个报表。

可以使用LOV在参数中输入提示值。LOV可以是静态的也可以是动态的。它们也可以用作单级动态提示或多级提示。

注意 − Crystal Reports中的参数可以在从数据库检索后用于筛选器。

级联参数

具有依赖关系的参数组合在一起,称为级联参数。级联参数允许您将两个或多个参数组合到单个组中。

继承的参数

参数也可以在Universe级别或查询面板中创建,稍后可以继承到Crystal Reports中。它们被称为继承参数。这些参数可以在报表级别删除,但不能在报表中编辑。这些参数只能在其创建位置进行编辑。

参数数据类型

Crystal Report中的参数支持以下数据类型:

  • 数字
  • 字符串
  • 日期
  • 时间
  • 日期时间
  • 货币
  • 布尔值
  • 成员

使用参数时要记住的重要事项:

  • 要在公式中使用参数,无需将其放在报表中。参数可以在公式中像其他对象一样使用,并且可以在公式工作区中创建。

  • 参数可以与静态或动态LOV一起使用。

  • 您还可以创建一个值列表,用户可以从中选择参数值,而不是手动输入。

值列表类型

类型 描述 何时使用
静态LOV 提供基于您在报表中添加或导入的值的简单列表
  • 使用不会更改的数据
基于报表数据的动态LOV 提供来自数据源的动态列表
  • 从数据库检索数据后过滤数据。
  • 交互式过滤报表数据,无需访问数据库。
  • 在数据源(例如Universe或BEx查询)中不存在LOV的情况下创建LOV。
Universe LOV 提供在Universe中创建和维护的列表。
  • 创建由Universe管理员管理的可重用值列表。

如何创建参数?

在“数据资源管理器”视图中,右键单击“参数”区域内的任意位置→选择“新建”→“新建参数”

Parameters1

将出现“创建参数”对话框→输入参数名称(最多255个字母数字字符)。在对话框中,您可以更改参数的名称和类型以及其他属性。

从列表中选择适当的数据类型→例如字符串、数字或日期等。

Create Parameter

在“提示文本”框中,输入所需的提示文本(最多255个字母数字字符)。

例如 − “选择名称”

预览报表或刷新页面区域中的数据时,此文本将出现在提示对话框中。

要创建值列表,请单击省略号按钮→将出现“编辑值列表”对话框→输入您希望在提示时看到的值→您可以为字符串类型添加国家/地区列表,或为数字类型添加值列表→单击“确定”→返回“创建参数”对话框→单击“确定”并将参数拖动到您的报表中。

Edit Values

Edit Values1

Customer Details

将参数拖动到报表结构后,您可以转到页面选项卡以查看刷新报表数据时选择的LOV。

水晶报表 - 过滤器

筛选器用于根据用户的要求限制Crystal Report中的记录。筛选器根据对象、运算符和参数应用。

如何在报表中创建交互式筛选器?

转到顶部的“数据”选项卡→“交互式筛选器”

Filters

单击“添加筛选器”→从筛选器中选择第一个对象→选择运算符→选择参数

Add Filter

下拉列表将显示为报表创建的所有参数列表。要编辑参数,可以单击末尾的省略号按钮。

Ellipsis Button

选择参数后,单击“确定”。如果您在参数中选择了值列表,它将要求您从下拉列表中选择一个值→选择值→确定

选择保存的数据或刷新数据→报表现在仅显示筛选数据。

Saved Data

要添加多个交互式筛选器,可以使用“AND”和“OR”运算符。

删除交互式筛选器

转到“数据”选项卡→“交互式筛选器”→选择要删除的筛选器→单击删除按钮

Delete Filter

水晶报表 - 提示面板

创建参数时,可以使用两种类型的提示选项。

  • 提示用户将创建一个提示,供用户输入参数的值。

  • 隐藏提示将用于通过公式而不是用户传递一些初始值或值。

Prompt Panel

在“提示”面板中使用“提示用户”选项时,您需要输入“提示文本”。“提示”面板为您提供三个选项:

  • 不显示提示 − 它不提供在报表级别更改值的选项。

  • 显示为可编辑提示 − 它提供每次输入不同值的选项。

  • 显示为只读提示 − 它提供以只读模式查看值的选项。

隐藏提示用于通过公式传递初始值或值。

Hidden Prompt

要传递初始值,请单击函数按钮之前的省略号按钮。单击此按钮后,它会要求您输入参数的值。输入值并单击“确定”后,该值将保存在隐藏提示中。

Add a Value

要添加值,请键入值并单击“添加”。将参数拖动到报表后,该值将显示在报表中,如上图所示。

水晶报表 - 级联提示

级联参数组允许您将参数排列到组中,从而提供一系列过滤后的选择。

例如,如果您要提示城市值,但您还需要知道该城市来自哪个国家/地区和区域,则可以创建一个级联参数组。在这种情况下,您首先提示国家/地区,选择该值后,程序会通过仅显示适用于所选国家的区域来提示区域。最后,选择区域值后,程序会通过仅显示适用于所选区域的城市来提示城市。通过这种方式,您可以为用户提供易于管理的城市列表,并确保用户选择正确的城市。

如何创建级联参数组?

转到“数据资源管理器”→“参数”→“新建”→“新建级联参数组”

New Cascading Parameter

出现“创建参数组”对话框→输入参数组的名称→输入提示文本,如下面的图像所示。

Create Parameter Group

现在单击值列中的第一个空行,它将向您显示列表中所有可用的对象。从列表中选择国家/地区→选择国家/地区下方的空行并选择区域→确定

现在将国家/地区参数拖动到报表中。它将提示您输入国家/地区名称。选择国家/地区名称后→它将提示您选择区域名称。

Country Parameter

将区域名称拖动到报表中。

水晶报表 - 创建参数字段

在“数据资源管理器”视图中,右键单击“参数”区域内的任意位置→选择“新建”→“新建参数”

Create Parameter Field

将出现“创建参数”对话框→输入参数名称(最多255个字母数字字符)。在对话框中,您可以更改参数的名称和类型以及其他属性。

从列表中选择适当的数据类型→例如字符串、数字或日期等。

Create Parameters

创建允许多个值的参数

在“数据资源管理器”中→右键单击“参数”→选择“新建”→“新建参数”

在“创建参数”对话框中,输入参数的名称。

从列表中选择适当的数据类型→输入提示文本→将“允许多个值”设置为“True”。

现在,提示时,您可以指定要为参数输入的多个值。

Dialog Box

Data Set

指定离散值或范围值

对于值范围的类型,选择“离散”或“范围”。

如果选择“离散”,则参数将接受离散值(而不是值范围)。

如果选择“范围”,则会提示您输入参数值。您可以输入起始值和结束值。例如,如果您输入值“1”和“10”,则范围为1-10,使用此参数进行筛选的报表将显示所有值介于1和10之间的记录。这也适用于字符串参数。起始值为“A”且结束值为“H”,使用此参数进行筛选的报表将显示字母范围为A-H内的所有记录。

Range Values

如果选择了“允许多个值”和“离散选项”,则参数将接受多个离散值。您可以输入多个值,但这些值将分别进行评估,不会解释为范围。如果选择了“允许多个值”和“范围选项”,则参数将接受多个范围。

水晶报表 - 编辑参数字段

将参数拖动到报表后→要编辑参数字段,请右键单击参数名称并转到“编辑参数”。

Edit Parameter Field

单击“编辑参数”后,将打开“编辑参数”窗口。

您也可以通过双击参数名称来编辑参数。

删除参数字段

转到“数据资源管理器”视图→展开“参数”,然后右键单击要删除的参数。

选择“删除”。

Delete Parameter Field

动态参数

您可以使用动态LOV创建参数以从数据源检索数据。例如 − 当数据库中的客户名称频繁更改时,您可以创建动态LOV。

如何使用动态LOV创建参数?

打开您的报表→“数据资源管理器”面板→右键单击“参数”并选择“新建参数”。

将出现“创建参数”对话框。

输入参数名称(最多255个字母数字字符)→要创建值列表,请单击“编辑值列表”按钮。

将出现“编辑值列表”对话框→在“列表类型”区域中,选择“动态”。

在“值”组合框中,从列表中选择“客户名称”。

Edit List of Values

您可以按升序或降序对LOV进行排序→单击“确定”。

在“提示文本”对象中,输入所需的提示文本(最多 255 个字母数字字符)→在提示对话框和交互面板中显示的文本。默认值为“输入 (参数名称)” → 点击“确定”。

将参数拖动到报表中。

Current Data Set

水晶子报表 - 概述

子报表允许您将不相关的报表组合成一个报表。它是在报表中的报表。您可以组合无法链接的数据,并在单个报表中呈现同一数据的不同视图。

子报表和主报表的区别:

  • 它用作主报表中的一个元素,不能用作单个报表。

  • 子报表不能包含其他子报表。

  • 它可以放置在任何报表节中,整个子报表将在此节中打印。

  • 它没有页眉或页脚节。

未链接的子报表

未链接的子报表是独立的报表,它们的数据与主报表中的数据无关。未链接的子报表不必使用与主报表相同的数据;它可以使用相同的数据源或完全不同的数据源。无论底层数据源如何,这些报表都被视为不相关的。

已链接的子报表

已链接的子报表使用与主报表中的数据协调的数据。程序将子报表中的数据与主报表中的数据匹配。如果您创建包含客户信息的报表和包含订单信息的子报表,然后将它们链接,则程序将为每个客户创建一个包含其所有订单的子报表。

子报表可以使用数据传递链接或子报表筛选器进行链接。

插入子报表

您可以在主报表中插入新的报表或现有的报表作为子报表。子报表具有与主报表类似的特性。子报表中使用的数据源必须与主报表中使用的数据源相似,并且还必须位于同一 BI 存储库中。您也可以选择不同的源连接,但它必须具有与主报表链接的字段。

子报表不能插入到另一个子报表中。子报表可以放置在任何报表节中,整个子报表将在此节中打印。但是,子报表不能独立存在。它总是作为元素插入到主报表中。

格式化子报表

如何将子报表插入主报表?

转到“插入”选项卡,单击“子报表”→程序将显示一个元素框架。

Subreport

将光标移动到要在报表中显示的位置,然后单击以放置它。

将出现“插入子报表”对话框 → 选择创建新报表 → 在“报表名称”文本框中键入报表的名称。(您也可以插入现有子报表)。

New Subreport
选项 描述
使用主报表数据源
  • 将出现“编辑查询”页面

连接到新的数据源
  • 将出现“选择数据源连接”对话框

  • 选择数据源,然后单击“下一步”

  • 将出现“编辑查询”页面

从“数据连接”区域中选择一个选项,然后单击“下一步”。如果您选择“使用主报表数据源”,它将打开“查询”面板以在报表中添加对象。

Edit Query Project

如果您选择连接到新的数据源,它将打开“新建数据源连接”窗口,您可以从中选择新的数据源。

选择新的数据源后,您需要定义主报表和子报表之间的关系。

Subreport Links

单击“下一步”后,它将提示您选择子报表类型,例如详细报表、图表、合计或自定义报表。

Insert Subreport

单击“完成”→它将显示在主报表的结构中。如果您单击“页面”选项卡,它将显示主报表中子报表的数据。

Subreport Reports

要插入现有报表作为子报表

在“插入”选项卡上,单击“子报表”→程序将显示一个元素框架。

将光标移动到要在报表中显示的位置,然后单击以放置它。

将出现“插入子报表”向导 → 选择“使用现有报表”,然后单击“浏览”。

Existing Subreport

将出现“打开”对话框 → 选择要使用的报表,然后单击“打开”→单击“下一步”。

如果您选择的报表包含参数,则会显示“数据传递链接”页面。

设置相应的链接,然后单击“下一步”。将出现“创建子报表筛选器”页面 → 通过单击“添加”创建主报表和子报表之间的链接 → 单击“完成”。

您选择的报表将作为子报表添加。

将子报表另存为主报表

您还可以将子报表另存为主报表。

右键单击子报表框架,然后单击“将子报表另存为”→“另存为”。

Save Subreport

键入子报表的新名称→单击“保存”。

子报表将另存为主报表,您可以打开并使用它。

编辑子报表的属性

将子报表插入主报表后,您可以编辑其属性。要格式化子报表,请:

右键单击子报表框架,然后单击“格式化子报表”。

Format Subreport

将出现“格式”对话框 → 编辑值。

例如,您可以更改子报表的名称,编辑字体、大小、颜色等。

单击“关闭”。

要组合两个不相关的报表

创建要首先打印的报表作为主报表。

创建一个新的子报表。

将子报表放置到报表页脚中,它将紧随主报表之后打印。

Report Footers

创建按需子报表

当您想要创建包含多个子报表的报表时,按需子报表尤其有用。

常规子报表和按需子报表之间的区别在于,按需子报表的实际数据只有在用户将其隔离后才会从数据源中读取。这样,只有实际查看的按需子报表的相关数据才会从数据源中检索。这使得子报表更易于管理。

要创建按需子报表:将普通子报表放置到主报表中。右键单击子报表,然后单击“格式化子报表”。单击“子报表”选项,然后选择“按需”。

Subreport on Demand

水晶报表 - 数据导出概述

已完成的 Crystal Reports 报表可以导出为多种格式,例如 XML、HTM、PDF、电子表格和文字处理器以及其他常见的数据交换格式。这使得 Crystal Report 能够轻松使用和分发。

例如,您可能希望使用报表数据来增强桌面出版软件中数据的呈现效果。导出过程要求您指定格式和目标位置。格式确定文件类型,目标位置确定文件的位置。

在页面模式下,单击“文件”→“导出”,然后从列表中选择导出格式。

将出现“导出选项”对话框。选择导出选项。

Dataexport

单击“确定”→您还可以将格式设置为默认选项。

Default Options

在出现的“导出目标”对话框中,执行以下操作之一:

  • 单击“保存到文件”,然后在“导出报表”对话框中输入报表标题以保存导出的报表。

  • 单击“保存到应用程序”,以便在所选应用程序中打开报表而不保存它。

Crystal Reports - 数据导出到 Excel

有不同的 Excel 选项可用于导出 Crystal Report 的数据。

Microsoft Excel (97-2003) 纯数据

Microsoft Excel (97-2003) 纯数据是一种基于记录的格式,专注于数据。此格式确实导出大部分格式,但是,它不合并单元格,并且每个元素仅添加到一个单元格中。

此格式还可以将某些汇总作为 Excel 函数导出。支持的汇总包括 SUM、AVERAGE、COUNT、MIN 和 MAX。

Microsoft Excel

Microsoft Excel 工作簿 纯数据

Microsoft Excel 工作簿 纯数据是一种基于记录的格式,也专注于数据。此导出格式是对现有 Microsoft Excel 工作簿 纯数据导出类型的增强。

此格式的导出结果为 XLSX 文件。XLSX 文件格式由 Microsoft Excel 2007 及更高版本引入并支持。Microsoft Excel 工作簿 纯数据格式消除了以前 XLS 文件格式的限制,大约为 65536 行和 256 列。

Microsoft Excel Workbook

Microsoft Excel (97-2003)

Microsoft Excel (97-2003) 基于页面的格式会将报表内容逐页转换为 Excel 单元格。来自多个页面的内容将导出到同一 Excel 工作表。

如果工作表已满并且还有更多数据要导出,则导出程序将创建多个工作表以容纳数据。如果报表元素覆盖多个单元格,则导出程序将合并单元格以表示报表元素。

Microsoft Excel 的工作表中最多有 256 列,因此添加到超过 256 列的单元格中的任何报表元素都不会导出。此导出格式保留了大部分格式,但不导出报表中的线条和框元素。

Microsoft Excels

限制

Crystal Reports for Enterprise Java 运行时引擎不支持报表中嵌入的所有元素。例如,不支持 OLAP 网格和地图元素。

字符渲染

Crystal Reports for Enterprise 和 Crystal Reports 2013 的字符渲染技术不同。这意味着每个单个字符的大小可能略有差异(1 像素),随着时间的推移累积起来会创建额外的行或列。

Crystal Reports - 数据导出到 XML

XML 格式主要用于交换报表中的数据。它使用 Crystal XML 架构。

Manage XML Format

Crystal Reports 中的 XML 专家可用于自定义 XML 输出。

Crystal Reports - 数据导出到 HTML

将 Crystal Reports 导出为 HTML 格式可以轻松访问和分发报表数据。它允许您在许多常见的浏览器(如 Firefox 和 MS Internet Explorer)中访问您的报表。

HTML 4.0 格式还通过使用 DHTML 保存报表的结构和格式。报表中的所有图像都保存在外部,并在导出的 HTML 输出中插入超链接。此导出格式在输出中生成多个文件。

Data Export to HTML

转到“文件”→“导出”,然后从列表中选择“HTML 4.0”。将出现“导出选项”对话框。从“基本目录”文本框中选择“基本目录”。单击“确定”。

将打开“导出目标”对话框。在“导出目标”对话框中,执行以下操作之一:

  • 单击“保存到文件”,然后在“导出报表”对话框中输入报表标题以保存导出的报表。

  • 单击“保存到应用程序”,以便在所选应用程序中打开报表而不保存它。

Base Directory

如果选中“单独 HTML 页面”复选框,则整个报表将被分成单独的页面。初始 HTML 页面将保存为 <报表名称>.html。如果要通过 Web 浏览器查看报表,则打开此文件。

Export Options

Crystal Reports - 数据导出到 CSV

它将报表元素导出为由您指定的隔断符和分隔符字符分隔的一组值。当使用逗号 (,) 分隔元素时,该格式称为逗号分隔值 (CSV)。

此导出格式在 Microsoft Excel 用户中很流行。它为报表中的每个记录创建一行值,还包含报表的所有节,如页眉、组页眉、主体、组页脚、报表页脚和页脚。

Separated Values

此格式无法用于导出包含交叉表(交叉表报表)的报表。它也无法用于导出在页眉或页脚部分包含子报表的报表。

水晶报表 - 数据导出到 RTF

RTF 格式是基于页面的格式,但它不会保留输出中的所有结构和格式选项。Microsoft Word 格式和富文本格式都会生成 RTF 文件作为输出。

此格式旨在用于应用程序,例如填写表格,其中输入文本的空间被保留为空文本对象。此导出格式几乎保留了所有格式。

RTF

导出的文件包含绘图对象和文本字段,用于显示报表中的对象。

富文本格式 (RTF) 和 Microsoft Word (RTF) 格式相同。

广告