Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
sammy3
New Member

Creating a column average based on two other columns

Hello,

 

I need some assistance in finding a solution to this problem. I want to create a column that would display the average of [Value] based on [ID] if the [Location] column has common values. Please see example below. Thank you kindly

 

 

sammy3_0-1612766496844.png

 

1 ACCEPTED SOLUTION
v-kelly-msft
Community Support
Community Support

Hi @sammy3 ,

 

Create a measure as below:

 

 

Measure = CALCULATE(AVERAGE('Table'[value]),FILTER(ALL('Table'),'Table'[ID]=MAX('Table'[ID])&&'Table'[Location]=MAX('Table'[Location])))

 

 

Or you could create a calculated column as below if needed :

 

 

Column = CALCULATE(AVERAGE('Table'[value]),FILTER('Table','Table'[ID]=EARLIER('Table'[ID])&&'Table'[Location]=EARLIER('Table'[Location])))

 

 

And you will see:

 

v-kelly-msft_0-1613011968665.png

 

 

Best Regards,
Kelly

Did I answer your question? Mark my post as a solution!

View solution in original post

3 REPLIES 3
v-kelly-msft
Community Support
Community Support

Hi @sammy3 ,

 

Create a measure as below:

 

 

Measure = CALCULATE(AVERAGE('Table'[value]),FILTER(ALL('Table'),'Table'[ID]=MAX('Table'[ID])&&'Table'[Location]=MAX('Table'[Location])))

 

 

Or you could create a calculated column as below if needed :

 

 

Column = CALCULATE(AVERAGE('Table'[value]),FILTER('Table','Table'[ID]=EARLIER('Table'[ID])&&'Table'[Location]=EARLIER('Table'[Location])))

 

 

And you will see:

 

v-kelly-msft_0-1613011968665.png

 

 

Best Regards,
Kelly

Did I answer your question? Mark my post as a solution!

This works perfectly but is then impacted by my page filters.  If I add the column in the Power Query Filter I assume the filters added later in the desktop will not change the value but I'm struggling to translate to DAX

amitchandak
Super User
Super User

@sammy3 , Try like

calculate(Average(Table[value]), allexpect(Table, Table[ID], Table[Location]))

or

calculate(Average(Table[value]), filter(allselected(Table), Table[ID] =max(Table[ID]) && Table[Location] = max(Table[Location])))

or

averageX(summarize(Table, Table[ID], Table[Location],"_1",Average(Table[value])),[_1])

 

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.