cancel
Showing results for
Did you mean:
Frequent Visitor

## 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?

 App1 App2 App3 1 2 1 3 2 1 2 3 5 3 4 5 5 4 3 2 5 4
1 ACCEPTED SOLUTION
Super User

@MichalHoltz you right!

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

If I took the time to answer your question and I came up with a solution, please mark my post as a solution and /or give kudos freely for the effort 🙂 Thank you!

Proud to be a Super User!

13 REPLIES 13
New Member

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]))

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.

Frequent Visitor

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

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

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.

Super User

@MichalHoltz

create a measure;

measure = average(sum(col1) + sum(col2) +sum(col3))

If I took the time to answer your question and I came up with a solution, please mark my post as a solution and /or give kudos freely for the effort 🙂 Thank you!

Proud to be a Super User!

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]))

Super User

@MichalHoltz you right!

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

If I took the time to answer your question and I came up with a solution, please mark my post as a solution and /or give kudos freely for the effort 🙂 Thank you!

Proud to be a Super User!

Resolver I

This doest work if one value is missed or 0 - may be any solutuon for that?

thnaks

ALeks

Regular Visitor

Exactly. Is there a way to solve this problem? Have the same problem!

Anonymous
Not applicable

Is there a way of averaging multiple columns via range instead of listing them all?

Anonymous
Not applicable

Thanks it worked

Frequent Visitor

@vanessafvg it works! Thanks a lot!!

Announcements

#### Power BI September 2023 Update

Take a look at the September 2023 Power BI update to learn more.

#### Learn Live: Event Series

Join Microsoft Reactor and learn from developers.

#### Exclusive opportunity for Women!

Join us for a free, hands-on Microsoft workshop led by women trainers for women where you will learn how to build a Dashboard in a Day!

#### Power Platform Conference-Power BI and Fabric Sessions

Join us Oct 1 - 6 in Las Vegas for the Microsoft Power Platform Conference.

Top Solution Authors
Top Kudoed Authors