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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

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
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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