Pentaho - 数据源和查询



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

在使用 Pentaho Report Designer 之前,创建一个名为 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 'satish' 'writer' 'Tuto_Write' 24
1202 'krishna' 'writer' 'Tuto_Write' 26
1203 'prasanth' 'php developer' 'Tuto_develop' 28
1204 'khaleel' 'php developer' 'Tuto_develop' 29
1205 'raju' 'HTML developer' 'Tuto_develop' 24
1206 'javed' 'HTML developer' 'Tuto_develop' 22
1207 'kiran' 'Proof Reader' 'Tuto_Reader' 28
1208 'pravenya' 'Proof Reader' 'Tuto_Reader' 30
1209 'mukesh' 'Proof Reader' 'Tuto_Reader' 28
1210 'sai' 'writer' 'Tuto_writer' 25
1211 'sathish' 'graphics designer' 'Tuto_designer' 26
1212 'viswani' 'graphics designer' 'Tuto_designer' 24
1213 'gopal' 'manager' 'Tuto_develop' 29
1214 'omer' 'manager' 'Tuto_writer' 32
1215 'shirjeel' 'manager' 'Tuto_Reader' 32

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

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

使用 Pentaho 生成报表的步骤

按照以下步骤从头开始创建报表,而无需使用报表设计向导。

步骤 1:创建新报表

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

Pentaho Workspace

步骤 2:添加数据源

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

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

ADD Data Source

在“数据”选项卡中,右键单击“数据集”并选择 JDBC 以添加数据源。通常,在选项列表中,您可以根据需要选择任何其他选项。这意味着,如果您的数据源是 XML 文件,则从列表中选择 XML 选项。请查看以下屏幕截图。这里我们选择 JDBC 选项将数据库添加为数据源。

JDBC Option

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

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

Dialog box

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

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

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

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

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

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

Add Datasource

步骤 3:添加查询

请查看以下屏幕截图。该对话框显示了通过数据库连接可用的所有已保存查询。

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

  • “查询名称”块显示所选查询名称,该名称在上述可用查询列表中被选中。

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

Add a Query

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

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

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

Adding a Query

单击预览按钮后,您将在一个单独的对话框中找到所有 employee 表记录,如下面的屏幕截图所示。单击“关闭”按钮。

Employee Table

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

Employee Table

到目前为止,我们已将数据源和查询添加到 Pentaho Reporting Designer。现在,我们必须将元素添加到工作区以创建报表。相同的示例扩展到下一章“报表元素”。

广告