栏目说明
「Quick BI使用案例」系列短文都来源于用户遇到的真实问题。
文章聚焦使用过程中的高频误区与使用技巧,希望能帮助您更充分地发挥产品价值。
问题背景
某全国性电商公司使用多种运输方式发货:
- 空运
- 大卡
- 火车
管理层发现同一区域对不同运输方式的依赖程度不同,且单笔订单金额差异大。为优化物流策略,需确认:
“在每个大区(如华东、华北),各类运输方式中,最大的单笔订单金额是多少?然后把这些「最大值」按区域汇总,得到每个区域的‘高价值订单潜力’。”
这能帮助识别:
哪些区域有高价值客户,适合推高端物流?
解决方案
数据库不支持 SUM(MAX()) 直接嵌套使用,需要通过数据集自定义SQL 预聚合+仪表板图表二次汇总实现最大值求和。
以MySQL 8为例说明具体步骤:
Step1. 数据库中存在表company_sales,主要字段如下:
area: 区域名称shipping_type: 运输方式order_amt: 订单金额
Step2. 创建自定义SQL数据集。
1.在Quick BI中选择对应数据源;
2.点击右侧「SQL 创建数据集」按钮;
3. 输入以下自定义SQL:
SELECT area, shipping_type, MAX(order_amt) AS max_order_amt FROM company_sales GROUP BY area, shipping_type
由于不支持嵌套聚合(如 SUM(MAX())),需通过 “创建中间计算字段 + 图表二次汇总” 实现。
4. 点击 「确认编辑」 → 关闭窗口 → 保存数据集;
点击右上角“确认编辑”按钮,然后点击右上角×关闭自定义SQL页面,完成SQL编辑。
5. 点击「保存」按钮保存数据集。
Step3. 配置交叉表字段。
1.点击 「创建仪表板」,添加 交叉表 组件;
2.配置字段:
- 行(维度):选择
areashipping_type - 列(度量):选择
max_order_amt
Step4.启用按区域汇总
1.度量max_order_amt聚合方式选择「求和」。
2. 交叉表「样式」设置中选择「总计/小计」→「列汇总」:
- 开启分类汇总(列小计):小计函数选择
sum,汇总维度选择area。
Step5.展示效果如下:
列小计为该区域所有运输方式的最大值订单金额求和。列小计值较大的区域说明存在高价值客户,适合推高端物流。
如阅读后有任何问题,您可以点击Quick BI产品内右下角【帮助与反馈】按钮与我们取得联系。