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
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
Memorable Member
Memorable Member

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
Memorable Member
Memorable Member

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