栏目说明
「Quick BI使用案例」系列短文都来源于用户遇到的真实问题。
文章聚焦使用过程中的高频误区与使用技巧,希望能帮助您更充分地发挥产品价值。
问题背景
某大型连锁零售企业需要制作一张“年度全国各个区域销售额总排行榜”。业务需求是:管理层在查看报表时,希望通过“区域”查询控件(如筛选“华南区”和“华北区”),快速找出华南区和华北区在全国销售额总榜单中的具体名次(例如:华南区、华北区销售额在全国排第2,3名),而不是筛选后华南区和华北区分别变成第1,2名。
核心痛点:
如果直接在Quick BI排行榜图表样式中配置序号,一旦筛选“华南区”和“华北区”,图表只会展示华南和华北的数据,并且排名会重置为1、2,无法反馈选择区域在全国的真实排位。
解决方案
排行榜反映指标在维度中的分布及排名顺序,简洁地展示TOP N的降序排行。可以通过在数据准备阶段(创建数据集时),利用SQL的开窗函数 RANK() 提前算出每个区域基于总销售额的固定排名。这样无论前端如何筛选,各个区域自带的“全国总排名”字段数值都不会改变。解决区域筛选后排名重置问题,保持榜单原始排序逻辑。具体配置说明如下:
Step1. 数据库中存在表company_sales,主要字段如下:
area: 区域名称order_amt: 订单金额
Step2. 创建自定义SQL数据集。
1.在Quick BI中选择对应数据源;
2.点击右侧「SQL 创建数据集」按钮;
3. 输入以下自定义SQL(以MySQL数据库为例):
SELECT a.area, a.销售额, RANK() OVER ( ORDER BY a.销售额 DESC ) AS 排名 FROM ( SELECT area, SUM(order_amt) AS 销售额 FROM company_sales GROUP BY area ) a
4. 点击 「确认编辑」 → 关闭窗口 → 保存数据集;
点击右上角“确认编辑”按钮,然后点击右上角×关闭自定义SQL页面,完成SQL编辑。
5. 点击「保存」按钮保存数据集。
Step3. 配置排行榜字段。
1.点击 「创建仪表板」,添加 排行榜 组件;
2.排行榜默认开启序号,需要在样式中将序号关闭;
3.排行榜配置字段如下:
- 行(维度):选择
area - 主指标/度量:选择
销售额 - 副指标/度量:选择
排名
Step4.添加图表内查询控件
1.点击排行榜右上角三个点,点击菜单 「插入查询条件」。
2.添加查询条件,关联字段选择“area”,选项值来源选择单个数据集,查询字段和显示字段选择“area”。
Step5. 最终展示效果:
排行榜中各区域完整销售额及排名如下:
图表内查询控件筛选“华南”和“华北”区域,对应的全国区域销售额排名分别为第2名和第3名。
如阅读后有任何问题,您可以点击Quick BI产品内右下角【帮助与反馈】按钮与我们取得联系。