Pentaho 简明教程

Pentaho - Functions

报表的每一页都包含一个 Page-header 区域和一个 Page-footer 区域。其余页面可供实际报表内容使用。

页脚选项卡用于显示一些属性和功能。例如,我们可以打印页脚中员工年龄字段的最大值。报表引擎允许通过使用功能实现这些功能。

让我们使用我们在前几章中使用的相同的 employee 表。将所有字段添加到报表工作区后,我们现在在页脚选项卡中添加一个函数来找出员工的最大年龄。

按照以下步骤将一个预定义函数添加到您的报表中。

Step 1 - Click the Function Button (fx)

查看以下屏幕截图。此处,结构窗格中的“数据”选项卡包含一个符号 fx(标记为“ 1 ”)。它是“添加”功能按钮。单击此按钮可向报表中添加不同的函数。

page footer

Step 2 - Select a Particular Function

然后,您将会找到一个对话框,其中包含按不同组隔离的不同函数。若要打印页脚中的员工最大年龄,我们应该选择 Summary 组中的 Maximum 函数,该函数在以下屏幕截图中标记为“ 1 ”。选择它并单击 OK

functions

一旦您单击 Ok 按钮,该函数将被添加到“结构”窗格中的“函数”标签,该标签位于屏幕右侧。

Step 3 - Define a Field Name

一旦您选择已添加的函数(即“最大值”),您将会在“结构”窗格下方找到另一个窗格,其中包含该函数的属性。

查看以下屏幕。最大化框包含两个指针(指针 1 和指针 2)。

  1. Pointer 1 − 在“结构”窗格的“数据”选项卡中选择函数。

  2. Pointer 2 − 通过从下拉列表中选择年龄字段来编辑属性部分中的字段名称。这是因为我们必须打印员工的最大年龄。

customized properties

Step 4 - Add a Function to Report Workspace

现在,该函数已经准备好定制属性了。现在,您可以将该函数用作页脚属性来添加到报表中。

查看以下屏幕截图。它再次包含两个指针(指针 1 和指针 2)。

  1. Pointer 1 − 如以下屏幕截图所示,选择并从“结构”窗格中将“最大值”函数拖动到工作区中的页脚栏。现在,报表的设计已经准备就绪。

  2. Pointer 2 − 选择屏幕左侧的“预览”按钮。

preview report

Step 5 - Check Preview

查看以下屏幕。它显示了报表的预览。员工的最大年龄已标记出来并显示在最大化框中。

maximized box

Pentaho - Additional Functions

下表提供了您可以在报表中使用的其他函数列表。

Common Functions

S.No.

Function Name

Purpose

1

Open Formula

允许您使用内置公式编辑器创建您自己的自定义开放公式函数。

2

Page

计算渲染前报表中使用的页面数量。

3

Total Page Count

列出已渲染报表的总页数。

4

Page of Pages

打印当前页码以及已渲染报表的总页数。

Report Functions

S.No.

Function Name

Purpose

1

Is Export Type

测试此报表是否已选择给定的导出类型。

2

Row Banding

交替着给组中每个项目频带的背景颜色。

3

Hide Repeating

隐藏组中相等的值。仅打印第一个更改的值。

4

隐藏页眉和页脚

当输出类型不可分页时,隐藏页眉和页脚频带。

5

Show Page Footer

仅在报表中呈现的最后一页上显示页脚。

Summary Functions

S.No.

Function Name

Purpose

1

Sum

计算所选数字列的总和。

2

Count

计算组中包含的总项目数。如果没有指定组,则将计算整个报表中的所有项目。

3

Count by Page

计算在一个已渲染页面上的组中包含的总项目数。如果没有指定组,则将计算整个页面上的所有项目。

4

Group Count

计算选中组中的总项目数。如果没有指定组,则会计算所有组中的所有项目。

5

Minimum

识别出组中最低或最小的值。

6

Maximum

识别出组中最高或最大的值。

7

Sum Quotient

对两列的总和执行简单的除法运算,并返回一个数字值。

8

Sum Quotient Percent

对两个列的总和执行简单的除法,并返回百分比值。

9

Calculation

存储计算结果。此函数用于组中。

10

Count of pages

根据指定条件计算页面上的项目。当接触到新页面时,此值重置为零。

11

Sum of Pages

在一个页面中添加所有指定项目并生成一个总计。当接触到新页面时,此值重置为零。

Running Functions

S.No.

Function Name

Purpose

1

Sum

计算指定列的运行总和。

2

Count

计算组或报告中的项目数。

3

Group Count

计算报告中的组数。

4

Count Distinct

计算列中特定值的不同出现次数。

5

Average

计算给定列中的平均值。

6

Minimum

识别列中最低或最小的值。

7

Maximum

识别列中最高或最大的值。

8

Percent of Total

计算数字列的百分比值。总和除以计数的项目数。

Advanced Functions

S.No.

Function Name

Purpose

1

Message Format

根据 Java 消息格式规范格式化文本。

2

Resource Message Format

根据 Java 消息格式规范格式化资源包中的文本。

3

Lookup

将一个列中的字符串映射到另一个字符串。

4

Indirect Lookup

从已映射字段返回一个值。

5

Resource Bundle Lookup

使用定义字段中的值作为资源包中的密钥,执行资源包查找。

6

Open Formula

允许您使用内置公式编辑器创建您自己的自定义开放公式函数。