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

Shape the future of the Fabric Community! Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions. Take survey.

Reply
rush
Helper V
Helper V

How to Sum then Average based on certain conditions in a DAX Measure?

I have a table called Billing Info which has columns:

  • Year-Month (Text)
  • UserName (Text)
  • GP (Decimal Number)
  • BillingType (Text) - which needs to be filtered down to "Fixed Monthly Rate"

I would like to work out the Average GP for Fixed Monthly Rate per Year-Month.

 

I would need to sum the total GP per UserName per Year-Month then work out the average over that.

 

Sample Data


Example:

sample gp data.PNG

 

 

 

 

1 ACCEPTED SOLUTION

Hi @rush,

 

From the error message, column [Gauteng] is TEXT data type. And you have specify the aggregation (eg: SUM) for this column in the measure while this aggregation doesn't support TEXT values. So please check the [Gauteng], see if it can be convert to number.

 

By the way, you can upload your .pbix file to OneDrive or Dropbox and share the link here.

 

Best Regards,
Qiuyun Yu 

Community Support Team _ Qiuyun Yu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

8 REPLIES 8
brickanalyst
Resolver I
Resolver I

@rush it would be nice if you share how you managed in the end?

v-qiuyu-msft
Community Support
Community Support

Hi @rush,

 

Measure1 = IF(MAX('Table1'[BillingType])="Fixed Monthly Rate", CALCULATE(AVERAGE(Table1[GP]),FILTER(ALL('Table1'),'Table1'[BillingType]="Fixed Monthly Rate" )),BLANK())

 

Measure 2 = CALCULATE(AVERAGE(Table1[GP]),ALLEXCEPT(Table1,'Table1'[UserName]))

 

a3.PNG

 

If above DAX doesn't meet your requirement, please share screenshots about the desired results for our analysis.

 

Best Regards,
Qiuyun Yu

Community Support Team _ Qiuyun Yu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Thank you @v-qiuyu-msft

 

It does not bring back my desired results.

 

Please see below of the final result:

Data Preview Result.PNG

 

 

 

 

 

 

 

 

Table desired results:

Desired results table.PNG

 

 

 

 

Hi @rush,

 

As your sample data you provided doesn't contain StaffRegion while the desired results have it, you can try the below DAX:

 

Measure = CALCULATE(AVERAGE(Table1[GP]),FILTER(ALL(Table1),'Table1'[Year-Month]=MAX('Table1'[Year-Month])),VALUES(Table1[StaffRegion]))

 

If it doesn't work, please share corresponding sample data. If possible, please share the .pbix with us.

 

Best Regards,
Qiuyun Yu

Community Support Team _ Qiuyun Yu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Hi @v-qiuyu-msft, thanks but it gives me an error on the text to type number.

 

I will update the sample file as I cannot share the pbix file.

 

It throws back an error:

Error.PNG

 

 

 

 

Hi @rush,

 

From the error message, column [Gauteng] is TEXT data type. And you have specify the aggregation (eg: SUM) for this column in the measure while this aggregation doesn't support TEXT values. So please check the [Gauteng], see if it can be convert to number.

 

By the way, you can upload your .pbix file to OneDrive or Dropbox and share the link here.

 

Best Regards,
Qiuyun Yu 

Community Support Team _ Qiuyun Yu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

@v-qiuyu-msft Thanks, I managed to resolve the issue.

anupampandey
Helper III
Helper III

@rush,

 

Could you share some sample data please?

 

Thanks,

Anupam 

Helpful resources

Announcements
November Carousel

Fabric Community Update - November 2024

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

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.