Pentaho - 数据源和查询
在本章中,我们将通过示例学习如何使用 Pentaho 报告设计器。我们将在员工数据库上创建一份报告,以快速概览每位员工。我们将通过添加数据源并将查询传递给 Pentaho 设计器来创建我们的第一个报告。
在使用 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 | Name | Designation | Department | age |
---|---|---|---|---|
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:创建新报告
您可以通过单击欢迎窗格上的"新报告"或转到"文件 → 新建"来创建新的报告定义文件。
步骤 2:添加数据源
右侧的结构窗格提供了报告的可视元素视图。数据源的定义将位于数据选项卡上;它允许定义报告数据的来源以及在报告处理过程中如何处理这些数据。
报告通常以表格的形式显示数据源提供的数据,而报告定义定义如何格式化或打印报告。如以下屏幕截图所示,从结构窗格中选择数据选项卡。
在"数据"选项卡中,右键单击数据集并选择 JDBC 以添加数据源。通常,在选项列表中,您可以根据需要选择任何其他选项。这意味着,如果您有一个 XML 文件作为数据源,则从列表中选择 XML 选项。请看以下屏幕截图。这里我们选择 JDBC 选项来添加数据库作为数据源。
选择 JDBC 选项作为数据源后,您将看到一个对话框,如以下屏幕截图所示。
我们已经选择了 MySQL 数据库作为数据源,因此我们必须在给定屏幕截图中对话框左侧面板(标记为指针"1")中选择 SampleData (MySQL) 选项。指针"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
添加查询后,您将看到以下对话框。单击预览按钮。
单击预览按钮后,您将在单独的对话框中找到所有 employee 表记录,如以下屏幕截图所示。单击 关闭 按钮。
然后,单击 确定 按钮提交查询。提交查询后,您将在右侧结构窗格中的查询名称下找到所有表字段名称及其数据类型,如以下屏幕截图所示。这里,最大化的框是位于屏幕右侧的结构窗格。
到目前为止,我们已经向 Pentaho Reporting Designer 添加了数据源和查询。现在,我们必须将元素添加到工作区以创建报告。同一示例将扩展到下一章"报告元素"。