搭建第一个仪表盘
在报表设计中新建仪表盘,创建数据集,放置图表与指标卡,添加筛选栏,保存并发布。
概述
仪表盘是报表家族的第三种形态:设计者把数据集里的字段绑定到图表、指标卡、排行榜、明细表等区块上,区块按「页签 > 行 > 列」的布局树排列,查看时自适应容器宽度。本文用一个自带数据的示例,从新建到发布走完一遍流程。
功能入口
- 新建:
报表设计页面 > 右上角「新建」> 「新建仪表盘」。 - 在某个目录上新建:目录右键菜单中的「新建仪表盘」。
- 新建成功后,系统会自动在新窗口打开设计器;若浏览器拦截了弹窗,仪表盘已经出现在列表顶部,手动打开即可。
设计器界面分为四块:
| 区域 | 内容 |
|---|---|
| 左栏 | 三个页签:「组件」(组件库)、「数据」(数据集面板)、「结构」(大纲,并汇总配置有问题的组件) |
| 画布顶部 | 页面页签(「+」新增,双击改名,「✕」删除)、页面宽度预览滑条、「撤销」「重做」,有改动时显示「未保存」 |
| 画布 | 筛选栏加区块布局 |
| 右栏 | 选中组件时显示该组件的属性;未选中时显示页面设置(外观、版式、定时刷新、结果缓存、取数) |
保存、预览、发布使用设计器顶部的公共工具栏按钮。
操作步骤
1. 新建仪表盘
- 打开
报表设计,点击「新建」,选择「新建仪表盘」。 - 在对话框中填写名称(必填,不能包含
\ / : * ? " < > |),可填描述与标签,确认后设计器在新窗口打开。
2. 创建数据集
- 在左栏切换到「数据」页签。数据集面板与网格报表设计器是同一个,完整用法见 数据集。
- 点击「新建SQL数据集」,选择数据源,输入下面的 SQL,保存。数据集命名为
ds_visits。
SELECT '内科' AS dept, '2025-01' AS month_no, 1200 AS visits, 86 AS avg_cost
UNION ALL SELECT '内科', '2025-02', 1350, 88
UNION ALL SELECT '外科', '2025-01', 980, 132
UNION ALL SELECT '外科', '2025-02', 1010, 129
UNION ALL SELECT '儿科', '2025-01', 760, 64
UNION ALL SELECT '儿科', '2025-02', 820, 66
提示:这段 SQL 不依赖任何业务表,适用于 MySQL、PostgreSQL、SQL Server 等支持无
FROM查询的数据库;Oracle 需要在每个SELECT后加FROM DUAL。
3. 放置图表并绑定字段
- 左栏切换到「组件」页签。点击「柱状图」会把它加到末尾,也可以拖到画布上的目标位置。
- 在画布上选中这个柱状图,右栏出现组件属性。在「数据集」下拉中选择
ds_visits。 - 「维度」选择
dept,「指标」选择visits,「聚合方式」选择「求和」。图表按科室汇总门急诊人次。
聚合方式可选:求和、平均值、最大值、最小值、计数、去重计数。
4. 放置指标卡
- 在「组件」页签点击「指标卡」。
- 数据集选择
ds_visits,「数值字段」选择visits,「聚合方式」选择「求和」,得到全部记录的合计。
注意:指标卡不选聚合方式时,取的是结果集第一行的数值;选择聚合方式后,由数据库把整个查询结果汇总为一个数。
5. 添加筛选栏
筛选栏中的控件绑定的是数据集里的参数,有两种方式:
- 按参数筛选:在数据集 SQL 里用
$参数名引用参数(例如WHERE dept = $dept),再在数据集编辑器底部点击「从SQL提取参数到报表参数」。然后点击筛选栏上的「+ 添加筛选」,在「选一个参数加进过滤栏」列表中选择该参数。 - 按字段筛选(不用改 SQL):在同一个「+ 添加筛选」菜单的「按字段筛选(不用改 SQL)」区域直接选择字段,筛选值作为列条件作用于声明了这一列的数据集。
添加后,点击控件可在右栏配置其类型。可选的控件类型有:文本框、数值框、下拉单选、下拉多选、单选按钮组、日期、日期范围、树选择、开关。
注意:「下拉多选」要求参数类型声明为 List,否则
IN条件会整段消失;「开关」要求参数类型声明为 Boolean。
6. 调整版面与页面设置
- 拖动区块可调整位置;区块标题栏「⋯」菜单里有「左移」「右移」「上移一行」「下移一行」「删除组件」等命令。
- 需要多页时,点击画布顶部的「+」新增页签,双击页签改名。
- 不选中任何组件时,右栏是页面设置,详见下文参数表。
7. 保存、预览与发布
- 点击顶部工具栏的「保存」。有改动未保存时,画布顶部会显示「未保存」。
- 点击「预览」查看运行效果,确认后点击「发布」。
- 发布后,仪表盘出现在
报表设计列表中,可以打开查看、复制公开链接,或嵌入第三方系统(见 报表集成)。
注意:如果同一张仪表盘在其他窗口或被其他人修改过,设计器会提示「仪表盘已在其他窗口或被其他人修改,这里的改动不会再保存」,需要点击「刷新页面」获取最新内容后再继续编辑。
页面设置说明
| 属性 | 说明 | 取值/默认值 |
|---|---|---|
| 配色主题 | 组件颜色全部取自主题,切换主题时图表色板一起切换 | 默认蓝、医疗青、金色、自定义…;自定义时可设「主色」与「图表色板」 |
| 明暗 | 仪表盘的明暗模式 | 跟随应用、始终浅色、始终深色 |
| 最小宽度 / 最大宽度 | 窄于最小宽度时横向滚动,宽于最大宽度时居中留白 | 0 表示不限制 |
| 自动刷新 | 只在查看时生效,设计器中不会自动刷新;页面切到后台时暂停,切回后立即刷新一次 | 不自动刷新、每 30 秒、每 1 分钟、每 5 分钟、每 10 分钟、每 30 分钟 |
| 结果缓存 | 同一张图在缓存时间内只查一次库,所有人共用结果;只对已发布版本生效 | 跟随系统设置、10 秒、30 秒、1 分钟、5 分钟、10 分钟、30 分钟、1 小时 |
| 聚合下推 | 「优先下推(推荐)」让数据库做分组汇总,大表更快;「超出行数上限才下推(旧版)」先取回明细再在内存中计算 | 优先下推(推荐)、超出行数上限才下推(旧版) |
示例
按上文步骤完成后,仪表盘包含:
- 一个柱状图:横轴为科室(内科、外科、儿科),数值为各科室
visits求和,分别为 2550、1990、1580。 - 一个指标卡:
visits求和,为 6120。
注意事项
注意:区块配置了数据集但字段缺失时不会报错,只是显示为空。左栏「结构」页签会汇总「N 个组件的配置有问题」,点击条目可定位到对应区块。这种情况常见于把别人导出的模板指向自己的数据库之后。
提示:设计器里的筛选栏是可交互的真实控件,调整筛选后区块会立即变化,不必先保存再去预览验证联动是否生效。