Google Sheets按月份与地区分组计算CSAT平均得分最优方案咨询
各月各地区平均CSAT得分最优实现方案
以下方案均优于预先新增全表预计算列的实现,可避免冗余数据存储、减少维护成本:
1. SQL处理场景
直接在聚合查询时动态计算即可,无需提前生成预计算列,参考代码:
SELECT 月份, 地区, SUM(CSAT数量) / SUM(CSAT总回复数) AS 平均CSAT得分 FROM 你的表名 GROUP BY 月份, 地区;
优势:不额外占用存储资源,原始数据更新后查询结果自动同步,无需重复维护预计算列的数值。
2. Excel/在线表格处理场景
无需修改原始表结构,用数据透视表即可实现:
- 行区域依次拖入「月份」「地区」字段
- 值区域拖入「CSAT数量」「CSAT总回复数」,汇总方式统一选「求和」
- 新增透视表内置计算字段,公式为
= CSAT数量 / CSAT总回复数,设置字段名为平均CSAT得分即可
优势:仅在指定统计维度计算,不会污染原始表结构,调整统计维度时不需要修改原始表的计算逻辑。
3. Python Pandas处理场景
分组后直接聚合计算即可,参考代码:
import pandas as pd # df为你的原始数据表对象 result = df.groupby(['月份', '地区'], as_index=False).apply( lambda x: x['CSAT数量'].sum() / x['CSAT总回复数'].sum() ).rename(columns={0: '平均CSAT得分'})
优势:避免原始表新增冗余列,后续如果要增加国家维度等其他统计维度,仅需修改groupby的字段即可,适配性更强。
特殊场景提示:如果你需要高频查询该统计结果,且原始数据更新频率极低,才建议将预计算后的结果单独存储为统计表,性能高于每次动态查询。
内容的提问来源于stack exchange,提问作者CARLOSLEO280
相关产品推荐
相关产品推荐

