Power Pivot使用DAX计算同列存储指标的跨指标聚合比值方法
DAX实现单位销售营收计算方案
你当前使用的是典型的键值对结构窄表,可通过CALCULATE筛选器单独提取对应指标值完成计算,无需通过Power Query转宽表,具体步骤如下:
1. 定义基础度量值
先单独提取营收、销售数量两个核心指标的聚合值,方便后续复用:
- 总营收度量值:
总营收 = CALCULATE(SUM('你的源表名'[Measure value]), '你的源表名'[Measure Name] = "Revenue")
- 总销售数量度量值:
总销售数量 = CALCULATE(SUM('你的源表名'[Measure value]), '你的源表名'[Measure Name] = "Sales number")
2. 定义单位销售营收度量值
加入除零判断避免计算报错:
单位销售营收 = VAR 当期营收 = [总营收] VAR 当期销量 = [总销售数量] RETURN IF(当期销量 <> 0, DIVIDE(当期营收, 当期销量), BLANK())
完成后直接将该度量值拖入透视表的值区域,即可按月得到对应的单位销售营收结果。
可选:让单位销售营收和原有指标同列展示
如果需要单位销售营收和Revenue、Costs、Sales number一起出现在行/列的指标列表中,可按以下操作配置:
- 新建独立的自定义指标表,无需和原表建立关系,单列命名为
展示指标名称,取值包括:Revenue、Costs、Sales number、单位销售营收 - 将透视表行区域原来的
Measure Name字段替换为新表的展示指标名称字段 - 定义统一的动态展示度量值:
统一指标值 = VAR 当前选中指标 = SELECTEDVALUE('自定义指标表'[展示指标名称]) RETURN SWITCH( TRUE(), 当前选中指标 = "Revenue", [总营收], 当前选中指标 = "Costs", CALCULATE(SUM('你的源表名'[Measure value]), '你的源表名'[Measure Name] = "Costs"), 当前选中指标 = "Sales number", [总销售数量], 当前选中指标 = "单位销售营收", [单位销售营收], BLANK() )
将该度量值拖入透视表的值区域即可实现所有指标的统一展示。
内容的提问来源于stack exchange,提问作者Ilshat Khamitov
相关产品推荐
相关产品推荐

