DBeaver 数据透视表把查询结果做成交叉表:字段、汇总、格式一次配好
【免费下载链接】dbeaverFree universal database tool and SQL client项目地址: https://gitcode.com/GitHub_Trending/db/dbeaver
查询结果太宽,没法沿两个维度快速合计。把 DBeaver 的结果集切到数据透视表,拖字段就能完成。做完之后,一行行的订单明细会被压成"客户 × 月份"的二维表,每格带上合计金额。适用于任意已连接的数据库,任意 SELECT 结果集均可,建议 25.x 独立版。
前置条件:切换透视模式前
- 一条已执行、至少返回 1 行数据的结果集
- DBeaver 25.x 及以上独立版(社区版起),24.2 之前无透视入口
- 只需读权限,无需建表或写权限
核心操作:从长表到交叉表
字段落位:行、列、值、筛选四个槽位
目标一次摆齐,交叉表就成型。
- 点结果集工具栏图标行中的"数据透视表"图标(悬停提示 Pivot);看不到就右键网格,选"显示透视表"。
- 把「客户」「月份」拖进行区域,「月份」放前面。
- 把「金额」拖进值区域。
- 只看完结业务,就把「状态」拖进筛选区域。
四槽填满,主区域立刻出现客户 × 月份的交叉表。
让值区域做对汇总
汇总方式决定数字含义。
- 右键值区域的「金额」,在"汇总方式"里选"求和"。
- 想同时看订单笔数,把「订单编号」拖进值区域,默认"计数"。
- 有重复行项时,把「订单编号」改选"去重计数"。
重算后,每格显示该组合下的总金额与订单数。
控制排序与过滤条件
大值提前,噪音消失。
- 点「月份」列表头旁的箭头,选按「金额」降序。
- 在筛选区域的「状态」下拉里勾选"已完成""已退款"。
- 排除个别客户,在行字段的过滤里取消勾选该客户。
表格随改随过滤、排序,SQL 不用重跑。
关键配置速查:汇总、排序、格式一表看清
| 配置项 | 在哪操作 | 效果 | 常见坑 |
|---|---|---|---|
| 汇总方式 | 值区域字段右键 | 求和/计数/去重/最值 | 默认"计数",总额看着偏小 |
| 排序 | 行或列表头箭头 | 对应维度升/降序 | 先排序后改筛选,顺序可能重置 |
| 过滤 | 筛选区域勾选框 | 只保留勾中的组合 | 取消某值后,合计行同步变小 |
| 数字格式 | 字段右键"格式设置" | 小数位、千分位、货币符号 | 只对当前列生效,不自动套用 |
格式默认值由偏好项驱动,可看 plugins/org.jkiss.dbeaver.ui.editors.data/src/org/jkiss/dbeaver/ui/editors/data/preferences/PrefPageDataFormat.java 的定义。
复现与复用布局:模板保存与加载
给布局起个名,在工具栏按"保存配置"。下次打开同一查询,点"加载配置",选"客户月金额"即可还原。模板以 XML 形式写进用户工作区的配置目录,换工作区或清空缓存后失效。结果集展示与透视视图的入口集中在 plugins/org.jkiss.dbeaver.ui.editors.data/ 模块。
排错速查:4 个高频问题
| 现象 | 最可能原因 | 处理 |
|---|---|---|
| 字段拖不动、落不进槽位 | 结果集为空或视图处于锁定 | 重跑查询取数;点工具栏"解锁" |
| 单元格数值明显偏小 | 值字段走了"计数" | 右键改"求和"或合适的汇总 |
| 字段列表里没有新增列 | 改 SQL 后未重跑查询 | 重新执行,刷新结果集 |
| 重启后布局还原不了 | 没存成模板 | 先"保存配置"再关窗口 |
三步拖拽加一次汇总选择,长表变交叉表,结果不再靠脑补。格式偏好与更多行为细节,可查仓库里的开发文档 docs/devel.txt。
【免费下载链接】dbeaverFree universal database tool and SQL client项目地址: https://gitcode.com/GitHub_Trending/db/dbeaver
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考