文档库 最新最全的文档下载
当前位置:文档库 › Pentaho_Report_Designer

Pentaho_Report_Designer

目录

Report Designer (1)

1. 快速入门 (1)

2. 用户接口 (12)

3. 报表向导 (17)

4. Data Sets (22)

5. 图形化报表元素 (22)

Report Designer

This page last changed on Nov 29, 2006 by mdamour.

1. 快速入门

This page last changed on Nov 29, 2006 by mdamour.

这章显示了如何创建一个简单的报表,并解释了底层报表模型的最小背景。如果你想了解单独部

分的详尽描述,可使用提供的链接。

系统需求

Windows XP Professional,Mac OSX 10.4.6,Linux SUSE,RedHat Linux

需要1.5.0_06 Java Runtime Environment (JRE)

安装

1. 为了安装,将内容解压进一个文件夹。

2. 在被创建的ReportDesigner 文件夹,点击适合于你的操作系统的startdesigner.* 文件。

Report Designer

当你启动Report Designer 时,你会看到默认的workspace,其被分割成 5 个主要区域。在屏幕中间,有一个很大的白色区域,其表示生成报表的主要工作区域。在左边,有一个名为

'1Palette'1 的toolwindow,此处列出的所有图形元素均可用于报表中。在右边是 2 个toolwindows,上边的叫'1Structure'1,此处你可看到报表的层次化表现,下面是一个名为properties 的toolwindow,此处可调整目前可用选择的设置。最后是一个名为messages 的

toolwindow,此处会显示有用信息,提示警告或,最重要的,你当前报表定义的错误。

数据模型

一个报表通常包含数据库以表格形式提供的数据,以及定义了如何格式化或打印报表的报表定义。

表 1.1. Sample Data

列用一个唯一的列名进行标识,其具有某一datatype。在上面的实例中,FIRST_NAME 是一个列标识符,String 是这列的datatype。

为了简单期间,在Report Designer 中提供了一个数据库,其中有可进行操作的有用数据。在这第一步中,将配置sample dataset。如果你还没有启动Report Designer,并想进入下

一节的话,那么请现在就启动Report Designer。

添加Sample Dataset

在Structure toolwindow 中,在"Data Sets" 节点上点击鼠标右键,打开弹出式菜单,添加"Sample Dataset"。

打开一个窗口,此处可配置dataset 中使用的查询。当使用sample dataset 时,会自动

插入一个默认的查询。目前不要修改这个查询,因为这个查询获取的数据用于描述quickstart

章节中的以下步骤。

客在此处购买一些DVDs。

示了可用的列和每列的datatype。你可点击Configure 按钮改变一个dataset 的配置。

现在正确设置和安装了dataset,可继续定义报表的外观了。

报表定义

报表定义就是你在图形化的Report Designer的主要区域所构造的东西。这个定义告诉报表引擎将每个field 放在报表的何处。报表定义包含几个名为bands 的区域,这样的bands 可能包含一个report header,一个page header,item band 和其他。

下图表示可能出现在页面上的一个schematic 报表:

下图中,所有报表中可用的标准bands 均用不同的颜色进行标识。

红色:page header band。这个band 通常打印在每页的顶部。

绿色:report header band。当启动报表时,打印这个band 一次。

蓝色:item band。对于数据表中每个可用的行,均打印这个band。

青绿色:report footer band。在报表的最后,打印这个band 一次。

橙色:page footer band。在每页的底部,打印这个band 一次。

在Report Designer 中,相同的bands 用相同的颜色进行标识。注意bands 在左部有一个label,描述了这个band 用于什么。

提示

如果你将一个band 调整的很小,你可能就不能看到描述性的label。在这种情况下,你可将鼠标停留在label 上,就会出现一个有文本的提示。

注意

也可有多个group header 和group footer bands。

创建报表定义

在第一步中,我们将在报表上添加一个静态的title label,其应该在报表的第一页上打印一次。因此我们将把这个label 添加进report header band。这个label 不依赖于我们的sample dataset 传递的数据,因此,它也被称作一个静态label。

从Palette toolwindow 选择"Label" 报表元素,通过点击鼠标键,将label 拖拉到report header band,并释放鼠标按键。

label 被添加进report header band 后,就被自动选中。你可使用鼠标到处移动label,或通过拖拉一个handle 来重新调整label 的大小。

你可使用Properties toolwindow 来调整使用中的文本和字体。将文本改成"Sales Report",

字体改成"Dialog 24 Bold"。

如果你没有大量的改变label 的大小,可能会在Messages toolwindow 中出现一个警告,告诉你label 不足以显示文本。使用鼠标重新调整label 的大小,直到label 有足够的空

间显示内容。注意一旦label 有一个合适的大小,警告信息就会立即被删除。

report header band 应该如下图所示:

现在报表定义已经有效了,尽管很小,但可预览。现在点击报表定义区域下面的Preview 按钮。

在启动了报表引擎后,你就会看到一个类似于最终报表的预览,但是仅仅局限于你在dataset 中可配置的有限行的数据。启动过程一次完成,预览的随后调用也几乎是瞬时的。你可通过Design 按钮返回重新设计。

现在我们将把textfields 添加进最终显示sample dataset 中的选定数据的地方。动态用数据填充的报表元素有suffix field。

从palette Drag&drop 四个Text Fields 到item band。报表定义应该如下图所示:

Messages toolwindow 现在显示了几个关于未定义的fields 的警告。每个textfield 应该显示

sample dataset 的一列,因此我们需要在Properties toolwindow 中设置每个textfields 的"Field Name" 属性以匹配dataset 中的一列。

你现在可以预览报表,并可随意使用不同的字体,背景色,线条和额外的静态labels 定制报表定义。

以下章节显示了如何通过引入函数创建所有交易的总数额。

函数

函数是定制程序,它可依赖于报表中的其它可用值返回一个值。函数可使用dataset 中的可用值,或另一个函数的返回值。这可用于计算总数额,平均值,最小值,最大值或为另一行隐藏label 或rectangle。函数也可用于收集创建图表的值,或将dataset 中的值格式/转化成另一种datatype。函数很灵活,使一切成为可能。

在以下章节中,我们将展示如何计算所有已卖出商品的总数额。

添加Total Sum

通过选择"Reporting Functions" 节点,函数可被添加进Structure toolwindow。Properties toolwindow 中列出了所有可用的函数,并在一个提示中列出了简短描述。

Function to Report 按钮。

首先,我们必须告诉函数哪个field 应该用于计算sum,作为第二属性,我们必须设置函数的名

字。这很重要,因为要通过这个名字来访问sum 的值。注意直到你设置了名字,不然在messages

toolwindow 中会显示一个错误。只要在这个toolwindow 中显示了一个错误,就不可能预览一个

报表。我们将PRICE 设置为用于计算sum 的Field,使用PRICE_SUM 作为函数的名字。不

要改变Dependency Level 和Group 的值。

现在我们必须在报表的某处显示这个值。为了这个目的,我们最好在report footer band 添加一个Text Field,将Text Field 的Field Name 属性设置为PRICE_SUM (函数名)。

现在你可以预览报表,它应该如下图所示:

在打印了最后一项后,才打印sum。通常你可根据你的喜好调整报表定义。

Report Groups

迄今为止,我们拥有的报表定义的结构已经很好了,但是对于每个顾客,我们可能想合并一些项,并单独得根据每个顾客来计算sum。这可通过一个名为分组的概念来完成。在以下章节中,我们展示了如何根据顾客分组数据。

添加Customer Group

在Structure toolwindow 中,可以如下添加组:选择"Groups" 节点,打开弹出式菜单,从菜单选择"Add Group"。

一个group merges 或groups 一个组中所有具有相同值的consecutive items。每次启动一个新组,打印这个组的group header band。每当一个组结束,打印group footer band。

当你查看我们当前报表的预览时,我们可能希望group 起始于名为"Erik Brown" 的第一项,结束于"Erik Brown" 的最后一项,然后开始一个新的组"Hans Meiser" 等。

为了完成这个,我们必须告诉组应用于fields FIRST_NAME 和LAST_NAME。(FIRST_NAME 不是足够的,因为有"Hans Meiser" 和"Hans Müller"),因此我们如下图所示设置组的Group Fields:

而且,给组起一个有意义的名字很有用。在这个实例中,我们将使用CUSTOMER_GROUP 作为名字。

当你在Structure toolwindow 扩展组时,你可看到可用的group header band 和group footer band。这些bands 还没有出现在图形报表定义区域。为使他们出现,仅仅在Structure toolwindow 中选择这两个bands,并打开Show In Layout GUI 属性:

现在你可看见group header band 在item band 之上,group footer band 在item band 之下。打印的时候也是如此排列。

为了有效的使组起作用,我们将FIRST_NAME 和LAST_NAME Text Fields 移到group header。为了完成这个,你可删除现有的fields,在group header 创建新的,或你可剪切/粘贴他们。你可完成这个,通过同时选择这两个fields,在图形化视图或Structure toolwindow 中,通过压住键盘上的CTRL键并用鼠标选择fields。

现在你可在group header band 上右击选择paste:

bands 应该如下所示:

为每组添加total sum 几乎和之前一样:

在Structure toolwindow 中选择Report Functions 节点

选择ItemSumFunction,并把它添加进报表

输入PRICE 作为Field,CUSTOMER_GROUP 作为组,CUSTOMER_PRICE_SUM 作为函数名

在group footer band 上添加一个Text Field,将Field Name 设置为

CUSTOMER_PRICE_SUM。

这就是全部的操作了!现在你有一个报表,其为每个顾客sums total sales 并计算

total sum。现在可如你所愿可视化的扩展报表定义。

在一些调整后,添加了一些labels 和几条线后,最终的报表如下所示:

如果你想通过几步点击就可以达到相同的效果,请看wizard 一章。

2. 用户接口

This page last changed on Nov 29, 2006 by mdamour.

这一章描述了Report Designer 的所有用户接口元素。大多数函数和可用操作被设计得易于使用和易于理解,这一章提供了一些更高级的函数来定制用户接口。

当开始启动Report Designer 时,显示如下的用户接口。

主窗口

菜单条& 工具栏& 命令

菜单条包括用户可在Report Designer 中可调用的大多数命令。下一节提供了主要可用菜单项的简短概览:

命令有时依赖于Report Designer 的当前状态,如当前选择,剪贴板的可用内容。如果没有确保一个命令成功执行所需的所有必要信息,命令或者disabled,或者将显示一条信息,解释为何此时不能调用这个命令。在这种情况下,调用命令是不可能的,灰化显示。也禁止键盘快捷

方式调用命令。

表 2.1. 主菜单

报表定义区域是Report Designer 的中心部分。它用于图形化的构建和预览报表。下图显示了报表定义区域中的bands 之一。

点击Band Description 使得band 接收输入。调用命令,如Select All 或Paste 将在这个band 的上下文中。当前选择不被这个action 所改变。点击Page Border 将选择这个band,并使得band 接收输入。

点击Band Content Area 将使得band 接收输入,并可能选择光标下的元素。

通过在Band 分割线上托拉鼠标,你可调整band 的大小,这对于生成的报表并没有任何效果。仅仅为了设计报表时的方便性:

通过在元素上点击鼠标选择band 的元素部分。如果在鼠标光标下有多个重叠元素,你可重复点击相同的点,选择将cycle through 可能的元素。通过压住你键盘的CTRL 键,你可选择多个元素。

双击text 元素,启动inline editing 模式。你可在textfield 中直接输入文本。你可离开这个inline 编辑模式,通过点击Enter 接受你所做的改变,或通过点击Escape 取消你所做的改变。点击元素之外的区域也将取消inline 编辑模式,不接受你的改变。

通过点击鼠标右键,出现一个弹出式菜单,其有大多数常用命令,如copy/paste。

Toolwindows

一个Toolwindow 是接口的一部分,其分组相关的控制元素。在Report Designer 中有4个内置的可用toolwindows。

Palette Toolwindow

Structure Toolwindow

Properties Toolwindow

Messages Toolwindow

Toolwindows 可用鼠标重新调整大小,可通过点击Toolwindow control 按钮完全隐藏。通过在toolwindow control 按钮上点击鼠标右键,你可将Toolwindow 移到屏幕的另一端。

Palette Toolwindow

Palette toolwindow 存储了可用于添加进一个报表的所有可用图形报表元素。你可将元素从palette 拖拉进报表定义区可用的bands 之一,通过在palette 的一个元素上点击鼠标右键,将鼠标托拉进band,释放鼠标按钮:

Structure Toolwindow

Structure toolwindow 显示了添加进一个报表的所有可视和非可视的报表元素:

Report:这个节点是当前报表中所有可用的可视的和非可视的报表元素。

Data Sets:这个节点下是所有当前可添加进报表的datasets。

Report Functions:报表中所有可用的函数。

Page Header:添加进page header band 的所有可视元素。

Report Header:添加进report header band 的所有可视元素。

Item Band:添加进item band 的所有可视元素。

Report Footer:添加进report footer band 的所有可视元素。

Page Footer:所有可添加进page footer band 的可视元素。

No Data Band:所有可添加进no data band 的可视元素。

Watermaark:所有添加进watermark band 的可视元素。

Groups:具有子组和可视元素的所有组。

所有这些列出的报表元素都是强制的,在一个报表定义中仅能出现一次。因此这些元素不能被删

相关文档