Pentaho Report Designer 报表系统 - 入门详解
简介
Pentaho Report Designer(以下简称PRD)是Pentaho开源系统中的数据报表模块,预期作为Java项目中的报表功能来集成使用。
现阶段需要在PRD中提前设计好报表方式才能输出报表供前后端调取,因此本文还会介绍关于PRD的用法。
本文中使用的版本为PRD7.1.0.0
安装与配置
- 软件包下载地址:https://sourceforge.net/projects/pentaho/files/Report Designer/
- 源代码Git地址:https://github.com/pentaho/pentaho-reporting
环境要求
- Java, JDK1.8
- Maven, Verson3+
运行方式
1. 检查是否配置好本地Java与Maven环境
- 解压缩下载的软件包,包内结构应大致如图(版本不同可能产生些许差异)

- 运行launcher.jar,或在命令行中使用命令
./report-designer.sh以启动PRD。
使用教学
教学包括数据源配置、原始数据获取、报表布局设计、报表数据格式化、报表预览、报表发布以及报表访问这几个方面。
本文中采用手工建立的方式进行报表配置,此外还有报表向导的方式,在此不多作说明,区别是在新建报表时选择Report Wizard而不是New Report。
数据源配置与原始数据获取
- PRD软件功能模块集成度极高,因此启动时间较久,需要耐心等待。

- 软件启动后,选择New Report以新建一个报表,进入Untitled Report标签页内,Ctrl+S保存报表并命名。

- 在界面右侧Structure/Data栏目中选择Data,而后点击栏目中左上角的数据库黄色Logo,配置数据源。本文采用JDBC数据库连接。

- 点击左上方绿色加号按钮,选择连接类型,填写设置信息与名称,测试链接正常即可确认,完成添加数据库连接配置。(注:若添加MySQL5.7及以上或其他数据库时提示
Driver方面的异常,则应下载对应的驱动jar包并粘贴到软件根目录/lib/jdbc内,并重启软件即可生效)

- 添加完连接配置后点击右上角的绿色加号按钮,填写查询名称,在下方添加SQL查询语句,填写完毕可以点击右下角Preview预览效果,确认无误后点击右下角OK,完成原始数据获取。(原始数据查询编写完毕并保存之后可以在Structrue/Data中的Data栏目内的DataSets标签下看到以查询名称命名的文件夹)


报表布局设计与格式化
布局设计
PRD采用模块固定与拖放控件的方式对页面块进行处理。
模块结构
- Page Header:页头这里设置的内容将在每一页显示(报表出现分页)
- Report Header:报表头只在报表的开头显示(如果出现过则不会在后面其他页再出现)
- Details Header:配置Details的列名
- Details:这里配置多行数据的列(会根据数据的行数据显示)
- Report Footer:类似Report Header 只在报表的结尾显示
- Page Footer:类似Page Header在每页的结尾显示
控件
- Label:标题
- Horizontal-Line:水平线
控件的内容较多,不在这里赘述,可以自行研究。
示例
- 从右侧的Data中将字段拖拽到报表的Details区并调整位置。

- 在Structure/Data栏目中的Structure内,右击GroupHeader,将它显示出来。

- 从左侧工具栏内将需要的控件如Label和Horizontal-Line等拖入页面内,调整位置。

- 对需要格式化的字段添加Style/Attributes栏目中Attributes下的common.format属性,例如日期格式化。具体可以参考Excel中的单元格自定义格式化方式。

报表预览与发布
- 配置完成后点击页面左上的眼睛按钮进行预览。

- 确认无误后保存,并准备发布到BI Server以供外部访问调用。

- 填写BI Server的参数。

- 配置发布的目录与名称以及输出等类型等

- 出现该弹窗即发布完成。

报表访问与获取
- 登录BI Server

- 点击左上角Browse Files,根据发布时配置的目录找到文件。

点击Open in a new window可以浏览。
复制新打开窗口的链接地址,例如
http://localhost:8047/pentaho/api/repos/%3Apublic%3A%E6%B5%8B%E8%AF%95%E5%B7%A5%E7%A8%8B%E7%94%A8%3ADemoReport.prpt/viewer,将末尾的/viewer改为/report即可作为资源进行访问和获取。在没有浏览器缓存的情况下,每次获取都会获取实时最新的数据。
参考材料
- Pentaho Report Designer生火指南
- PentahoReport Designer 入门教程
- 在项目中集成Pentaho Report Designer
- Pentaho Report Designer 教程 - 初识
Pentaho Report Designer 报表系统 - 入门详解的更多相关文章
- 重装Windows系统 入门详解 - 基础教程
重装Windows系统 入门详解 - 基础教程 JERRY_Z. ~ 2020 / 10 / 13 转载请注明出处!️ 目录 重装Windows系统 入门详解 - 基础教程 一.说明 二.具体步骤 ( ...
- SQL注入攻防入门详解
=============安全性篇目录============== 本文转载 毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但是对安全方面的知识依旧薄弱,事实上是没机 ...
- SQL注入攻防入门详解(2)
SQL注入攻防入门详解 =============安全性篇目录============== 毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但是对安全方面的知识依旧薄弱 ...
- Quartz 入门详解
Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用.Quartz可以用来创建简单或为运行十个,百个, ...
- Redis快速入门详解
Redis入门详解 Redis简介 Redis安装 Redis配置 Redis数据类型 Redis功能 持久化 主从复制 事务支持 发布订阅 管道 虚拟内存 Redis性能 Redis部署 Redis ...
- [转]SQL注入攻防入门详解
原文地址:http://www.cnblogs.com/heyuquan/archive/2012/10/31/2748577.html =============安全性篇目录============ ...
- 转:JAVAWEB开发之权限管理(二)——shiro入门详解以及使用方法、shiro认证与shiro授权
原文地址:JAVAWEB开发之权限管理(二)——shiro入门详解以及使用方法.shiro认证与shiro授权 以下是部分内容,具体见原文. shiro介绍 什么是shiro shiro是Apache ...
- 【转载】SQL注入攻防入门详解
滴答…滴答…的雨,欢迎大家光临我的博客. 学习是快乐的,教育是枯燥的. 博客园 首页 博问 闪存 联系 订阅 管理 随笔-58 评论-2028 文章-5 trackbacks-0 站长 ...
- Quartz 入门详解 专题
Cron-Expressions are used to configure instances of CronTrigger. Cron-Expressions are strings that a ...
随机推荐
- Java--关于cpu占用解决方案
关于cpu占用高的解决方案--java篇 通俗一点:找到进程,找到下面的线程,找到线程正在做的事,分析线程正在做的事. 一.查看cpu占用高的进程 top命令可以查看(假设%cpu已经属于很高了,我们 ...
- 使用bootstrap fileinput多文件拖拽上传的记录
今天琢磨文件上传,刚好看到bootstrap 我就搜了一下,刚刚能满足需求,使用上手也很快,使用完还是记录下来. 1.首先我们下载插件包,可以用nuget搜索bootstrap-fileinput 也 ...
- day90:luffy:路飞项目前端部署
目录 1.域名备案 2.域名解析 3.设置安全组 4.部署架构图 5.一些准备工作 6.docker 7.把前端项目通过nginx容器来运行 1.域名备案 腾讯云先要进行域名实名认证,实名认证三天后才 ...
- android开发导包升级到androidx踩坑记录【转载】
最近一直在做安卓开发,奈何手中的资料比较老,资料上的一些Import经常没有,十分让人头疼. 感谢简书上的[张晴天天天天天]做的整理. 在这里也记录一下备用. 升级Android Studio后,在 ...
- SQL IsNull函数详解
IsNull,计算机语言函数,意思是返回 Boolean 值,指明表达式是否不包含任何有效数据 (Null). ISNULL 使用指定的替换值替换 NULL. IS NULL经常用于组成一个逻辑表达式 ...
- Python学习第三天 --- 分支、循环、条件、枚举
1.表达式: 表达式(Expression)是运算符(operator)和操作数(operand)所构成的序列. 2.表达式的优先级: 3.python的注释: #单行注释 ''' 多行注释 ''' ...
- CorelDRAW极具创意的多边形工具
这是一个简单的教程,它展示了使用三种基本的CorelDRAW工具打造的创意性成果:多边形工具.挑选工具和形状工具. CorelDRAW 可让您以非常直观的方式创建多边形.尽管多边形工具乍看起来并不像一 ...
- CorelDRAW绘制的优秀人物肖像插画作品
艺术创作 关于作者 Dmitry Demidenko (LINEKING),1986 年出生于俄罗斯的斯帕斯克达利尼.他自幼痴迷于绘画,而且对矢量图形很有天赋.他从一家小型省立印刷公司的小设计师做起, ...
- MathType中如何输入正、余弦函数
MathType是一款强大的数学公式编辑器,正.余弦函数也是中学中非常重要的一节知识点,今天我们介绍一下在MathType中怎么输入正.余弦函数. 具体步骤如下: 步骤一 打开专业的公式编辑软件Mat ...
- 在FL Studio中如何使用Patcher插件
Patcher作为FL Studio20中自由度极高的一款插件,深受当今制作人的喜爱.其主要功能用于整合混音插件的输入与输出以及自定义控制器等功能.下面分几部分来介绍这个插件. Patcher的Map ...