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

如何在Power BI DAX中按行计算多列最小值及聚合平均值的均值、最小值

DAX解决方案:行/列聚合后的均值与最小值计算

1. 计算按行聚合后的平均值的最小值

先计算每个行分组的平均值(该行所有列分组对应聚合值的平均),再取这些平均值的最小值:

步骤1:创建「行平均值」度量值

行平均值 = 
AVERAGEX(
    VALUES('你的表名'[列分组字段]), -- 替换为你的列维度字段(如月份、区域)
    CALCULATE(SUM('你的表名'[数值字段])) -- 替换为你的数值聚合逻辑(如SUM/COUNT等)
)

步骤2:创建「行平均最小值」度量值

行平均最小值 = 
MINX(
    VALUES('你的表名'[行分组字段]), -- 替换为你的行维度字段(如产品、类别)
    [行平均值]
)

2. 计算按行和列聚合后的平均值的均值

根据需求分两种场景:

场景1:所有行×列聚合单元格的整体平均值

计算表1中所有交叉聚合单元格的平均值:

行列聚合整体均值 = 
AVERAGEX(
    CROSSJOIN(VALUES('你的表名'[行分组字段]), VALUES('你的表名'[列分组字段])),
    CALCULATE(SUM('你的表名'[数值字段]))
)

场景2:行平均值与列平均值的整体均值

先分别计算每行、每列的平均值,再求这些值的整体均值:

-- 先创建「列平均值」度量值
列平均值 = 
AVERAGEX(
    VALUES('你的表名'[行分组字段]),
    CALCULATE(SUM('你的表名'[数值字段]))
)

-- 再创建「行平均与列平均的均值」度量值
行平均与列平均的均值 = 
AVERAGEX(
    UNION(
        SELECTCOLUMNS(VALUES('你的表名'[行分组字段]), "分组", [行分组字段], "平均值", [行平均值]),
        SELECTCOLUMNS(VALUES('你的表名'[列分组字段]), "分组", [列分组字段], "平均值", [列平均值])
    ),
    [平均值]
)

注意事项

  • 替换代码中的你的表名、行分组字段、列分组字段、数值字段为你实际的数据表和字段名
  • 如果你的聚合逻辑不是SUM(如平均值、计数),可将CALCULATE(SUM(...))替换为对应的聚合函数(如CALCULATE(AVERAGE(...)))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 11:47:21