Skip to content

报表配置 ​

报表配置是核心入口:定义查询 SQL、查询维度、表格列,并可下钻到图表配置与修改记录。

配置项说明 ​

配置项说明
编码保持唯一,发布菜单时作为菜单编码,创建后不可修改
名称报表名称
分组关联分组管理,树型组织海量报表
数据源不选则使用 Spring Boot 默认数据源
处理类可绑定报表处理类
分页方式后端分页 / 前端分页 / 不分页
缓存时间(秒)查询结果缓存时长,0 表示不缓存,默认 1 秒
自动刷新(秒)页面数据自动更新周期
允许导出是否展示 Excel 导出按钮
查询 SQL表格数据的查询语句
统计 SQL仅后端分页时可配置,用于计算总行数;不配置时默认以子查询 count(*) 统计,嵌套统计较慢时可单独指定
预览配置完成后可直接弹窗预览(需提前发布菜单并授权)

报表 SQL ​

获取参照维度值方法:${维度编码}

使用自定义函数动态处理参照维度:

sql
# 其中and函数第一个参数为数据库字段名称,第二个参数是查询维度编码
select * from xxx where 1=1 ${and('field','dimension')}
# 编译结果 →
select * from xxx where 1=1 and field = 'xxx'

SQL 上下文变量 ​

可以在任意 SQL 配置处通过 ${上下文变量} 获取到如下数据对象

变量名称说明
__request__请求对象(HttpServletRequest)
__response__响应对象(HttpServletResponse)
__uid__当前登录用户ID,e_upms_user 表 id 列
__pageIndex__分页索引
__pageSize__分页大小
__export__导出时为 true,查询时为 false(boolean)

使用方式

sql
# 查询当前登录用户数据
select * from xxx where id = ${__uid__}
# 编译结果 →
select * from xxx where id = 1
# 执行结果
[{"account":"erupt","name":"管理员","id":1}]

查询维度 ​

表示报表搜索项的类型,支持如下二十余种查询组件:

分类维度类型
文本文本、标签
数值数值、数值范围
时间日期、时间、日期时间、周、月、年、日期范围、日期时间范围
列表参照参照单选、参照多选、参照单选框、参照复选框
树型参照参照树单选、参照树多选、参照级联
表格参照参照表格单选、参照表格多选

参照类维度需关联参照维度。默认值通过 JS 表达式动态生成,字符串需加引号。

表格列配置 ​

WARNING

表格列为动态展示,不映射列配置信息无需配置!

列类型说明
文本默认类型
数值右对齐展示
时间居中展示
长文本内容过长时自动收起
百分比以进度条方式展示
链接点击跳转
链接(弹窗)弹窗内打开链接
下钻点击后执行下钻 SQL,弹窗展示明细

此外每列还可配置宽度、是否显示、是否排序。

表格列下钻 ​

表格列配置中类型选择下钻,即可出现下钻 SQL 输入框(下钻类型必填)

配置规则:

SQL 随意写,行变量值取:冒号 + 列名的形式,如果钻取列不希望被页面显示参照上图将 id 列隐藏即可

sql
select * from e_upms_menu where id = :id

效果展示

图表配置 ​

在报表行的图表配置下钻中维护,一张报表可挂多个图表,使用 SQL 语句即可快速开发图表,支持图表与维度的联动。

配置项说明
编码报表内唯一,创建后不可修改
名称图表名称
栅格图表占用的栅格数,24 为占满一行,默认 24
高度(px)图表高度,默认 340
数据源 / 处理类同报表配置,图表可独立指定
缓存时间(秒)图表数据缓存时长,默认 1 秒
图表类型见下表,渲染引擎为 G2Plot
图表 SQL图表数据查询语句
自定义图表配置JSON 格式,参考 G2Plot 配置项,深度定制图表样式

支持的图表类型与 SQL 返回列约定:

图表类型SQL 返回列
统计值1~2 列:数值 / [名称]
提示1 列,多行自动拼接,用于突出关键信息
折线图、阶梯折线图、柱状图、堆叠柱状图、面积图、百分比面积图、条形图、百分比堆叠条形图、雷达图、散点图、玉珏图2~3 列:名称 / 数值 / [分类]
气泡图4 列:x / y / 系列 / 大小
饼图、环图、玫瑰图、漏斗图2 列:名称 / 数值
瀑布图2 列:名称 / 增量值
词云2~3 列:名称 / 数值 / [分类]
桑基图、弦图3 列:名称 / 数值 / 目标名称
表格任意列
组件模板由绑定的组件模板自行渲染

分组管理 ​

配置树型分组信息,方便管理海量报表

组件模板 ​

在图表配置 → 图表类型选择组件模板时绑定,用于完全自定义的报表模板。模板语法为 Freemarker,资源类型支持两种:

  • 在线配置:直接在线编辑模板内容
  • 文件路径:指定 resources 目录下的模板文件

模板中可使用 ${dataJson}(JSON 字符串)或 data(List 对象)获取图表 SQL 的查询结果,request 获取请求对象。

html
<h1>${1+1+100+1000}</h1>
<hr />
<b>加粗</b>
<hr/>
<#list data as d>
   ${d.name}
</#list>
<code>
   ${dataJson}
</code>

修改记录 ​

报表行下钻修改记录,可查看每次变更历史

贡献者

The avatar of contributor named as YuePeng YuePeng
The avatar of contributor named as Claude Fable 5.1 Claude Fable 5.1

页面历史

Released under the Apache-2.0 License.