如何基于另一列整体平均值为表格新增列核算均价对应成本
实现方案
问题根因
已创建的全局平均成本度量值无法在表格逐行正常引用,核心原因是度量值受表格行级的供应商筛选上下文影响,无法固定返回全表维度的平均单价,导致逐行计算逻辑失效。
操作步骤
修正全局平均单件成本度量值
用清除筛选的函数固定全局计算范围,保证任意供应商行都能返回统一的全局均值,度量值写法如下(把'你的表名'替换为你实际的表格名称):平均单件成本 = DIVIDE( CALCULATE(SUM('你的表名'[成本]), ALL('你的表名'[供应商])), CALCULATE(SUM('你的表名'[商品数量]), ALL('你的表名'[供应商])) )用提供的示例数据验证,该度量值会在所有行固定返回3.125,和总计行计算结果一致。
如果报表页存在日期、品类等其他筛选条件,需要让全局均值跟随筛选动态变化,把公式里的
ALL替换为ALLSELECTED即可。创建均价对应成本度量值
直接用当前行的商品数量乘以固定全局均价即可,写法如下:均价对应成本 = SUM('你的表名'[商品数量]) * [平均单件成本]逐行计算结果和示例值完全匹配:供应商1返回12.5、供应商2返回15.625、供应商3返回9.375、供应商4返回12.5。
(可选)创建成本差值度量值
如果需要核算实际成本和均价对应成本的差额,直接新增度量值:成本差值 = SUM('你的表名'[成本]) - [均价对应成本]计算结果为正代表该供应商实际成本高于全局均价对应成本,为负则代表低于全局均价水平。
表格配置
直接将以下字段拖入表格值区域即可正常展示,无需额外配置:
- 供应商(原表维度字段)
- 成本(原表字段,默认聚合方式选求和)
- 商品数量(原表字段,默认聚合方式选求和)
- 平均单件成本(已创建的度量值)
- 均价对应成本(已创建的度量值)
- 成本差值(可选,已创建的度量值)
配置完成后总计行自动核算:总成本50、总商品数量16、平均单件成本3.125、均价对应成本50、成本差值0,完全符合核算逻辑。
内容的提问来源于stack exchange,提问作者user6702258
相关产品推荐
相关产品推荐

