cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
FiddeR74
Frequent Visitor

Visualize invoicing rate for customers in a gauge

Hi!

 

I have a problem that i am not able to solve. I have a table containing the following (simplified data):

  • Client - Name of the client
  • Year
  • Month
  • IsBillable
  • SpentHours

I want to show the invoice % with slicing possibilites on multiple levels in a gauge.

 

Example of data

Client Year Month IsBillable SpentHours
Client1 2016 1 Yes 12
Client1 2016 1 No 6

Client2 2016 1 Yes 100

 

For the simplifed example 112 hours was billable and 6 not. That gives us an invoice rate of 112/118=95%

If I only select Client1 the invoice rate should show 12/18=67%

How can I achieve this? Averages on a single field does not give accurate numbers.

 

Thanks in advance!

1 ACCEPTED SOLUTION
KGrice
Solution Sage
Solution Sage

You could do this all in one calculation, but for readability, I like to use building blocks. This will also help if you have to use some of these same measures in other places. Create the following four measures, using whatever names make sense for you:

 

Hours = SUM(TableName[SpentHours])

 

Billable Hours = CALCULATE([Hours], TableName[IsBillable]="Yes")

 

Non-Billable Hours = CALCULATE([Hours], TableName[IsBillable]="No")

 

Invoice Rate = [Billable Hours] / [Hours]

 

The non-billable hours measure isn't actually necessary for your end result, but it was useful for this visual:

 

billableHours.PNG

 

If you'll never use any of the building blocks elsewhere anyway, you can skip straight to the end result with a single measure:

 

Invoice Rate = CALCULATE(SUM(TableName[SpentHours]), TableName[IsBillable]="Yes") / SUM(TableName[SpentHours])

 

With your invoice rate measure selected in the Fields list, you can format it as a percent in the Modeling tab. Click the percent sign, then bump up or down the number of decimals you want to show. This will not affect the actual number in other calculations, i.e., 66.66666% will still be 0.6666666 in further calculations, even if shown as 67%.

View solution in original post

1 REPLY 1
KGrice
Solution Sage
Solution Sage

You could do this all in one calculation, but for readability, I like to use building blocks. This will also help if you have to use some of these same measures in other places. Create the following four measures, using whatever names make sense for you:

 

Hours = SUM(TableName[SpentHours])

 

Billable Hours = CALCULATE([Hours], TableName[IsBillable]="Yes")

 

Non-Billable Hours = CALCULATE([Hours], TableName[IsBillable]="No")

 

Invoice Rate = [Billable Hours] / [Hours]

 

The non-billable hours measure isn't actually necessary for your end result, but it was useful for this visual:

 

billableHours.PNG

 

If you'll never use any of the building blocks elsewhere anyway, you can skip straight to the end result with a single measure:

 

Invoice Rate = CALCULATE(SUM(TableName[SpentHours]), TableName[IsBillable]="Yes") / SUM(TableName[SpentHours])

 

With your invoice rate measure selected in the Fields list, you can format it as a percent in the Modeling tab. Click the percent sign, then bump up or down the number of decimals you want to show. This will not affect the actual number in other calculations, i.e., 66.66666% will still be 0.6666666 in further calculations, even if shown as 67%.

View solution in original post

Helpful resources

Announcements
Power BI December 2021 Update_carousel 768x460.jpg

Check it Out!

Click here to read more about the December 2021 Updates!

User Group Leader Meeting January 768x460.png

Calling all User Group Leaders!

Don't miss the User Group Leader meetings on January, 24th & 25th, 2022.

Jan 2022 Dev Camp 768x460 copy.png

Power BI Dev Camp- January 27th, 2022

Mark your calendars and join us for our next Power BI Dev Camp!

Top Solution Authors
Top Kudoed Authors