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

如何在Power BI中输出Criteria 1平均值最高的Department ID

问题描述

我有一份数据表,需要按每个重复的Department ID计算Criteria 1的平均值,并输出拥有最大平均值的Department ID的值,该如何实现?

原始数据表

Department IDCriteria 1
DEP 0014
DEP 0022
DEP 0031
DEP 0045
DEP 0013
DEP 0032
DEP 0024
DEP 0013
DEP 0042
DEP 0011
DEP 0023
DEP 0034

计算示例

Average(DEP 001) = (4+3+3+1)/4 = 11/4 = 2.75
Average(DEP 002) = (2+4+3)/3 = 9/3 = 3
Average(DEP 003) = (1+2+4)/3 = 7/3 = 2.3
Average(DEP 004) = (5+2)/2 = 7/2 = 3.5

MAX(Average(DEP 001), Average(DEP 002), Average(DEP 003), Average(DEP 004)) = 3.5
Result = DEP 004

实现方法

1. Excel实现

  • 步骤1:计算各部门平均值
    在空白单元格(如C2)输入公式:=AVERAGEIF($A$2:$A$13, A2, $B$2:$B$13),下拉填充至所有行,得到每个Department ID对应的平均值。
  • 步骤2:获取结果
    输入公式:=INDEX(A:A, MATCH(MAX(C:C), C:C, 0)),直接得到拥有最大平均值的Department ID。

2. Python(Pandas库)实现

import pandas as pd

# 构造数据表
data = pd.DataFrame({
    'Department ID': ['DEP 001', 'DEP 002', 'DEP 003', 'DEP 004', 'DEP 001', 'DEP 003',
                      'DEP 002', 'DEP 001', 'DEP 004', 'DEP 001', 'DEP 002', 'DEP 003'],
    'Criteria 1': [4, 2, 1, 5, 3, 2, 4, 3, 2, 1, 3, 4]
})

# 分组计算平均值
dept_avg = data.groupby('Department ID')['Criteria 1'].mean()

# 提取平均值最大的部门
max_avg_dept = dept_avg.idxmax()

print("Result =", max_avg_dept)

运行后输出:Result = DEP 004

3. SQL实现

假设数据表名为department_data,字段为department_id和criteria_1,执行以下语句:

SELECT department_id
FROM (
    SELECT department_id, AVG(criteria_1) AS avg_criteria
    FROM department_data
    GROUP BY department_id
) AS dept_avg
ORDER BY avg_criteria DESC
LIMIT 1;

执行后返回平均值最大的Department ID(即DEP 004)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 00:25:28