如何在Google Data Studio中按分支日期汇总线下销售数据并制作柱状图
需求:按分支和日期汇总线下销售数据并生成柱状图
我的数据如下所示。
共有ABC、PQR、XYZ三个分支,每个分支开展Counter Sale(柜台销售)、Online Sale(线上销售)、Van Sale(移动车销售)三类业务。我了解如何直接将这些数据展示为柱状图,但我的需求是按分支和日期汇总Counter Sale与Van Sale的数据,命名为ABC - Offline Sale、PQR - Offline Sale、XYZ - Offline Sale,再将其展示为柱状图。我已为此寻找解决方案两天,未找到有效帮助。我尝试用case语句创建计算字段,但未达到预期效果,未能实现需求。
原始数据
| Date | Branch | SALE | PROFIT |
|---|---|---|---|
| 01-Jan-23 | ABC - COUNTER SALE | 184518 | 184518 |
| 01-Jan-23 | ABC - VAN SALE | 0 | 0 |
| 01-Jan-23 | ABC - ONLINE | 0 | 0 |
| 01-Jan-23 | XYZ - COUNTER SALE | 144425 | 144425 |
| 01-Jan-23 | XYZ - VAN SALE | 38163 | 38163 |
| 01-Jan-23 | XYZ - ONLINE | 0 | 0 |
| 01-Jan-23 | PQR - COUNTER SALE | 261219 | 261219 |
| 01-Jan-23 | PQR - VAN SALE | 0 | 0 |
| 01-Jan-23 | PQR - ONLINE | 53851 | 53851 |
| 02-Jan-23 | ABC - COUNTER SALE | 280046 | 280046 |
| 02-Jan-23 | ABC - VAN SALE | 97992 | 97992 |
| 02-Jan-23 | ABC - ONLINE | 0 | 0 |
| 02-Jan-23 | XYZ - COUNTER SALE | 276917 | 276917 |
| 02-Jan-23 | XYZ - VAN SALE | 15815 | 15815 |
| 02-Jan-23 | XYZ - ONLINE | 0 | 0 |
| 02-Jan-23 | PQR - COUNTER SALE | 310918 | 310918 |
| 02-Jan-23 | PQR - VAN SALE | 0 | 0 |
| 02-Jan-23 | PQR - ONLINE | 129857 | 129857 |
| 03-Jan-23 | ABC - COUNTER SALE | 197445 | 197445 |
| 03-Jan-23 | ABC - VAN SALE | 39976 | 39976 |
| 03-Jan-23 | ABC - ONLINE | 0 | 0 |
| 03-Jan-23 | XYZ - COUNTER SALE | 206751 | 206751 |
| 03-Jan-23 | XYZ - VAN SALE | 24715 | 24715 |
| 03-Jan-23 | XYZ - ONLINE | 0 | 0 |
| 03-Jan-23 | PQR - COUNTER SALE | 303617 | 303617 |
| 03-Jan-23 | PQR - VAN SALE | 0 | 0 |
| 03-Jan-23 | PQR - ONLINE | 189570 | 189570 |
| 04-Jan-23 | ABC - COUNTER SALE | 203264 | 203264 |
| 04-Jan-23 | ABC - VAN SALE | 84817 | 84817 |
| 04-Jan-23 | ABC - ONLINE | 30793 | 30793 |
| 04-Jan-23 | XYZ - COUNTER SALE | 214984 | 214984 |
| 04-Jan-23 | XYZ - VAN SALE | 23149 | 23149 |
| 04-Jan-23 | XYZ - ONLINE | 0 | 0 |
| 04-Jan-23 | PQR - COUNTER SALE | 287748 | 287748 |
| 04-Jan-23 | PQR - VAN SALE | 0 | 0 |
| 04-Jan-23 | PQR - ONLINE | 540781 | 540781 |
| 05-Jan-23 | ABC - COUNTER SALE | 219093 | 219093 |
| 05-Jan-23 | ABC - VAN SALE | 44327 | 44327 |
| 05-Jan-23 | ABC - ONLINE | 104569 | 104569 |
| 05-Jan-23 | XYZ - COUNTER SALE | 167817 | 167817 |
| 05-Jan-23 | XYZ - VAN SALE | 96145 | 96145 |
| 05-Jan-23 | XYZ - ONLINE | 0 | 0 |
| 05-Jan-23 | PQR - COUNTER SALE | 297488 | 297488 |
| 05-Jan-23 | PQR - VAN SALE | 0 | 0 |
| 05-Jan-23 | PQR - ONLINE | 348895 | 348895 |
解决方案
方法1:可视化工具内处理(以Tableau为例)
- 拆分分支与销售类型
- 创建计算字段
分支名称:LEFT([Branch], 3) - 创建计算字段
销售类型:IF CONTAINS([Branch], "COUNTER SALE") OR CONTAINS([Branch], "VAN SALE") THEN "Offline Sale" ELSE "Online Sale" END
- 创建计算字段
- 汇总数据
- 将
Date拖到行区域,分支名称拖到列区域; - 将
SALE(或PROFIT)拖到值区域,设置为求和; - 将
销售类型拖到筛选器,仅勾选Offline Sale。
- 将
- 重命名系列
右键点击图例中的分支名称,直接修改为ABC - Offline Sale、PQR - Offline Sale、XYZ - Offline Sale即可生成目标柱状图。
方法2:SQL预处理数据
直接执行以下查询得到汇总结果,再导入可视化工具生成图表:
SELECT Date, CONCAT(LEFT(Branch, 3), ' - Offline Sale') AS Branch_Offline, SUM(SALE) AS Total_Offline_Sale, SUM(PROFIT) AS Total_Offline_Profit FROM your_table_name WHERE Branch LIKE '%COUNTER SALE%' OR Branch LIKE '%VAN SALE%' GROUP BY Date, LEFT(Branch, 3) ORDER BY Date
内容的提问来源于stack exchange,提问作者Codist
相关产品推荐
相关产品推荐

