栏目说明
「Quick BI使用案例」系列短文都来源于用户遇到的真实问题。
文章聚焦使用过程中的高频误区与使用技巧,希望能帮助您更充分地发挥产品价值。
问题背景
为了基于各个区域的利润金额统计结果,快速识别出贡献80%利润的关键区域,我们将利用帕累托分析方法。通过创建组合图(柱状图+折线图),可以直观地展示各区域的利润分布以及累积比例,帮助品牌精准定位高利润区域,以加大投入提升市场竞争力。
解决方案
为实现上述目标,我们可以通过自定义SQL查询结合可视化工具来完成帕累托分析。以下以MySQL 8为例说明具体步骤:
Step1. 数据库中存在表company_sales,结构如下:
area: 区域名称profit_amt: 利润金额
Step2. 创建数据集:选择对应数据源后,点击右侧“SQL创建数据集”按钮,开始构建帕累托分析所需的数据集。
Step3. 编写自定义SQL代码如下:
WITH profit_by_area AS ( SELECT area, SUM(profit_amt) AS total_sales FROM company_sales GROUP BY area ), pareto AS ( SELECT area, total_sales, SUM(total_sales) OVER (ORDER BY total_sales DESC) / SUM(total_sales) OVER () AS cumulative_ratio FROM profit_by_area ) SELECT area, total_sales, ROUND(cumulative_ratio, 2) AS cumulative_percent FROM pareto where area is not null ORDER BY total_sales DESC
这段SQL使用了窗口函数计算每个区域的累计利润占比,并设置格式。
窗口函数(Window Function)是一种特殊类型的SQL函数,它能够在保持原有行数据完整性的同时,对数据集的特定子集(称为"窗口")进行计算。既能看到整体数据全貌,又能聚焦局部细节。
SUM() over()是一种用于计算指定列的累加值的函数。可以在查询结果中建一个新列,该列包含指定列的累加值。
Step4. 保存自定义SQL:点击右上角“确认编辑”按钮,然后点击右上角×关闭自定义SQL页面,完成SQL编辑。
Step5. 保存与应用数据集:点击“保存”按钮保存数据集,然后点击右上角“创建仪表板”,随后在仪表板中创建新的组合图。
Step6. 配置组合图字段:
- 类别轴/维度:选择
area - 主值轴(柱状图):选择
total_sales,设置降序排列。 - 副值轴(折线图):选择
cumulative_percent,用于显示累计利润占比,建议设置为两位小数的百分比格式。
Step7. 查看分析结果:点击下方“更新”按钮,可以直观看到哪些区域(“华北”,“华南”,“东北”,“西南”)贡献将近80%利润,这些就是需要重点关注和增加投入高利润的区域。
通过此方法,不仅可以有效地进行资源分配,还能确保对关键区域的关注度,从而助力企业在市场竞争中占据优势地位。
如阅读后有任何问题,您可以点击Quick BI产品内右下角【帮助与反馈】按钮与我们取得联系。