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 |
Name |
Designation |
Department |
age |
1201 |
'satish' |
'writer' |
'Tuto_Write' |
24 |
1202 |
'krishna' |
'writer' |
'Tuto_Write' |
26 |
1203 |
'prasantd' |
'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 |
'satdish' |
'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 步:创建新报告
您可以通过单击欢迎窗格上的"新建报告"或转到"文件→新建"来创建新的报告定义文件。
第 2 步:添加数据源
右侧的结构窗格提供了报表可视元素的视图。数据源的定义将在
Data 选项卡上;它允许定义报告数据的来源以及在报告处理期间如何处理这些数据。
报告通常以表格的形式显示数据源提供的数据,而报告定义定义了报告的格式或打印方式。如以下屏幕截图所示,从
结构窗格中选择
数据选项卡。
在"数据"选项卡中,右键单击"数据集"并选择 JDBC 以添加数据源。通常,在选项列表中,您可以根据需要选择任何其他选项。这意味着,如果您有一个 XML 文件作为数据源,则从列表中选择 XML 选项。看看下面的截图。这里我们选择 JDBC 选项来添加一个数据库作为数据源。
选择 JDBC 选项作为数据源后,您将看到一个对话框,如下面的屏幕截图所示。
我们已经选择了 MySQL 数据库作为数据源,因此我们必须选择对话框左侧面板中的
SampleData (MySQL) 选项(标记为指针"1")在给定的屏幕截图中。指针"2"用于编辑连接语句和 URL 以与数据库交互。
以下屏幕截图显示了一个对话框,您可以在其中定义连接语句和数据库的 URL。我们需要在下面的屏幕上进行四个操作(用指针突出显示)。
在连接类型列表中,选择 MySQL-我们已经选择 MySQL 作为数据库(数据源)。
在访问列表中,选择Native (JDBC)-通过JDBC连接,我们可以访问数据库。
在设置部分,我们必须提及主机名 (localhost)、数据库名 (employeedb)、端口号 (3306)、用户名 (root) 和密码(根据您的系统)。
点击测试按钮测试连接语句。
最后点击
确定按钮确认数据库连接。
第 3 步:添加查询
看看下面的截图。该对话框显示了通过数据库连接可用的已保存查询。
对话框右侧的可用查询块显示所有可用查询的列表。
查询名称 块显示在上述可用查询列表中选择的所选查询名称。
Query 块显示查询语句。如果没有可用的查询或者您想要创建新查询,请单击"+"按钮,该按钮在以下屏幕截图中突出显示为指针"1"。
在单击"
+"按钮时,您可以通过将
Query Name 块上的名称编辑为
select_all_records 并使用
Query 块中的以下查询语句。
SELECT
employee.id,
employee.name,
employee.designation,
employee.department,
employee.age
FROM
employee
LIMIT
15
添加查询后,您应该得到以下对话框。点击预览按钮。
单击预览按钮后,您将在单独的对话框中找到所有
employee 表记录,如下面的屏幕截图所示。点击
关闭按钮。
然后,单击
确定按钮提交查询。提交查询后,您将在右侧结构窗格的查询名称下找到所有表字段名称及其数据类型,如下面的屏幕截图所示。此处,最大化的框是位于屏幕右侧的结构窗格。
到目前为止,我们已经向 Pentaho Reporting Designer 添加了一个数据源和一个查询。现在,我们必须将元素添加到工作区以创建报告。相同的例子被扩展到下一章"
报告元素"。