I have a list on the sharepoint where people put their time working during the day.
Basically, the database looks like this:
I have another base that tells how many hours a day each resource has to work:
|Resource||Hours per day|
I created a new table using Summarize to combine the hours, and also to add Hours per day usingRelated.
Summary = SUMMARIZE(Timesheet;Timesheet[Resource];Timesheet[Date];"Total Hours";SUM(Timesheet[Hours])) Hours per day = RELATED(TabResources[Hours per day])
And created a matrix using Resources, Date and Total Hours to show how many hours each resource has input in a day.
Also, I created 2 cards. One with Total Hours and other with Hours per day.
But here's where my problem starts...
Considering the example, on 01/01/2020 R1 and R2 worked 8h each (16 hours in total). On 01/02/2020 only R2 worked, 10 hours.
The card "Total Hours" works fine...It shows the total hours entered for all resources. It shows 26 hours as total.
But the card "Hours per day" has a problem: It should show 32 hours:
But as R1 did not enter any data on 02/01/2020, the card does not consider the 8h that R1 should have been worked. So, it shows only 24h.
How can I solve this problem?
Solved! Go to Solution.
@Anonymous does that mean everyday each Resources hours get added regardless they worked or not? On 03rd, if R3 comes with 8 hrs per day , does that mean it will added 24 hours for 03rd (8 hours each R1, R2 and R3. Is this the business logic? Number of users x resource hours x number of dates?
In the perfect world, the resources should enter their hours in the Timesheet every day. But that doesn't always happen, sometimes the resource forgets doing the time tracking.
What I would like to have is a control of how many hours should have been entered, and how many hours were actually entered. So I can see the % of adherence to the system ... as well as the amount of overtime.
Basically: if I have 3 resources, in 1 business week they should work 8 hours per day. That is 3x8x5 = 120 hours
However, the catch is that some resources work 8 hours a day, while other resources work 6 hours. That's why I have the TabResource
Hi @Anonymous ,
First, you can create one calendar table if it still not be created. Then create one measure as below to calculate the hours per date:
Hours per day = SUM ( 'TabResources'[Hours per day] ) * CALCULATE ( COUNTROWS ( 'Calendar' ), DATESBETWEEN ( 'Calendar'[Date], MIN ( 'Timesheet'[Date] ), MAX ( 'Timesheet'[Date] ) ), WEEKDAY ( 'Calendar'[Date], 2 ) < 6 )
The problem is that this Hours per Day is showing me the sum of all Resources. The ideal would be to have the filter when you have a resource selected.
Or am I doing something wrong?
@Anonymous ok if that is the business logic, it can be achieved, assuming everybody worked everyday, if only one user has entered the data , we will assume total resource x there hours per day x number of days
@Anonymous not sure what you mean by same happened with the solution, You have to be more specific and provide as much as detail as possible.
Sorry, let me try again
The total number of Resources that are using the Time Tracking System is 61. Some work 6 hours, others 8 hours. If everyone works their respective hours in a day, the sum should be 484.
In the attached photo, I selected 3 resources (that work 8 hours a day). Thar card should show 24 hours, not 484.
BUT, while writing this message, I went to check something in the BI and saw that the filters were using another data source. So the cards weren't being filtered ... totally my fault 😅
Thank you very much for your help @parry2k
Check out the November 2023 Power BI update to learn about new features.
Read the latest Fabric Community announcements, including updates on Power BI, Synapse, Data Factory and Data Activator.
Join us for a free, hands-on Microsoft workshop led by women trainers for women where you will learn how to build a Dashboard in a Day!
130+ sessions, 130+ speakers, Product managers, MVPs, and experts. All about Power BI and Fabric. Attend online or watch the recordings.