如何在Power BI中计算周环比(WoW)份额占比?
Power BI 计算周环比(WoW)份额占比方案
核心逻辑
你需要的是两个关键指标:
- M列:单客户本周份额与上周份额的差值
- N列:该差值相对于上周份额的变化率
步骤1:准备基础度量值
先创建两个基础计算(替换你的数据表为实际表名):
- 每周总金额(用于计算份额的分母):
每周总金额 = SUM('你的数据表'[$Amt])
- 单客户每周份额(当前周的客户金额占周总金额的比例):
客户每周份额 = DIVIDE(SUM('你的数据表'[$Amt]), [每周总金额], 0)
步骤2:获取上周的客户份额
根据你的周数格式选择对应方式:
场景A:周数是数字格式(如1、2、3)
上周客户份额 = CALCULATE( [客户每周份额], FILTER(ALL('你的数据表'[周数]), '你的数据表'[周数] = MAX('你的数据表'[周数]) - 1) )
场景B:周数是文本格式(如"W01"、"W02")
先添加一个计算列把周数转成数字:
周数数字 = VALUE(RIGHT('你的数据表'[周数], 2))
再用这个数字列计算上周份额:
上周客户份额 = CALCULATE( [客户每周份额], FILTER(ALL('你的数据表'[周数数字]), '你的数据表'[周数数字] = MAX('你的数据表'[周数数字]) - 1) )
场景C:使用规范日期表(推荐)
如果有日期表关联数据,用周偏移更准确:
上周客户份额 = CALCULATE( [客户每周份额], DATEADD('日期表'[周起始日期], -1, WEEK) )
步骤3:计算目标指标
- M列(份额差值):
周环比份额差值 = [客户每周份额] - [上周客户份额]
- N列(份额变化率):
周环比份额变化率 = DIVIDE([周环比份额差值], [上周客户份额], 0)
新手操作提示
- 把上述度量值拖入你的数据透视表,行保留客户、列保留周数,即可得到类似示例的结果
- 选中度量值后,在「格式」面板里设置为百分比格式,调整小数位数
- 如果遇到空值/错误,检查周数的连续性(比如是否有断周),或调整
DIVIDE函数的第三个参数(默认0)
内容的提问来源于stack exchange,提问作者Sharon
相关产品推荐
相关产品推荐

