Forum Discussion

MichalHoltz's avatar
MichalHoltz
Frequent Visitor
9 years ago
Solved

How to do an average of multiple columns?

I have 3 columns and would like to get the average of 3 of them. How do I do that?

App1App2App3
121
321
235
345
543
254
  • vanessafvg's avatar
    vanessafvg
    9 years ago

    MichalHoltz you right!

     

    what about 

     

    (AVERAGE(Table2[SAP SRM Functionality])+average(Table2[SAP SRM Productivity])+average(Table2[SAP SRM Quality])+average(Table2[SAP SRM Support]))/4?

     

     

14 Replies

  • dang's avatar
    dang
    Icon for Advocate I rankAdvocate I

    To be fair, dividing the sum of averages by the number of averages skews the data if each average does not contain the same number of records. In my mind, a more exact method would look something like (Sum(Table2[SAP SRM Functionality]) + Sum(Table2[SAP SRM Productivity]) + Sum(Table2[SAP SRM Quality]) + Sum(Table2[SAP SRM Support])) / (Countrows(Table2[SAP SRM Functionality]) + Countrows(Table2[SAP SRM Productivity]) + Countrows(Table2[SAP SRM Quality]) + Countrows(Table2[SAP SRM Support]))

    • tjm4q2's avatar
      tjm4q2
      Frequent Visitor

      You are the only one correct on this thread -- notwithstanding missing values that saturate your counts, taking the average of the summation of averages (otherwise known as the mean of means) IS NOT the same as taking the average of two columns worth of data; there are actually three common ways to take the average when using multiple columns and dang has utilized the most correct way.

      • tjm4q2's avatar
        tjm4q2
        Frequent Visitor

        Update: An even more correct way using DAX would be to use a summarize(sumx()) statement.

  • jimmy66's avatar
    jimmy66
    Regular Visitor

    I have the same issue i want to add columns , but the average should only be for columns that have a value , i can't see what answer was proposed

     

    • MichalHoltz's avatar
      MichalHoltz
      Frequent Visitor

      Thanks. I tried this but I get an error message- The AVERAGE function only accepts a column reference as an argument

      What am I missing (I'm new to Dex)?

       

      Measure = AVERAGE(SUM(Table2[SAP SRM Functionality])+SUM(Table2[SAP SRM Productivity])+SUM(Table2[SAP SRM Quality])+SUM(Table2[SAP SRM Support]))

      • vanessafvg's avatar
        vanessafvg
        Icon for Community Champion rankCommunity Champion

        MichalHoltz you right!

         

        what about 

         

        (AVERAGE(Table2[SAP SRM Functionality])+average(Table2[SAP SRM Productivity])+average(Table2[SAP SRM Quality])+average(Table2[SAP SRM Support]))/4?

         

         

  • Anonymous's avatar
    Anonymous
    Not applicable

    I don't know the full model, but wouldn't it make more sense to change the datamodel into a thin fact table with App1-3 as a category, instead of building measures like this?

     

    Would seem to be more alligned with best practice.