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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
KyleMB350
Frequent Visitor

Custom Matrix Aggregation for Timesheet Report

I have a timesheet summary view of resource hours by week per project. Hours are logged by day.

  October     
  10/210/910/1610/2310/30 
Resource      200
 Project A2020202020100
 Project B2020202020100

 

I have a requirement to show a utilization view where I divde the weekly hours by 40 to get a utilization percentage to show a resource's utilization among all projects they are on. I can divide the hours worked by 40 to get a correct weekly subtotal, but the issue is that I need to AVERAGE the monthly total and then sum those subtotals to get an overall utilization figure for the resource. See totals below.

 

  October     
  10/210/910/1610/2310/30 
Resource      5 1.0
 Project A0.50.50.50.50.52.5 0.5
 Project B0.50.50.50.50.52.5 0.5

 

Is this possible? Thanks!

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hi @KyleMB350 ,

 

I suggest you to create a Calendar table to help your calculation.

Calendar = 
ADDCOLUMNS (
    CALENDAR (
        EOMONTH ( MIN ( 'Table'[Date] ), -1 ) + 1,
        EOMONTH ( MAX ( 'Table'[Date] ), 0 )
    ),
    "Year", YEAR ( [Date] ),
    "Month", MONTH ( [Date] ),
    "MonthName", FORMAT ( [Date], "MMMM" ),
    "WeekStart",[Date] - WEEKDAY([Date],2) + 1
)

Data model:

vrzhoumsft_0-1697610179111.png

Measure:

Measure = 
VAR _SUM =
    CALCULATE ( SUM ( 'Table'[Hour] ) ) / 40
VAR _AVG =
    SUMX (
        VALUES ( 'Table'[Resource] ),
        AVERAGEX (
            SUMMARIZE (
                'Table',
                'Table'[Resource],
                'Calendar'[WeekStart],
                "SUM", CALCULATE ( SUM ( 'Table'[Hour] ) ) / 40
            ),
            [SUM]
        )
    )
RETURN
    IF ( HASONEVALUE ( 'Calendar'[WeekStart] ), _SUM, _AVG )

Result is as below.

vrzhoumsft_1-1697610208447.png

 

Best Regards,
Rico Zhou

 

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

4 REPLIES 4
Anonymous
Not applicable

Hi @KyleMB350 ,

 

I suggest you to create a Calendar table to help your calculation.

Calendar = 
ADDCOLUMNS (
    CALENDAR (
        EOMONTH ( MIN ( 'Table'[Date] ), -1 ) + 1,
        EOMONTH ( MAX ( 'Table'[Date] ), 0 )
    ),
    "Year", YEAR ( [Date] ),
    "Month", MONTH ( [Date] ),
    "MonthName", FORMAT ( [Date], "MMMM" ),
    "WeekStart",[Date] - WEEKDAY([Date],2) + 1
)

Data model:

vrzhoumsft_0-1697610179111.png

Measure:

Measure = 
VAR _SUM =
    CALCULATE ( SUM ( 'Table'[Hour] ) ) / 40
VAR _AVG =
    SUMX (
        VALUES ( 'Table'[Resource] ),
        AVERAGEX (
            SUMMARIZE (
                'Table',
                'Table'[Resource],
                'Calendar'[WeekStart],
                "SUM", CALCULATE ( SUM ( 'Table'[Hour] ) ) / 40
            ),
            [SUM]
        )
    )
RETURN
    IF ( HASONEVALUE ( 'Calendar'[WeekStart] ), _SUM, _AVG )

Result is as below.

vrzhoumsft_1-1697610208447.png

 

Best Regards,
Rico Zhou

 

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Thank you! This works perfectly!

Greg_Deckler
Community Champion
Community Champion

@KyleMB350 First, please vote for this idea: https://ideas.powerbi.com/ideas/idea/?ideaid=082203f1-594f-4ba7-ac87-bb91096c742e

This looks like a measure totals problem. Very common. See my post about it here: https://community.powerbi.com/t5/DAX-Commands-and-Tips/Dealing-with-Measure-Totals/td-p/63376

Also, this Quick Measure, Measure Totals, The Final Word should get you what you need:
https://community.powerbi.com/t5/Quick-Measures-Gallery/Measure-Totals-The-Final-Word/m-p/547907

Also: https://youtu.be/uXRriTN0cfY
And: https://youtu.be/n4TYhF2ARe8



Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
DAX For Humans

DAX is easy, CALCULATE makes DAX hard...

Thanks Greg. This appears to get me halfway as I needed to sum up monthly averages. I watched your videos on this and definitely have uses for this in my other reports. I definitely voted on that idea!

Helpful resources

Announcements
August Power BI Update Carousel

Power BI Monthly Update - August 2025

Check out the August 2025 Power BI update to learn about new features.

August 2025 community update carousel

Fabric Community Update - August 2025

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

Top Solution Authors