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%.

Helpful resources

Announcements
May 23 2022 epsiode 5 without aka link.jpg

The Power BI Community Show

Welcome to the Power BI Community Show! Jeroen ter Heerdt talks about the importance of Data Modeling.

charticulator_carousel_with_text (1).png

Charticulator Design Challenge

Put your data visualization and design skills to the test! This exciting challenge is happening now through June10th!

Power BI Dev Camp Session 22 without aka link and time 768x460.jpg

Check it Out!

Watch Session 22 Ted's Dev Camp along with past sessions!

Power BI Release May 2022 768x460.png

Check it out!

Click here to read more about the May 2022 updates!

Top Kudoed Authors