Pentaho - 快速指南


Pentaho - 概述

什么是 Pentaho 报告?

Pentaho Reporting 是一个用于创建关系和分析报告的套件(工具集合)。使用 Pentaho,我们可以将复杂的数据转换为有意义的报告,并从中提取信息。Pentaho 支持创建各种格式的报告,例如 HTML、Excel、PDF、Text、CSV 和 xml。

Pentaho可以接受来自不同数据源的数据,包括SQL数据库、OLAP数据源,甚至Pentaho数据集成ETL工具。

Pentaho的特点

Pentaho Reporting 主要包括一个报表引擎、一个报表设计器、一个商业智能(BI)服务器。它具有以下功能 -

  • 报告设计器- 用于创建像素完美的报告。

  • 元数据编辑器- 允许将用户友好的元数据域添加到数据源。

  • 报告设计器和设计工作室- 用于微调报告和临时报告。

  • Pentaho 用户控制台 Web 界面- 用于轻松管理报告和分析视图。

  • 临时报告界面- 提供用于设计简单报告的分步向导。输出格式包括 PDF、RTF、HTML 和 XLS。

  • 复杂的调度子系统- 允许用户按给定的时间间隔执行报告。

  • 邮寄- 用户可以通过电子邮件将已发布的报告发送给其他用户。

  • 连接性- 报告工具和 BI 服务器之间的连接,允许将内容直接发布到 BI 服务器。

Pentaho - 安装

现在让我们学习如何安装和配置 Pentaho Reporting Designer。

先决条件

Pentaho Reporting引擎需要Java环境。因此,在安装 Pentaho Reporting 之前,请确保您的系统上有 Java。根据您正在使用的平台,使用下表中的命令来验证您的 Java 安装。

操作系统 命令 输出
Windows

打开命令提示符:

\>java-版本

java版本“1.7.0_60”

Java(TM) SE 运行时环境(版本 1.7.0_60b19)

Java HotSpot(TM) 64 位服务器 VM(内部版本 24.60-b09,混合模式)

Linux

打开终端:

$ java –版本

java版本“1.7.0_60”

OpenJDK 运行时环境 (rhel-2.3.10.4.el6_4x86_64) OpenJDK 64 位服务器 VM(内部版本 60.7-b01,混合模式)

MacOS

打开终端:

$ java –版本

java版本“1.7.0_60”

Java(TM) SE 运行时环境(版本 1.7.0_60b19)

Java HotSpot(TM) 64 位服务器 VM(内部版本 24.60-b09,混合模式)

如果您的系统上尚未安装 Java,请使用以下链接 下载并安装Java

下载 Pentaho 报告

使用以下链接下载最新版本的 Pentaho Reporting Designer。在本教程中,我们使用版本 3.7.0。

安装 Pentaho 报告

下载文件后,您将找到一个名为prd-ce-3.7.0-stable的 Pentaho Reporting Designer 存档文件。应按照下表中的说明提取该存档。

操作系统 安装说明
Windows
  • 使用解压缩工具解压缩下载的文件 prd-ce-3.7.0-stable.zip。

  • 将解压的文件夹 (prd-ce-3.7.0-stable) 复制到 c:\ 目录中。

  • 打开 c:\prd-ce-3.7.0-stable\report-designer 目录。

  • 双击reportdesigner.bat文件启动Pentaho Reporting Designer。

Linux
  • 使用以下命令提取下载的文件prd-ce-3.7.0-stable.tar.gz 。

$ tar –zxvf prd-ce-3.7.0-stable.tar.gz 
  • 使用以下命令将提取的文件夹(prd-ce-3.7.0-stable)复制到“/usr/local/”目录中。

# mv prd-ce-3.7.0-stable /usr/local/ 
  • 打开“/usr/local/prd-ce-3.7.0-stable/report-designer”目录并使用以下命令启动 Pentaho Reporting Designer。

$ cd /usr/local/prd-ce-3.7.0-stable/report-designer
$ report-designer.sh 
苹果
  • 解压下载的文件 prd-ce-370-stable.tar.gz。
  • 您将在 Finder 中找到该文件夹​​。
  • 将 Pentaho Report Designer 从 Finer 复制并粘贴到 /Application 文件夹中。
  • 使用以下命令启动 Pentaho 报表设计器。
$ report-designer.sh

安装数据库驱动

Pentaho Reporting Designer 需要数据库连接来生成关系报告,因此您需要有一个 JDBC 驱动程序来与数据库通信。默认情况下,Pentaho提供了一些不同厂商的JDBC驱动程序来支持不同的数据库,例如MySQL、H2、HysonicSQL、Hive等。

所有默认的数据库驱动程序都可以在Pentaho Reporting Designer 的/lib/ 目录中找到。如果您想使用任何其他数据库,请下载相应的 JDBC 驱动程序并将其复制到 Pentaho Reporting Designer 的 /lib/ 目录中。否则,您可以通过JDK附带的JDBC-ODBC桥驱动程序来使用ODBC驱动程序,该桥驱动程序(JDBC-ODBC)适用于所有数据库服务器。

在本教程中,我们使用 MySQL 数据库服务器,其各自的驱动程序已随 Pentaho lib(Pentaho 报告设计器的 /lib/ 目录)文件下载。

安装附加字体

Pentaho Reporting 使用不同的字体来显示报告中的文本。生成 PDF 文件时,Pentaho 报告引擎需要访问物理字体文件。报告引擎搜索系统相关的字体路径以找到所有可用的字体。除了这些字体之外,您的 Java 运行时环境还可能提供其他字体,具体取决于您的 Java 和操作系统版本。

如果您计划创建带有嵌入字体的 PDF 文档,请确保仅使用报告引擎可以物理访问的字体。

无论您使用哪种操作系统,位于JRE/lib/fonts/中的所有字体文件始终可用于所有导出。

Pentaho - 导航

本章将简要介绍 Pentaho 中可用的用户界面以及如何浏览它们。

欢迎屏幕

欢迎屏幕提供了两种创建不同类型报告的方法。这两个选项是“报告向导”“新建报告”

  • 报告向导- 它提供了一个易于使用的四个步骤过程,可引导您创建新报告。

  • 新报告- 如果您选择此选项,那么您可以根据您的要求创建自定义报告。

Pentaho 有一组示例报告来帮助您了解如何使用特定的报告设计器。下面的截图显示了 Pentaho 的欢迎页面。

欢迎页面

主工具栏

主工具栏位于窗口顶部。看一下下面的屏幕截图 - 最大化的框是主收费栏。它包含执行以下操作的按钮 - 新建文件、打开文件、保存文件、发布报告、添加数据源、运行报告、选择对象、撤消、重做、剪切元素、复制元素、粘贴元素、删除所选元素,并切换字段选择器调色板。

主工具栏

报告工作区

工作区是我们设计报告的主要工作区域。看一下下面的屏幕截图 - 中心的白色区域是工作区。它分为五个区域:页眉、报表页眉、详细信息、报表页脚和页脚。

  • 页眉- 您可以在此处使用适合打印在每个报告页面顶部的任何类型的数据。它不允许任何动态值或分页符。

  • 报告标题- 从顶部开始的第二个区域是报告标题。它包含报告元素。它在每个报告中出现一次,即在报告的第一页上。

  • 详细信息- 详细信息区域是页面的最大部分,因为大多数报告数据都显示在该区域中。

  • 报告页脚- 就像报告页眉一样,报告页脚每个报告仅出现一次,即在报告的最后一页上。

  • 页脚- 最后一个区域是页脚,它出现在报告中每页的绝对底部。

您还可以为各种报表元素创建组。每个组在工作区中都有自己的页眉和页脚区域。

Pentaho 工作空间

结构面板

结构选项卡与报表设计器右上部分的数据选项卡共享一个窗格。看看下面的截图;它显示了报表工作区中包含的每个元素的确切层次结构。

结构面板

数据窗格

数据窗格使您能够添加数据源并查看每个报告中的各个查询、函数和参数。窗格顶部的三个按钮分别用于添加新的数据源、函数和参数。

  • 数据源- 您为当前报告定义的所有数据源和查询将在此处列出。如果要添加新的数据源,请右键单击最左侧的按钮(黄色圆柱体),然后单击“添加”。

  • 函数- 您添加到报告中的所有函数(数学和条件)元素将在此类别中列出。您可以通过单击 ( f x ) 按钮添加函数。

  • 参数- 您可以向报告添加参数,这将使报告阅读者能够自定义输出的内容。

看看下面的截图。

数据窗格

样式面板

样式窗格显示结构窗格中任何给定项目的所有视觉和位置样式选项。单击任何结构元素,样式窗格的组成将进行调整,以显示按组列出的所有可用样式属性。看看下面的截图。

样式窗格

属性面板

属性窗格显示结构窗格中任何给定项目的所有低级属性以及输入和输出选项。

属性面板

调色板

该选项板包含可用于构建报告的所有元素。要添加元素,请单击布局区域以将其选中,然后将元素从调色板拖放到所选区域。我们已在下表中解释了每个报告元素的作用。

元素图标 元素名称 描述
标签 标签 静态文本字符串。它不能动态改变。
文本域 文本域 文本报告元素并根据查询动态更改。
数字字段 数字字段 显示来自查询的动态数值数据。
日期字段 日期字段 处理查询中的日期信息。
信息 信息 组合了多个静态和动态报表元素的元素。
资源标签 资源标签 映射到资源包的静态文本字符串
资源域 资源域 映射到资源包的动态文本字符串,允许您本地化任何数据库字段。
资源留言 资源-消息 动态文本字符串,连接多种类型的数据,并动态映射到资源包。
图像场 图像场 对存储在数据库中的图像的引用。
图像 图像 嵌入到报告中的静态图像。
椭圆 椭圆 日食形状的矢量图形元素。
长方形 长方形 矩形形状的矢量图形元素。
水平线 水平线 水平绘制的矢量图形线。
垂线 垂直线 垂直绘制的矢量图形线。
调查规模 调查规模 一个简单的滑动比例图表元素。
图表 图表 以图形方式显示查询结果的图表或图形。
简单的条形码 简单条形码 条形码图表元素。
条形迷你图 条形迷你图 条形迷你图元素。
线-迷你图 线-迷你图 折线迷你图元素。
饼图迷你图 饼图迷你图 饼图迷你图元素。
乐队 乐队 一种对元素进行分组的方法。
子报告 子报告 引用另一个报表的元素。
表中的内容 表中的内容 内容报告元素的表格。
指数 指数 索引报告元素。

看看下面的截图;左侧突出显示的框是报告元素的调色板。

Pentaho调色板

Pentaho - 数据源和查询

在本章中,我们将通过示例来学习如何使用 Pentaho Reporting Designer。我们将创建一份关于员工数据库的报告,以快速概览每位员工。我们将通过添加数据源并将查询传递给 Pentaho Designer 来创建第一个报告。

在使用 Pentaho 报表设计器之前,创建一个名为employeedb的数据库,并在该数据库中使用以下查询创建一个名为employee的表。

CREATE TABLE 'employee' (
   'id' integer NOT NULL,
   'name' varchar(20),
   'designation' varchar(20),
   'department' varchar(20),
   'age' integer,
   PRIMARY KEY ('id')
)

将以下记录插入表中。

ID 姓名 指定 部门 年龄
1201 '萨蒂什' '作家' 'Tuto_Write' 24
1202 ‘克里希纳’ '作家' 'Tuto_Write' 26
1203 '普拉桑特' 'php 开发人员' 'Tuto_develop' 28
1204 “卡里尔” 'php 开发人员' 'Tuto_develop' 29
1205 '拉朱' “HTML 开发人员” 'Tuto_develop' 24
1206 '贾韦德' “HTML 开发人员” 'Tuto_develop' 22
1207 '基兰' “校对读者” 'Tuto_Reader' 28
1208 '普拉文尼亚' “校对读者” 'Tuto_Reader' 30
1209 '穆克什' “校对读者” 'Tuto_Reader' 28
1210 '赛' '作家' 'Tuto_writer' 25
1211 '萨蒂什' “图形设计师” 'Tuto_designer' 26
1212 '维斯瓦尼' “图形设计师” 'Tuto_designer' 24
1213 '戈帕尔' '经理' 'Tuto_develop' 29
1214 '奥马尔' '经理' 'Tuto_writer' 32
1215 '希尔吉尔' '经理' 'Tuto_Reader' 32

如果要操作表内包含的数据,最好的选择是使用 SQL。但如果您想根据数据创建报告,Pentaho Reporting 是最佳选择。我们的任务是将 SQL 查询传递给 Pentaho Reporting 设计器工具并选择相应的字段(在报告中显示)并将其显示在报告表的详细信息中。

在进一步操作之前,请确保您熟悉 Pentaho 中可用的所有导航选项(在上一章中进行了解释)。现在我们有了数据源,让我们进一步尝试了解如何使用 Pentaho 生成专业报告。

使用 Pentaho 生成报告的步骤

按照下面给出的步骤从头开始创建报告,而不使用报告设计向导。

第 1 步:创建新报告

您可以通过单击欢迎窗格上的“新报告”或转到“文件→新建”来创建新的报告定义文件。

Pentaho 工作空间

第 2 步:添加数据源

右侧的结构窗格提供了报表视觉元素的视图。数据源的定义将在“数据”选项卡上;它允许定义报告数据的来源以及在报告处理过程中如何处理该数据。

报表通常以表格的形式显示数据源提供的数据,而报表定义定义报表的格式或打印方式。如下图所示,从结构窗格中选择“数据”选项卡

添加数据源

在“数据”选项卡中,右键单击“数据集”并选择“JDBC”以添加数据源。一般来说,在选项列表中,您可以根据需要选择任何其他选项。这意味着,如果您有 XML 文件作为数据源,则从列表中选择 XML 选项。看看下面的截图。这里我们选择 JDBC 选项来添加数据库作为数据源。

JDBC 选项

选择 JDBC 选项作为数据源后,您将看到一个对话框,如下图所示。

我们已经选择了 MySQL 数据库作为数据源,因此我们必须在给定屏幕截图中的对话框左侧面板中选择SampleData (MySQL)选项(标记为指针“1”)。指针“2”用于编辑连接语句和 URL 以与数据库交互。

对话框

以下屏幕截图显示了一个对话框,您可以在其中定义连接语句和数据库的 URL。我们需要在接下来的屏幕上执行四个操作(使用指针突出显示)。

  • 在连接类型列表中,选择MySQL - 我们已经选择 MySQL 作为数据库(数据源)。

  • 在访问列表中,选择本机(JDBC) - 通过 JDBC 连接,我们可以访问数据库。

  • 在“设置”部分中,我们必须提及主机名 (localhost)、数据库名称 (employeedb)、端口号 (3306)、用户名 (root) 和密码(根据您的系统)。

  • 单击“测试”按钮测试连接语句。

最后单击“确定”按钮确认数据库连接。

添加数据源

第 3 步:添加查询

看看下面的截图。该对话框显示可通过数据库连接使用的可用已保存查询。

  • 对话框右侧的可用查询块显示所有可用查询的列表。

  • 查询名称块显示在上面的可用查询列表中选择的选定查询名称。

  • 查询块显示查询语句。如果没有可用的查询或者要创建新查询,请单击以下屏幕截图中突出显示为指针“ 1 ”的“ + ”按钮。

添加查询

单击“ + ”按钮时,您可以通过在查询名称块上编辑名称为select_all_records来创建查询,并在查询块中使用以下查询语句。

SELECT
   employee.id,  
   employee.name, 
   employee.designation,
   employee.department,
   employee.age 
FROM
   employee 
LIMIT
   15 

添加查询后,您应该会看到以下对话框。单击预览按钮。

添加查询

单击预览按钮后,您将在单独的对话框中找到所有员工表记录,如下图所示。单击关闭按钮。

员工表

然后,单击“确定”按钮提交查询。提交查询后,您将在右侧结构窗格的查询名称下找到所有表字段名称及其数据类型,如下图所示。这里,最大化的框是位于屏幕右侧的结构窗格。

员工表

到目前为止,我们已经向 Pentaho 报告设计器添加了数据源和查询。现在,我们必须将元素添加到工作区中以创建报告。同一示例扩展到下一章“报告要素”。

Pentaho - 报告元素

大多数报告元素可以通过将其从“数据”窗格拖放到工作区上的任何区域(主要是“详细信息”区域)来轻松添加。

让我们继续使用上一章中的相同示例。我们在报告设计器中添加了数据源和查询。在这里,我们将根据查询生成的输出来设计报告。

生成的查询字段是以下屏幕截图中突出显示的报告元素。它们是 - idname职称部门年龄

添加报告元素

将查询添加到报告设计器后,结果字段将显示在数据窗格中,如以下屏幕截图所示。

员工表

现在,将所需字段(要在报告中显示的字段)从结构窗格拖动到主工作区中心的详细信息区域中。

看看下面的截图。它显示从结构窗格中拖动年龄字段的方向。

报告字段

在详细信息区域中排列所有字段后,您可以通过单击上面屏幕截图中指向“ 1 ”的查看按钮来查看报告视图。

点击查看按钮后,结果报告将如下图所示。在工作区中,您将找到所有字段的值(在“详细信息”选项卡中指定)。

结果报告

现在,如果您想返回设计模式,请单击以下屏幕截图中标记为“ 1 ”的设计符号。

返回编辑

Pentaho - 页面页脚字段

报告的每一页都包含两个特殊区域。在每个页面的顶部,您都会找到页眉区域。在页面底部,您将找到页脚区域。剩余页面可用于实际报告内容。

在 Pentaho 中添加页面页脚字段

页脚选项卡用于展示一些属性和功能。例如,您可以使用页脚选项卡在页面底部打印年龄字段的最大值。报告引擎通过使用报告功能来实现这些功能。

看看下面的截图。这里结构窗格中的数据选项卡包含符号f x(标记为“ 1 ”)。这是添加功能按钮。单击此按钮可将不同的功能添加到报告中。

页脚

然后,您会发现一个对话框,其中不同的功能分为不同的组。要在页脚打印员工的最大年龄,我们应该在“摘要”组中选择“最大”函数,在下面的屏幕截图中标记为“ 1 ”。选择它并单击“确定”

功能

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

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

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

  • 指针 1 - 在结构窗格的数据选项卡中选择函数。

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

定制属性

现在,该函数已准备好自定义属性。现在您可以在报表中使用该函数作为页脚属性。

看看下面的截图。同样,它包含两个指针(指针 1 和指针 2)。

  • 指针 1 - 选择“最大值”函数并将其从“结构”窗格拖动到工作区中的页脚区域,如以下屏幕截图所示。现在您的报告设计已准备就绪。

  • 指针 2 - 选择屏幕左侧的预览按钮。

报告预览

看一下下面的屏幕。它显示报告的预览。员工的最大年龄被标记并显示在最大化的框中。

最大化盒子

Pentaho - 组

Pentaho 提供各种功能和特性,将原始数据转换为有意义的信息。在这里,我们将学习如何使用这样的功能Groups。您可以使用此功能将原始行集数据分成组,以便用户可以轻松理解报表。

  • 分组是沿着有意义的分隔符划分长数据列表的好方法。

  • 通过组,您可以将相似的项目放在一起,并在视觉上将这些项目与其他项目组分开。

  • 您还需要组来对数据执行各种聚合,例如打印组中的项目数或计算总和或平均值。

在 Pentaho 中添加组

我们已经有了一份基于员工数据的报告。这里的查询是将所有员工记录按照“部门”进行分组。请按照下面给出的过程来满足给定的要求。

首先,通过单击“结构”窗格上的“添加组”按钮来启动该过程。在以下屏幕截图中,“添加组”按钮被标记为“1”。

添加组

单击“添加组”按钮将获得选项列表。然后,单击列表中的添加组选项。

单击“添加组”后,您将看到一个对话框,您可以使用该对话框从给定的可用字段中添加组字段。

看看下面的截图。这三个活动在对话框中突出显示,我们将其标记为 1、2 和 3。

  • 指针 1 - 输入该组的用户定义名称。

  • 指针 2 -从可用字段列表中选择部门字段。

  • 指针 3 - 单击箭头 ( ) 按钮,以便将所选字段复制到所选字段列表。

在所选字段列表中选择该部门字段,然后单击“确定”进行确认。

组标题

添加组后,您将在“结构”窗格的“结构”选项卡中找到它。您将在工作区中找到组页眉组页脚区域。

看看下面的截图。通过将标签图标从报表设计器左侧的调色板拖到组标题中,向报表添加静态标签(在屏幕截图中,此活动已标记为“1”

通过双击该标签,您可以对其进行编辑并将名称更改为Department。通过使用格式工具栏或格式调色板(分别标记为“3”和“4”),您可以更改标签的格式。

数据选项卡

现在让我们进一步讨论。将“结构”窗格切换到“数据”选项卡。选择部门字段并将其从结构窗格拖动到组标题(此活动在以下屏幕截图中标记为“ 1 ”)。要查看报告的预览,请单击屏幕左侧的预览按钮,该按钮在以下屏幕截图中突出显示并标记为“ 2 ”。

结果报告

单击预览按钮后,您将看到如下屏幕截图所示的结果报告。您会发现记录现在已根据部门分组在一起。

记录

该报告现阶段看起来不太有吸引力。您可以使用格式工具栏或格式调色板添加一点颜色并使标题更有效。

您现在已准备好使用 Pentaho 生成不同类型的报告。只需按照到目前为止讨论的步骤并尝试使用 Pentaho 中提供的所有功能和选项即可。

Pentaho - 图表报告

图表也称为图表,是数据的图形表示。Pentaho Reporting Designer 提供了多种图表类型。您可以使用 Pentaho Reporting Designer 调色板中提供的“图表元素”选项来设计图表。

创建图表有三个要求 -

  • 用于从数据源中提取图表数据的数据收集器

  • 用于根据收集的数据生成图表的图表表达式

  • 用于显示结果图表对象的报表元素

现在让我们举一个例子,尝试理解在 Pentaho 中创建图表的过程。

下表包含有关三个汽车品牌的特征的数据。我们将使用条形图来描述这些数据。

速度 用户评分 里程 安全
菲亚特 1 3 5 5
奥迪 5 6 10 4
福特 4 2 3 6

首先,根据给定的表数据创建一个名为car的表。我们使用MySQL数据库作为数据源。将其(数据源)添加到 Pentaho 报告设计器中。我们已经在“Pentaho – 数据源和查询”一章中讨论了如何向 Pentaho 报告设计器添加数据源和查询。

在 Pentaho 中创建图表的步骤

现在,按照下面给出的步骤根据给定场景创建图表。

第 1 步 - 添加查询

该查询将从表car中检索所有记录。因此查询应如下所示 -

Select
   car.id,
   car.name,
   car.speed, 
   car.user_rating, 
   car.millage, 
   car.safety 
From
   car 
LIMIT 
   3

以下屏幕截图显示了如何将给定查询添加到数据源。

添加给定的查询

第 2 步 - 将图像添加到页眉

这是一个可选步骤,但它很重要,因为图像在提高报告的美观性方面发挥着重要作用。

看看下面的截图。我们在此强调了以下五项活动 -

  • 添加查询后,您将在“结构”窗格中找到查询字段。从“结构”窗格中,选择相应的字段,然后拖放到报表工作区的“详细信息”选项卡中。

  • 详细信息选项卡仅显示字段值。通过从调色板中选择标签字段,将这些相应的标题标签添加到“报告标题”选项卡中。

  • 添加从调色板中获取的图像并将其放置在页眉选项卡上。在页眉中添加另一个标签作为报告标题,并使用合适的标题,例如CAR – CHART,以实现有效的演示。双击图像元素 - 您将找到一个名为“编辑内容”的对话框。

  • 您有两种插入图像的选项。将图像 URL 链接到报告或将图像嵌入到报告中。我们选择通过选择“嵌入报告”选项来嵌入图像。

  • 从互联网上下载一些示例汽车图像并将其放入页眉中。单击该按钮可使用位置 URL 找到示例汽车图像。单击“确定”按钮进行确认。

添加图像

第 3 步 - 将图表添加到报告页脚

通过单击选择并将其从左侧调色板拖动到报告来添加图表。在下面的屏幕截图中它被标记为“1”。双击报表页脚上的条形图元素。

添加图表

第 4 步 - 添加图表属性

双击图表元素后,您将看到一个对话框,您必须在其中提供数据收集的详细信息和图表表达详细信息。

看看下面的截图。“主要数据源”选项卡包含两个标记 -

  • 标记“ 1 ”是一个下拉列表,您必须在其中选择类别集数据收集器。

  • 标记“ 2 ”也是类别列的下拉列表,您必须在其中选择名称字段。

添加图表属性

主数据源中有三个部分 - CommonSeriesGroup。在这里,我们不需要在“组”部分添加任何内容,因为我们在查询中没有使用任何组。

常见- 此部分有两个字段 -类别列值列。我们已经在上一节中用名称字段填充了类别列值。第二个是值列

点击空值;您将看到一个对话框,如下图所示。其中标记了两项活动(1 和 2)。

  • 单击 (+) 按钮在列中添加值字段。

  • 通过单击空值,您将找到一个下拉列表,您需要从中选择速度字段。

单击空值

重复上述两个活动,将 user_ rating、mileage 和 safety 字段添加到列中。添加所有这些字段后,屏幕将如下所示。单击“确定”进行确认。

主要数据源

主数据源部分中的下一列是系列部分。

系列- 在系列字段中,单击按值系列选项。您将看到一个对话框,如以下屏幕截图所示。其中有两个标记(1 和 2)。

  • 单击 (+) 按钮在列中添加新字段。
  • 通过双击它,您可以编辑该字段。

重复这两项活动以添加字段名称,例如速度、用户评级、里程和安全。

这些是用户定义的名称,显示在报告图表的特定部分中。但在这里您遵循的顺序与您在“公共”部分的“值”列字段中给出的顺序相同。添加所有字段后单击“确定” ,如下所示。

编辑图表

添加所有部分后,您将看到编辑图表对话框,如下图所示。条形图窗格包含用于更改图表格式的不同属性

在条形图的常规部分中,我们将3-D值更改为true(标记为“1”)。单击“确定”确认图表属性。

一般部分

单击格式工具栏上的预览按钮可查看报告的预览。它将如下图所示 -

报告预览

您可以通过使用不同类型的数据模型并向图表属性提供不同的值来在报表中实现不同类型的图表。Pentaho在报表设计器中提供了近18种图表。

Pentaho - 格式化报表元素

将报表元素放入工作区后,可以采用不同的方式对其进行格式化。Pentaho Reporting Designer 提供了各种功能来根据我们的要求格式化报告元素。

文本格式

所有基于文本的元素(例如文本、数字、日期和标签)都可以使用出现在报表画布上方的格式设置工具栏轻松设置格式。

看看下面的截图。在这里,我们标记并突出显示了三个对象 -

  • 选定的报告元素
  • 格式化工具栏
  • 用于格式化报表元素的“样式窗格”选项卡

首先,在工作区中选择报表元素。此后,您可以使用“格式设置”工具栏或使用“样式选项卡”窗格中的属性以多种方式设置该元素的格式。

文本格式

添加超链接

Pentaho 报表设计器允许您添加指向报表数据的超链接。这里我们将通过一个通用示例来解释如何在报告中添加超链接。

假设我们已经在员工表中添加了一个查询来获取字段的 ID、姓名和职称。我们还将这些字段添加到报告工作区。这里我们的要求是使用超链接将指定字段的各个值作为参数值传递给www.google.co.in 。

首先,在工作区中选择指定字段。右键单击它并从列表中选择“超链接”。看看下面的截图。

添加超链接

单击“超链接”选项后,您将看到一个对话框,您必须在其中提供超链接位置的类型、URL、目标、参数名称和值等详细信息。

看看下面的截图。在这里,我们标记并强调了以下五项活动 -

  • 提供超链接位置的类型。一般来说有四种类型的位置 -

    • 链接到同一报告字段。

    • URL - 提供该参考位置的 URL。

    • Pentaho Repository - 如果您安装 Pentaho Repository,则在本地主机中提供该文件 URL(需要登录)。

    • 手动链接- 手动创建链接或公式并将其作为超链接提供。

    在此示例中,我们使用了 URL 类型位置。

  • 提供网站或文件的 URL。对于此选项,我们使用了https://www.google.co.in。

  • 提供目标位置,即_TOP、_BLANK_PARENT。我们使用了“_TOP”。如果您想在鼠标指针移到超链接文本上时向用户提供任何信息,请在“目标”框旁边的工具提示框中键入信息。

  • 选择加号 (+) 将参数名称和值添加到参数列表中。

  • 为超链接的 URL 提供参数名称和值。这里我们使用“ q ”作为参数名称,并使用Designation 字段作为参数值。

最后,单击“确定”确认“超链接”属性。

超链接属性

单击格式工具栏上的预览按钮可查看报告的预览。单击“预览”按钮后,您将看到以下屏幕截图。将鼠标指针放在任何指定值(HR 或 Admin)上即可查看其各自的 URL。

超链接属性

在此 Pentaho 报表设计器预览中,超链接用于将用户重定向到另一个 URL。为此,您必须通过单击主工具栏上的“运行”按钮(在下面的屏幕截图中标记为“1”)并选择其上的 HTML 选项,以 HTML 形式运行此报告。

看看下面的截图。运行报告有不同的选项,但我们选择以 HTML 格式显示报告。

超链接属性

选择 HTML 选项后,您将在单独的 HTML 页面中找到报告数据,如下图所示。单击任意指定值即可了解超链接在 Pentaho Reporting 中的工作原理。

超链接属性

行条带

Pentaho 报表设计器有一个行带属性,允许您为报表的交替行着色。让我们以前面的示例来了解它是如何工作的。

将元素添加到工作区后,单击报表工作区 → 转到“格式”菜单 → 选择“行分段”。看看下面的截图。

行条带

选择“Row Banding”选项后,您将看到一个对话框。在这里,您可以从下拉列表中选择一种颜色。我们选择红色和绿色作为替代颜色。现在,单击“确定”按钮进行确认。看看下面的截图。

行条带

单击“预览”按钮可查看报告如何以备用行颜色显示。它将显示如以下屏幕截图所示。

替代行颜色

Pentaho - 函数

报表的每一页都包含页眉区域和页脚区域。剩余页面可用于实际报告内容。

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

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

按照下面给出的步骤将预定义函数添加到您的报告中。

第 1 步 - 单击功能按钮 ( f x )

看看下面的截图。这里结构窗格中的数据选项卡包含符号f x(标记为“ 1 ”)。这是添加功能按钮。单击此按钮可将不同的功能添加到报告中。

页脚

第 2 步 - 选择特定功能

然后,您会发现一个对话框,其中不同的功能分为不同的组。要在页脚打印员工的最大年龄,我们应该在“摘要”组中选择“最大”函数,在下面的屏幕截图中标记为“ 1 ”。选择它并单击“确定”

特殊功能

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

第 3 步 - 定义字段名称

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

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

  • 指针 1 - 在结构窗格的数据选项卡中选择函数。

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

定制属性

第 4 步 - 添加函数到报告工作区

现在,该函数已准备好自定义属性。现在您可以在报表中使用该函数作为页脚属性。

看看下面的截图。同样,它包含两个指针(指针 1 和指针 2)。

  • 指针 1 - 选择“最大值”函数并将其从“结构”窗格拖动到工作区中的页脚区域,如以下屏幕截图所示。现在您的报告设计已准备就绪。

  • 指针 2 - 选择屏幕左侧的预览按钮。

预览报告

第 5 步 - 检查预览

看一下下面的屏幕。它显示报告的预览。员工的最大年龄被标记并显示在最大化的框中。

最大化盒子

Pentaho - 附加功能

下表提供了可在报告中使用的函数的附加列表。

常用功能
编号 函数名称 目的
1 开放式 使您能够使用内置公式编辑器创建自己的自定义打开公式函数。
2 在渲染之前计算报表中使用的页数。
3 总页数 列出所呈现的报告中的总页数。
4 页页数 打印渲染报告中的当前页码以及总页数。
报告功能
编号 函数名称 目的
1 是出口型 测试是否已为此报告选择给定的导出类型。
2 行条带 交替组中每个项目带的背景颜色。
3 隐藏重复 隐藏组中的相等值。仅打印第一个更改的值。
4 隐藏页眉和页脚 当输出类型不可分页时,隐藏页眉和页脚区域。
5 显示页脚 仅显示报表中呈现的最后一页上的页脚。
功能汇总
编号 函数名称 目的
1 计算所选数字列的总和。
2 数数 计算组中包含的项目总数。如果未指定组,则对整个报表中的所有项目进行计数。
3 按页计数 计算一个呈现页面上的一组中包含的项目总数。如果未指定组,则计算整个页面上的所有项目。
4 组数 计算所选组中的项目总数。如果未指定组,则对所有组中的所有项目进行计数。
5 最低限度 标识组中的最低值或最小值。
6 最大限度 标识组中的最高值或最大值。
7 和商 对两列的总和执行简单除法并返回一个数值。
8 和商百分比 对两列的总和执行简单除法并返回百分比值。
9 计算 存储计算结果。该功能是在群组中使用的。
10 页数 根据指定的条件对页面上的项目进行计数。当到达新页面时,该值重置为零。
11 页数总和 将所有指定项目添加到一页上并生成总计。当到达新页面时,该值重置为零。
运行功能
编号 函数名称 目的
1 计算指定列的运行总和。
2 数数 计算组或报告中的项目。
3 组数 计算报告中的组数。
4 计数不同 计算列中特定值的不同出现次数。
5 平均的 计算给定列中的平均值。
6 最低限度 标识列中的最低值或最小值。
7 最大限度 标识列中的最高值或最大值。
8 占总数的百分比 计算数字列的百分比值。总和除以计数的项目数。
高级功能
编号 函数名称 目的
1 消息格式 根据 Java 消息格式规范设置文本格式。
2 资源消息格式 根据 Java 消息格式规范格式化资源包中的文本。
3 抬头 将字符串从一列映射到另一字符串。
4 间接查找 从映射字段返回值。
5 资源包查找 使用定义字段中的值作为资源包中的键来执行资源包查找。
6 开放式 使您能够使用内置公式编辑器创建自己的自定义打开公式函数。