Excel数据透视表计算年度客户平均订单数的实现方案咨询
计算每年客户平均订单数的可行方案
方案1:使用Power Pivot度量值(推荐,Excel 2013及以上版本支持)
普通数据透视表的默认计算字段无法实现去重统计客户数的逻辑,所以要用到Power Pivot的DAX度量值,步骤如下:
- 选中你的数据源,点击「Power Pivot」选项卡 → 选择「添加到数据模型」,将原始数据导入Power Pivot
- 在透视表的字段面板右键点击对应的表名 → 选择「添加度量值」
- 度量值名称填写
平均每客户订单数,公式栏输入如下内容(请将公式中的表1替换为你自己的数据源表名):
= DISTINCTCOUNT('表1'[Order date]) / DISTINCTCOUNT('表1'[Customer ID])
- 将
Year字段拖到透视表的「行」区域,刚创建的度量值拖到「值」区域,即可直接得到你需要的结果。
方案2:普通透视表双表法(无需开启Power Pivot)
如果你的Excel版本不支持Power Pivot,可以用两次透视表的方式实现:
- 第一次创建透视表:行区域依次放入
Year、Customer ID字段,值区域放入Order date字段,值汇总方式设置为「计数」,此时得到的是每年每个客户的订单数量 - 基于第一次透视表的结果,创建第二个透视表:行区域放入
Year字段,值区域放入第一次透视表的「计数项:Order date」字段,值汇总方式设置为「平均值」,即可得到每年的客户平均订单数。
结果验证
用你提供的示例数据计算:
- 2016年总订单3笔、去重客户2个,3/2=1.5
- 2017年总订单3笔、去重客户3个,3/3=1
- 2018年总订单4笔、去重客户3个,4/3≈1.3333
和你期望的输出结果完全匹配。
内容的提问来源于stack exchange,提问作者CodeBob
相关产品推荐
相关产品推荐

