You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerBI矩阵将小计替换为日均值并按均值配置条件格式

PowerBI 实现方案

步骤1:创建显示用度量值,替换原始聚合字段

假设你的源表包含字段:日期、产品分类(即示例中的p1/p2/p3所属字段)、Sales、Refund,先创建两个显示用度量值:

  • 销售额显示度量值:
显示_销售额 = 
IF(
    ISINSCOPE('表'[产品分类]), // 判断当前行是否为产品明细行
    SUM('表'[Sales]), // 明细行返回原始销售额求和
    DIVIDE(SUM('表'[Sales]), DISTINCTCOUNT('表'[产品分类])) // 日期小计行返回当日销售额均值
)
  • 退款额显示度量值:
显示_退款额 = 
IF(
    ISINSCOPE('表'[产品分类]),
    SUM('表'[Refund]),
    DIVIDE(SUM('表'[Refund]), DISTINCTCOUNT('表'[产品分类]))
)

创建完成后,把矩阵中原有的Sales、Refund字段删除,替换为上述两个新建的度量值,此时日期行的小计值会自动变为当日平均值。

步骤2:创建条件格式判断用度量值

分别为两个指标创建标红判断逻辑:

  • 销售额标红判断:
销售额_标红标记 = 
VAR 当日销售额均值 = CALCULATE(
    DIVIDE(SUM('表'[Sales]), DISTINCTCOUNT('表'[产品分类])),
    ALLSELECTED('表'[产品分类]) // 清除产品维度上下文,固定取当日均值
)
VAR 当前行销售额 = SUM('表'[Sales])
RETURN
IF(
    NOT ISINSCOPE('表'[产品分类]), // 日期行不标红
    0,
    IF(当前行销售额 < 当日销售额均值, 1, 0)
)
  • 退款额标红判断:
退款额_标红标记 = 
VAR 当日退款均值 = CALCULATE(
    DIVIDE(SUM('表'[Refund]), DISTINCTCOUNT('表'[产品分类])),
    ALLSELECTED('表'[产品分类])
)
VAR 当前行退款 = SUM('表'[Refund])
RETURN
IF(
    NOT ISINSCOPE('表'[产品分类]),
    0,
    IF(当前行退款 > 当日退款均值, 1, 0)
)

步骤3:设置条件格式

  • 选中矩阵中的显示_销售额列,点击「条件格式」-「图标」
  • 规则设置:格式样式选择「基于字段」,依据字段选择销售额_标红标记,当值等于1时显示红色圆形图标,其余情况无图标,图标位置选择数据右侧即可
  • 按照相同逻辑给显示_退款额列配置基于退款额_标红标记的条件格式即可

如果你的矩阵行层级多于日期+产品两层,只需要调整ISINSCOPE函数内的字段为最细层级的行维度字段即可,公式逻辑无需修改。

内容的提问来源于stack exchange,提问作者alkanschtein

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 06:09:01