Forum Discussion
Problem with granularity
Hey mlsx4 ,
glad to hear.
I will try to leave you an understandable description here.
-------------------------------------------------
1. I created a calculated column in "real rate" table (my fact table) to fetch theoretical rates.
Result:
Formula:
LookUp_Theo_rate =
LOOKUPVALUE(
'Theo rate Table'[Theor. Rate], 'Theo rate Table'[YearMonth], 'REAL rate Table'[YearMonth],
'Theo rate Table'[Code], 'REAL rate Table'[Code],
'Theo rate Table'[Category], 'REAL rate Table'[Category])
Can you pls try to achieve similar result.
When I drop these 2 fields into my table it looks like this:
2. To fill the gaps I used this formula:
Last non blank Theo_rate =
VAR Last_non_blank_date =
CALCULATE(
MAX('REAL rate Table'[YearMonth]),
FILTER(
ALL('REAL rate Table'), 'REAL rate Table'[YearMonth] <= MAX('REAL rate
Table'[YearMonth]) && 'REAL rate Table'[LookUp_Theo_rate] <> BLANK() )
) //this part will give you the MAX non blank date
VAR Last_non_blank_Value =
CALCULATE(
SUM('REAL rate Table'[LookUp_Theo_rate]),
FILTER(
ALL('REAL rate Table'), 'REAL rate Table'[YearMonth] = Last_non_blank_date),
FILTER(
ALL('REAL rate Table'), 'REAL rate Table'[Code] = SELECTEDVALUE('REAL rate Table'[Code])),
'REAL rate Table'[Category] = SELECTEDVALUE('REAL rate Table'[Category])
)
RETURN
IF(
HASONEVALUE('Calendar'[Date]) &&
[Theor_] <> BLANK(),
[Theor_],
Last_non_blank_Value)Try to apply this piece of code into your model.
I cross my fingers.
I hope I could transfer this well to your case.
This formula gave me this result:
----------------------------
Regards
Hi sergej_og
Thank you. You have explained perfectly. I will try, because Real Rate is not a table... It is calculated 😪 The calculus is a real headache
- sergej_og2 years agoSuper User
Maybe you can show a bit more of your data model or describe your case (especially the part with real rate) a bit more.
How do you get your real rates into your model?- mlsx42 years agoMemorable Member
Hi sergej_og
I'm gonna try to explain it:
- I have a dim table for centers with codes, location, full name...
- I have a fact table with all temporary medical leaves and absences due to holidays, marriages, or some any other reason
- I have a dim table with all the staff
- Finally, I have a calendar table
Then:
Sample of absences table would be:
Type of absence Subtype of absence Employee Code Employee ID Employee
Name
Starting date Ending date Center Key Absence Holidays 000001 98765431A Juan López 01/06/2023 07/06/2023 11A Medical leave Accident 000015 43275618Y David Fernández 08/06/2023 11A Absence Marriage 000002 12345679B MarÃa MartÃnez 04/06/2023 19/06/2023 11A Sample of Staff table will be:
Employee Code Full name Working Category Contract category Employee
% of hours
Starting date Ending date Center Key 000001 Juan López A Full time 100 07/05/2017 11A 000002 MarÃa MartÃnez B Temporary
75 01/06/2023 25/06/2023 11A 000015 David Fernández C Partial-time 89,74 01/05/2023 31/12/2023 11A So, with all this information what I'm doing to calculate the rate of people is:
- First, I compute if a person is on holidays or in a medical leave. Put a 0 if it is, or a 1 if not.
- Then, I compute if a person has an active contract. Put a 0 if it isn't or a 1 if it is active.
- I use both measures as a multiplier: employees rate * isOnHoliday* isActive, where employee rate is %hours/100
- Then, I summarized by the day
So, for instance Juan will have 0 for days between 1 and 7 of June, while for the rest of the month will give me a rate of 1. MarÃa will have 0,75 for days 1 to 3 and 20 to 25. 0 for all the rest. And so on...
Hope it is a little more clear now