润乾报表设计器可以帮助用户设计各种行业的报表,直接进入软件就可以创建新的设计方案,可以在软件编辑SQL数据,可以加载excel模板到软件设计,可以集成多种插件设计报表,可以设计可视化的统计报表以及动态的数据报表,功能非常强大,满足大部分行业对报表的功能需求,如果你需要分析企业数据,统计数据,可以使用这款润乾报表设计器制作适合当前业务需求的新报表,加载数据到报表就可以执行分析和统计,软件与Excel无缝交互,支持sql代码,需要就可以下载使用!
1、润乾报表的作用
提升图表的开发效率
表格少的,可以用代码写,几十上百张表格呢,纯手工需要用多少时间?
格式复杂,逻辑复杂的,做起来更是头大
需求总变来变去,修改和维护成本太高
使用润乾报表可以数倍得提升开发效率
图形自己做不美观,而且工作量巨大
用第三方的相对简单,但集成和学习成本也不小
润乾自带各类统计图,并且内置了echarts,做图美观又方便从各行业合作伙伴的实际使用情况证明:使用润乾报表做表格和图形,可以极大的提升效率,节省成本
润乾报表为什么做表效率高呢?往下看!
完善系统结构
不仅做表格和图形快,报表工具自带的外围功能还能很好的完善补充自己系统的功能
也可以看到报表在整个应用体系架构中的位置
2、非线性报表模型
先看线性的
再看非线性的
多源分片
多源分片是中国式复杂报表的特点,在一个报表中包含多个数据集(数据库)数据,在报表中以多个分片的方式呈现
行列对称
任意复杂报表都可以横向和纵向两种方式实现,行上的配置和操作在列上同样可以进行
不规则分组
除了常规分组汇总,还支持按段分组、归并分组等不规则分组方式
除了“华北和华东”,其他地区的数据都归并到“其他”分组中
按照金额的不同区间,不同分段来分组动态格间计算
格间计算主要指跨单元格运算,常见的同比环比就是典型的格间计算
格间计算可以写出很复杂的计算目标(同比、环比、累积、占比、排名.……)
这里“比去年同期”计算时,只会比较有去年同月的数据
什么是非线性报表模型?
能快速制作这类复杂报表的就是“非线性报表模型”
“中国式复杂报表” 的概念,就是20年前润乾首先提出的
“非线性报表模型” 就是润乾解决这些复杂报表的的方案,是润乾的专利
这些概念和方案一直是报表行业的标准,一直被沿用至今
纯手工或者其他报表工具怎么做这些复杂的报表?
润乾非线性报表模型又是如何做的?非线性报表模型的优势
手工或者传统报表
编写复杂SQL语句
编写存储过程
建立辅助中间表
编写程序计算
页面拼接
润乾非线性模型
用函数和表达式直接就做出来了
多源分片:像简单报表一样直接写表达式
比去年同期:用层次坐标一个式子搞定=C2/C2[`0]{A2==$A2-1 && B2==$B2}
按段分组:plot 函数搞定
润乾非线性报表模型做什么表都是简单报表!
3、润乾的工作原理
整体工作原理
分步说明:第一步设计报表模板
在润乾类Excel的设计器(IDE)中,配置数据源,设置数据集,拖拽设计模板
分步说明:第二步在web服务器发布报表
润乾是标准J2EE结构,把润乾的应用包,复制到应用系统中,XML文件配置数据源信息,编辑JSP文件配置展现报表的TAG标签
分步说明:第三步浏览报表
然后在浏览器中输入URL,访问对应JSP,就可以浏览报表了,同时还可以做打印或者导出到Excel等的操作了
4、报表功能
基础报表不基础
在这部分材料中,将展示润乾报表的基础功能,这里的“基础”是相对润乾报表其他高级/独有功能而言的,而这部分“基础”功能涵盖了市面上主流报表产品的绝大部分核心功能,包括一些高级企业级功能
使用基础报表(产品版本中的报表版)可以满足绝大多数用户对报表的功能期望,实现同类报表工具的绝大部分功能
满足90%以上功能期望功能速览
设计与调试参数控制主子报表报告生成
多源数据分片宏报表组Dashboard与大屏
行列对称SQL植入防备冻结表头移动端呈现
不规则分组图表呈现折叠报表高可用与高性能
动态格间计算图章水印数据钻取集成部署
数据源种类报表样式打印导出API接口
报表设计与调试
润乾报表采用桌面的类Excel设计器,开发者可以在设计器中预览报表
或使用内置Tomcat将其发布到WEB上预览,以方便查看页面效果
类EXCEL报表设计
报表文件设计采用类EXCEL风格,这样开发出来的报表格式规整(相对控件类),开发人员上手也更简单
EXCEL无缝交互
在报表设计阶段,可以将业务部门提供EXCEL表样导入设计器继承EXCEL样式快速开发报表
在报表查看时,报表可以无失真导出EXCEL,方便业务部门使用
中国式复杂报表
润乾的非线性报表模型完美解决了中国式复杂报表的制表问题
*润乾报表一直是业内对复杂报表支持全面、性能出色的产品
数据源种类
基础报表主要支持三类常见的数据源类型
JDBC/ODBC数据源
文件数据源
JAVA自定义数据源
*文件数据源包括TXT、EXCEL、CSV等数据文件参数控制
报表可以接收参数实现数据过滤和权限控制
参数可以通过定制参数模板用来录入,也可以使用用户自有的表单,或通过WEB传递
润乾报表参数表单
提供多种编辑风格:
下拉日历下拉树下拉列表……外部输入参数
SessionRequest
API
……
宏
使用宏(${参数名})可以进行表达式动态替换,实现更灵活的查询条件
报表开发者可以定义一个及其通用的报表模板,通过参数和宏来实现不同报表的呈现效果
SQL植入防备
支持敏感词配置,有效防止报表SQL注入攻击
图表呈现
支持表格、图形或图表结合的呈现方式
润乾报表提供30+种内置统计图类型,同时支持ECharts/D3等第三方JS图库
图章水印
提供电子签章/签名、水印、二维码/条形码等功能
报表样式
可以定义局部样式,作用于某一单元格和或行列,也可以定义全局样式进行整体报表风格把控
*适用场景:要求报表呈现风格与系统整体设计一致时主子报表
主子表提供了报表嵌报表的呈现方式,这样可以在一个报表中展现不同主题(格式)的分片内容
*在这个例子中,报表中各片的格线(纵向)是不对齐的,如果不使用主子表很难实现这样的效果
报表组
报表组将多个报表组合到一起,以多sheet方式呈现,整个报表组共用同一套参数
冻结表头
报表很高或很宽时,通过冻结(锁定)表头固定表头信息方便数据查看
折叠报表
多层分级报表可以采用折叠/展开方式呈现
数据钻取
表格和图形提供超链接钻取功能,通过传递表格/图形参数实现汇总到明细、报表到报表的数据穿透和钻取效果
*除了不同页面间跳转,还可以在一个页面实现图表联动
打印导出
导出
支持多类型文件与多导出选项
*支持ECharts图形导出
打印
APPLET、FLASH、PDF打印适应不同打印环境
APPLET打印
客户端需安装JAVA插件
FLASH打印
客户端需安装flash播放器 ,用户系统往往自带PDF打印
大部分浏览器无需安装任何插件即可使用
预览打印、直接打印、批量打印、套打,适应不同打印场景
预览打印
预览打印效果,可更改打印设置直接打印
不预览,直接打印,适用快速打印场景批量打印
适用于需要同时打印多张报表场景套打
适用于打印输出到票据类有格式纸张
*支持ECharts图形打印报告生成
将多个报表、文字、图片等内容输出到WORD指定位置,形成内容丰富的报告
Dashboard与大屏
支持企业仪表版(Dashboard),将多个报表按指定布局进行呈现
Dashboard可以用于PC/移动端的领导看板,也可用于数据大屏呈现
移动端呈现
报表采用全面的HTML5输出,适用于多种终端,支持多种操作系统
*【注意】润乾报表不提供完整的移动APP,用户可将报表嵌入自己的APP中使用
高可用与高性能
支持集群部署,支持集群缓存同步保证报表查询性能
静态和动态并发结合控制,保证报表服务器高效稳定运行
集群缓存同步
用户访问A节点产生的报表缓存,可以同步给B节点为另外用户返回报表查询结果(无需再次计算报表)动态并发控制
静态并发控制用于指定同时计算的报表数量;动态并发控制则根据同时计算的报表单元格数进行控制集成部署
可采用taglib方式进行集成,嵌入到已有系统中;也可以单独部署报表服务进行调用
Tag标签自由插入网页需要位置
几十种标签属性灵活配置
API方式实现更灵活控制
样式文件实现皮肤快速切换
*嵌入式和服务式集成各有优缺点,前者与应用结合更紧密但耦合性更高;后者松耦合但要面临服务通信时可能的问题
API接口
丰富的API便于深度控制
5、润乾报表的优势
优势1:比国外开源 - 功能全面易用
开源报表大都比较老旧,有些操作都不是类EXCEL的,操作不易
开源报表基本都是国外的,文档难懂,而且不全,学习不易
开源报表大都功能不全,比如很多都没有填报功能,使用不易
其实现在开源报表基本已经很少有人用了,论坛之类的交流场所也基本荒芜了;而且商用报表越来越便宜,就更无人问津了
优势2:比国内商用 - 老牌性价比高
润乾报表专业报表20年,是中国式复杂报表的提出者,更是解决方案的先行者。是国内报表工具的代表,功能全面稳定,性能好
润乾价格公开透明,不仅为用户节省财务成本,更为双方节省了人力沟通成本,我简单,你方便,通用工具类产品,原本就应该这么简单!
优势3:市场占有率高可信赖
润乾专注报表20年,累积的用户、合作伙伴、市场占有率都遥遥领先。能想到的各行业软件开发商,基本都在用润乾
1、中国报表鼻祖,开创非线性报表模型解决复杂报表
2、网格模式、多源分片、行列对称、格间计算、…高效报表引擎,数据计算和表格渲染性能无出其右
3、纯Java易部署、企业级超稳定、集群缓存带同步
4、特有数据准备脚本,低成本应对没完没了的报表开发
5、热切换、多样源、易开发、缓库压,一个都不能少全套可集成BI组件,附送源码。轻松拥有自有品牌BI系统
6、含多维分析(拖拽自助报表)、 报表管理中心、 DBD、微信集成
1、将润乾报表直接安装到电脑,点击下一步
2、设置软件的安装地址C:Program Filesraqsoft
3、启动润乾报表设计器、一键启动报表中心、显示说明文件
4、打开软件就可以点击新建报表功能,可以在软件创建新的报表,也可以新建报表组,新建填报表、新建行式填报
5、SQL编辑器界面,如果你需要设计报表就可以在这里添加数据内容,设置数据字段
6、支持数据集工厂侦听器类名、数据集工厂过滤器类名、数据集记录行设置
7、工具菜单界面:添加到样式、添加为预定义格、配色方案、JSP编辑器、脚本编辑、导入Excel、上载文件
8、接管控制台
保存时自动备份(加文件后缀BAK)
自动连接(最近连接)
粘贴单元格时调整表达式
动态提示设置的属性
模板菜单
单元格内输入回车时切换自动换行
模板菜单
单元格内输入回车时切换自动换行
应用程序外观Silver
文字折行微调宽度
日志级别DEBUG
默认配色方案
Double.NaN的显示值NaN
9、自动打开(最近文件)
将异常写入日志文件
阻止计算数据集的字段名
记忆窗口位置大小
自动过滤字体
在字符处折行
提醒授权即将过期
历史步骤最大数目20
连接数据库时最长等待10秒
数值格式化类名
缺省配色方案作用范围:IDE编辑
10、可以在软件配置报表样式配置、格子样式文件、授权文件名称、日志文件名称、应用资源路径、报表模板路径
11、初始化属性设置:纸张类型、默认单位、上边距、行数、格子属性、字体、水平对齐、纵向对齐、尺寸调整
12、JSP主目录、JSP文件字符集、标签库文件名/WEB-INF/raqsoftReport.tld、标签库前缀report
13、使用已安装的集算器配置
集算器安装目录
寻址路径web/webapps/demo/WEB-INF/reportFiles
主目录
注意:相对路径请不要以或开头
临时目录
初始化程序
外部库目录
自定义函数文件
14、启动服务器
停止服务器(S)
WEB预览(I)
手机预览报表
启动示例数据库
停止示例数据库
15、这里是软件的帮助界面,可以打开教程内容,可以查看填报教程
分组报表
本节我们将介绍一个常规的分组报表的例子,学习group()函数的用法。
一个例子
我们先看下面这个分组报表:
从上面的这个报表可以看出,这是一个分组报表,左边按照地区维度进行了完全的分组,整个报表被分成东北、华北、华东、华南、西北、西南等6组,我们看一下这样的报表在润乾报表中是如何设计的:
1、 首先通过“报表”-> “数据集”菜单,定义数据集:
ds1:SELECT 客户.城市,客户.地区,订单明细.数量,订单明细.单价 FROM 客户,订单,订单明细 WHERE 客户.客户ID = 订单.客户ID AND 订单.订单ID=订单明细.订单ID
2、 写入单元格表达式,如下图所示:
此报表保存为11.1.1.rpx。
从上图可以看出,该报表最关键的是A2格和B2格,利用group函数对数据集进行了分组,并把分组结果在报表中进行纵向扩展。
这个例子用到了group函数,下面我们做一下介绍:
group()
函数说明:
根据分组表达式,从数据集中选出一组组集。
语法:
datasetName.group({,filterExp};;{ groupSortExp }:{ groupOrderExp }) //适用于不需要排序或数据集中已排好序
datasetName.group({,filter_exp};{sort1}{:order1},…;{ groupSortExp }:{ groupOrderExp })
参数说明:
selectExp 选出的分组表达式,可以是字段列名/列号,也可以是表达式。列号用#n表示,例如#0代表第0列,#1代表第1列,依此类推
filterExp 过滤表达式
sort1 分组前记录的排序依据表达式
order1 分组前记录的排序顺序,省略为不排序,>0升序,<0降序;order1,..,ordern省略时升序
groupSortExp 分组后对组的排序表达式,一般是汇总运算的表达式,如组合计等
groupOrderExp 组排序顺序,>0升序,<0降序
选项:
@r 是否为根数据集表达式
返回值:
一组数据的集合,数据类型由selectExp的运算结果来决定
示例:
例1:ds1.group(class)
把数据集ds1中所有记录按照class字段不排序只进行分组,相邻相同的值分到一组,并返回每组的class值组成的集合
例2:ds1.group(class:-1 )
把数据集ds1中所有记录按照class字段降序排列,然后根据class进行分组,并返回每组的class值组成的集合
例3:ds1.group(class,gender=='1'; class)
从数据源ds1中选取性别为"1"的记录,按照class字段升序排列,然后根据class进行分组,并返回每组的class值组成的集合,order1缺省为升序
例4:ds1.group(class, gender=='1'; id:-1 )
从数据源ds1中选取性别为"1"的记录,按照id字段降序排列,然后根据class进行分组,并返回每组的class值组成的集合
例5:ds1.group(省份;省份:1; sum(工业产值):-1)
对数据集ds1按照省份进行分组,分组后求出每组的sum(工业产值),然后按照这个汇总值对组进行逆序排列
例6:ds1.group@r(GENDER;GENDER;ds1.sum(SALARY))
对根数据集ds1按照GENDER进行分组,分组后求出每组的sum(SALARY,然后按照这个汇总值对组进行升序排列
●注意:
group函数是对数据集按照某个字段或者表达式进行分组,获得一组组的集合,然后从每组中取出一个指定字段或者表达式的值,放到单元格中进行扩展,扩展出来的每个单元格都保留了一个指针指向当前的组集,该组集称为当前组。
因此在附属单元格中,需要对该组集进行操作时,不需要用任何条件和主单元格关联了,如果加设了条件,反倒画蛇添足,导致报表引擎还对组集中的记录进行遍历检索。
正确的group 用法:
不合理的group用法:
group函数的原理图示:
不完全分组
我们把报表11.1.1.rpx做些变化,不要把所有的记录用于分组,因为某些组用户并不关心,我们仅仅保留“华北”、“华东”这两个组,把剩余的组全部归并成一组,命名为“其他”,报表样式如下图所示:
这种仅仅对数据集中的部分记录进行分组的报表,我们称为不完全分组报表。
这种不完全分组的报表,不能简单地用SQL中的过滤条件来实现,因为剩余没有参与分组的记录也要在“其他”组中进行统计,而不是SQL中过滤掉就行了。
看看润乾报表中如何实现这样的报表:
1、 首先通过“报表”-> “数据集”菜单,定义数据集
ds1:SELECT 客户.城市,客户.地区,订单明细.数量,订单明细.单价 FROM 客户,订单,订单明细 WHERE 客户.客户ID = 订单.客户ID AND 订单.订单ID=订单明细.订单ID
2、 定义单元格属性和表达式
(1) 在A2单元格输入表达式:=ds1.group(地区,地区=='华东' or 地区=='华北';地区:1)
(2) 在B2单元格输入表达式:=ds1.group(城市;城市:1)
(3) 在C2单元格输入表达式:=ds1.sum(数量*单价)
设置显示格式为:¥#0.00
(4) 在B3单元格输入表达式:=ds1.group(城市,地区!='华东' and 地区!='华北';城市:1)
(5) 在C3单元格输入表达式:=ds1.sum(数量*单价)
设置显示格式为:¥#0.00
3、 报表保存为11.2.rpx,报表预览
●说明
可以看出,润乾报表处理这种问题很巧妙,润乾报表提供的select和group函数均带有过滤条件参数,可以在进行选出或者分组的时候,过滤掉无关的记录,仅仅对部分记录进行分组。之后还可以对同一个数据集重复进行多次的分组或者选出、汇总操作,从而可以实现很复杂的分组报表。
20230113
1. 更新产品帮助文档
2. 富文本增加删除线标签
3. 报表中心超链接节点增加用户名、邮箱、手机、用户报表参数的配置
4. 解决了使用API向Word插入图片时的自适应问题
20221210
1. 更新产品帮助文档
2. 填报表增加“多行文本”编辑风格
3. 填报表增加“字段名称包含空格时提示”选项
4. 填报表增加删除行前的js回调函数beforeDeleteRow
5. 集算器数据集增加“脚本文件优先在WEB应用中查找”选项
6. 大报表增加exportPageFetchSize属性,优化大报表导出内存溢出的问题
7. 解决了下拉日历设置时分秒不显示秒的问题
办公软件 /
下载办公软件 /
下载办公软件 /
下载办公软件 /
下载办公软件 /
下载办公软件 /
下载办公软件 /
下载办公软件 /
下载办公软件 /
下载办公软件 /
下载
网友评论