Powerbi 如何计算Power BI DAX中多个类别的平均值?

Powerbi 如何计算Power BI DAX中多个类别的平均值?,powerbi,dax,powerbi-desktop,Powerbi,Dax,Powerbi Desktop,我有一个包含以下列的表: 行业表 Industry_ID Score 1 2 1 3 2 2 2 4 3 0 4 2 我需要计算每个行业的平均值,然后是这些平

我有一个包含以下列的表:

行业表

Industry_ID          Score    

1                          2

1                          3

2                          2

2                          4

3                          0

4                          2

我需要计算每个行业的平均值,然后是这些平均值的平均值

如平均分数

1=(2+3)/2=>2.5

2=(2+4)/2=>3

3=0/1=>0

4=2/1=>2

然后这些平均值的平均值,即(2.5+3+0+2)/4=>1.85


<>表是直接查询的,请考虑一下。感谢您的帮助。谢谢

以下是实现这一目标的两种方法:

只需在返回部分的单个平均变量和总体平均变量之间切换,同时将此代码
CALCULATE(COUNTROWS(Industry))
存储在一个单独的度量值中,以便可以在不同的位置重复使用,而不会使代码变得冗长

Industry Average =
VAR AllIndustryAverages =
    AVERAGEX (
        ALL ( Industry[IndustryID] ),
        DIVIDE ( [Total Score], CALCULATE ( COUNTROWS ( Industry ) ) )
    )
VAR IndividualAverages =
    AVERAGEX (
        VALUES ( Industry[IndustryID] ),
        DIVIDE ( [Total Score], CALCULATE ( COUNTROWS ( Industry ) ) )
    )
RETURN
    IndividualAverages

  • 要创建不同值的平均值,请创建计算列,如下所示:

     Average = 
     var no_ID = 'Table'[Industry_ID]
    
     Return
     AVERAGEX( 
            FILTER(ALL('Table'), 'Table'[Industry_ID] = no_ID),
           'Table'[Score]
            )
    
  • 这将为您提供一个平均值为distinct
    Industry\u ID
    的列

  • 要创建平均值的平均值,请创建一个度量值,如下所示:

    Measure = AVERAGEX(SUMMARIZE('Table', 'Table'[Industry_ID], 'Table'[Average]), 'Table'[Average])
    
  • 最终产量-

    Measure = AVERAGEX(SUMMARIZE('Table', 'Table'[Industry_ID], 'Table'[Average]), 'Table'[Average])