简介

​ Pentaho Report Designer(以下简称PRD)是Pentaho开源系统中的数据报表模块,预期作为Java项目中的报表功能来集成使用。

现阶段需要在PRD中提前设计好报表方式才能输出报表供前后端调取,因此本文还会介绍关于PRD的用法。

本文中使用的版本为PRD7.1.0.0

安装与配置

环境要求

  • Java, JDK1.8
  • Maven, Verson3+

运行方式

	1. 检查是否配置好本地Java与Maven环境
  1. 解压缩下载的软件包,包内结构应大致如图(版本不同可能产生些许差异)

  1. 运行launcher.jar,或在命令行中使用命令./report-designer.sh以启动PRD。

使用教学

教学包括数据源配置、原始数据获取、报表布局设计、报表数据格式化、报表预览、报表发布以及报表访问这几个方面。

本文中采用手工建立的方式进行报表配置,此外还有报表向导的方式,在此不多作说明,区别是在新建报表时选择Report Wizard而不是New Report。

数据源配置与原始数据获取

  1. PRD软件功能模块集成度极高,因此启动时间较久,需要耐心等待

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

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

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

  1. 添加完连接配置后点击右上角的绿色加号按钮,填写查询名称,在下方添加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:水平线

​ 控件的内容较多,不在这里赘述,可以自行研究。

示例

  1. 从右侧的Data中将字段拖拽到报表的Details区并调整位置。

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

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

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

报表预览与发布

  1. 配置完成后点击页面左上的眼睛按钮进行预览。

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

  1. 填写BI Server的参数。

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

  1. 出现该弹窗即发布完成。

报表访问与获取

  1. 登录BI Server

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

  1. 点击Open in a new window可以浏览。

  2. 复制新打开窗口的链接地址,例如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 报表系统 - 入门详解的更多相关文章

  1. 重装Windows系统 入门详解 - 基础教程

    重装Windows系统 入门详解 - 基础教程 JERRY_Z. ~ 2020 / 10 / 13 转载请注明出处!️ 目录 重装Windows系统 入门详解 - 基础教程 一.说明 二.具体步骤 ( ...

  2. SQL注入攻防入门详解

    =============安全性篇目录============== 本文转载 毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但是对安全方面的知识依旧薄弱,事实上是没机 ...

  3. SQL注入攻防入门详解(2)

    SQL注入攻防入门详解 =============安全性篇目录============== 毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但是对安全方面的知识依旧薄弱 ...

  4. Quartz 入门详解

    Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用.Quartz可以用来创建简单或为运行十个,百个, ...

  5. Redis快速入门详解

    Redis入门详解 Redis简介 Redis安装 Redis配置 Redis数据类型 Redis功能 持久化 主从复制 事务支持 发布订阅 管道 虚拟内存 Redis性能 Redis部署 Redis ...

  6. [转]SQL注入攻防入门详解

    原文地址:http://www.cnblogs.com/heyuquan/archive/2012/10/31/2748577.html =============安全性篇目录============ ...

  7. 转:JAVAWEB开发之权限管理(二)——shiro入门详解以及使用方法、shiro认证与shiro授权

    原文地址:JAVAWEB开发之权限管理(二)——shiro入门详解以及使用方法.shiro认证与shiro授权 以下是部分内容,具体见原文. shiro介绍 什么是shiro shiro是Apache ...

  8. 【转载】SQL注入攻防入门详解

    滴答…滴答…的雨,欢迎大家光临我的博客. 学习是快乐的,教育是枯燥的. 博客园  首页  博问  闪存    联系  订阅 管理 随笔-58 评论-2028 文章-5  trackbacks-0 站长 ...

  9. Quartz 入门详解 专题

    Cron-Expressions are used to configure instances of CronTrigger. Cron-Expressions are strings that a ...

随机推荐

  1. Mybatis的缓存——一级缓存和源码分析

    目录 什么是缓存? 一级缓存 测试一. 测试二. 总结: 一级缓存源码分析: 1. 一级缓存到底是什么? 得出结论: 2. 一级缓存什么时候被创建? 3. 一级缓存的执行流程 结论: 一级缓存源码分析 ...

  2. Spring5.0源码学习系列之浅谈BeanFactory创建

    Spring5.0源码学习系列之浅谈BeanFactory创建过程 系列文章目录 提示:Spring源码学习专栏链接 @ 目录 系列文章目录 博客前言介绍 一.获取BeanFactory主流程 二.r ...

  3. Shell 筛选符合条件的 ELF 文件

    0 运行环境 本机系统:Windows 10 虚拟机软件:Oracle VM VirtualBox 6 虚拟机系统:Ubuntu 18 1 引言 - 编译过程 我们知道在 CPU 上执行的是低级别的机 ...

  4. 《Python3反爬虫原理与绕过实战》作者韦世东

    可以用(k1,k2)-k1来设置,如果有重复的key,则保留key1,舍弃key2/打印appleMap{1=Apple{id=1,name=苹果1,money=3.25,num=10},2=Appl ...

  5. 对“线上问题 不能gdb调试怎么处理??“”的思考

    Q1:线上问题的process 都为release版本!不带调试信息怎么查?(目前有时需要查线上问题, 不得不解决这个问题) 之前查问题都是编译环境编译一个带有debug信息的版本进行替换来调试,但是 ...

  6. python之深浅copy与id

    我们都知道 所谓变量就是就是在空间中开辟一块内存空间.来存放东西的 学过c语言的都知道而数组也是有内存地址的 我们如何来查看内存地址呢?id()这函数就来了 x = 5 print(id(x)) 如此 ...

  7. win7-64位 jdk安装

    1.jdk安装 jdk安装主要是进行jdk以及jre安装,注意jre需要安装到一个空文件夹内即可. 官网地址:http://www.oracle.com/technetwork/java/javase ...

  8. 配置内网访问的TV

    前言 通过内网模式访问tv远程机器 方法 云主机配置 一台云主机,云主机申请两个公网IP 云主机启动两个frps进程绑定到两个内网的ip 客户端配置 远程一台linux跳板机运行frpc,启动两个进程 ...

  9. ipmi常用的命令行命令

    前言 记录一些常用的命令行操作 命令 查询机器的电源状态 ipmitool -I lanplus -U admin -P admin -H 172.16.21.215 power status 硬重启 ...

  10. PHP代码审计入门(SQL注入漏洞挖掘基础)

    SQL注入漏洞 SQL注入经常出现在登陆页面.和获取HTTP头(user-agent/client-ip等).订单处理等地方,因为这几个地方是业务相对复杂的,登陆页面的注入现在来说大多数是发生在HTT ...