Pentaho 简明教程
Pentaho - Functions
报表的每一页都包含一个 Page-header 区域和一个 Page-footer 区域。其余页面可供实际报表内容使用。
页脚选项卡用于显示一些属性和功能。例如,我们可以打印页脚中员工年龄字段的最大值。报表引擎允许通过使用功能实现这些功能。
让我们使用我们在前几章中使用的相同的 employee 表。将所有字段添加到报表工作区后,我们现在在页脚选项卡中添加一个函数来找出员工的最大年龄。
按照以下步骤将一个预定义函数添加到您的报表中。
Step 1 - Click the Function Button (fx)
查看以下屏幕截图。此处,结构窗格中的“数据”选项卡包含一个符号 fx(标记为“ 1 ”)。它是“添加”功能按钮。单击此按钮可向报表中添加不同的函数。
Step 2 - Select a Particular Function
然后,您将会找到一个对话框,其中包含按不同组隔离的不同函数。若要打印页脚中的员工最大年龄,我们应该选择 Summary 组中的 Maximum 函数,该函数在以下屏幕截图中标记为“ 1 ”。选择它并单击 OK 。
一旦您单击 Ok 按钮,该函数将被添加到“结构”窗格中的“函数”标签,该标签位于屏幕右侧。
Step 3 - Define a Field Name
一旦您选择已添加的函数(即“最大值”),您将会在“结构”窗格下方找到另一个窗格,其中包含该函数的属性。
查看以下屏幕。最大化框包含两个指针(指针 1 和指针 2)。
-
Pointer 1 − 在“结构”窗格的“数据”选项卡中选择函数。
-
Pointer 2 − 通过从下拉列表中选择年龄字段来编辑属性部分中的字段名称。这是因为我们必须打印员工的最大年龄。
Step 4 - Add a Function to Report Workspace
现在,该函数已经准备好定制属性了。现在,您可以将该函数用作页脚属性来添加到报表中。
查看以下屏幕截图。它再次包含两个指针(指针 1 和指针 2)。
-
Pointer 1 − 如以下屏幕截图所示,选择并从“结构”窗格中将“最大值”函数拖动到工作区中的页脚栏。现在,报表的设计已经准备就绪。
-
Pointer 2 − 选择屏幕左侧的“预览”按钮。
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 |
允许您使用内置公式编辑器创建您自己的自定义开放公式函数。 |