Forum Discussion
How to do a calculation between date variable
Hello Here,
I've got some problem with how to create a good calculation, let me explain my problem :
I've got a table name "FUP"
| DATE DEBUT ACTION BPA | TEMPS THEORIQUE BPA PAR JOUR | DATE FIN ACTION BPA |
| 25/01/2024 | 1,54 | 31/10/2024 |
| 05/01/2024 | 3,17 | 26/01/2024 |
| 25/01/2024 | 1,90 | 15/02/2024 |
| 25/01/2024 | 1,90 | 15/02/2024 |
| 16/01/2024 | 1,90 | 06/02/2024 |
| 16/01/2024 | 1,91 | 06/02/2024 |
| 16/01/2024 | 1,92 | 18/01/2024 |
| 19/01/2024 | 1,93 | 09/02/2024 |
I make in Power BI a calendar with this all i want is that
16/01/2024 = 1.9 + 1.91+1.92
18/01/2024 = 1.9 +1.91+1.92
19/01/2024 = 1.9 +1.91+1.93
20/01/2024 = 1.9 +1.91+1.93
etc...
I try some calcalutation but i don't arrive to a good result. how I can achieve this result
Can you help me please, i will be grateful
- Anonymous2 years ago
Hi GCH_FR ,
bhanu_gautam 's workaround is vaild, but somehow it doesn't work.
Please allow me to share my insights.
Create this calculated table.
Table 2 = FILTER(CROSSJOIN(CALENDAR(MIN('Table'[DATE DEBUT ACTION BPA]),MAX('Table'[DATE FIN ACTION BPA])),'Table'),[Date]>=[DATE DEBUT ACTION BPA]&&[Date]<=[DATE FIN ACTION BPA])You can create table visual to check data:
I have a question, I select the 1/16/2024 rows of [Date], and I found that 4 values match, but the expected result you provided was only 1.9 + 1.91 + 1.92, please why doesn't 3.17 belong?
Best Regards,
Stephen Tao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
10 Replies
- bhanu_gautamSuper User
GCH_FR , Make sure you have one date table
DateTable = CALENDAR(MIN('FUP'[DATE DEBUT ACTION BPA]), MAX('FUP'[DATE FIN ACTION BPA]))
Then create a measure to calulate the cumulative "TEMPS THEORIQUE BPA PAR JOUR" for each date
CumulativeTempsTheorique =
VAR CurrentDate = MAX('DateTable'[Date])
RETURN
SUMX(
FILTER(
'FUP',
'FUP'[DATE DEBUT ACTION BPA] <= CurrentDate &&
'FUP'[DATE FIN ACTION BPA] >= CurrentDate
),
'FUP'[TEMPS THEORIQUE BPA PAR JOUR]
) - GCH_FRHelper I
I've got 2 another questions
I've got others conditions in this measure :
MEASURE TEMPS THEO CONCEPTION =VAR CurrentDate = MAX('CALCUL FUP TEMPS THEORIQUE'[Date])RETURNSUMX(FILTER('FUP','FUP'[CODIFICATION]="2-CONCEPTION"&&'FUP'[BUDGET BPA]<>0&&'FUP'[DATE DEBUT ACTION BPA] <= CurrentDate &&'FUP'[DATE FIN ACTION BPA] >= CurrentDate),'FUP'[TEMPS THEORIQUE BPA PAR SEMAINE])But it seem not working ...And after how to have cumulative Time like CUMULATED TIME IN BPA = Day 1 = Day 1, Day 2 = Day 2 + Day 1 etc...- bhanu_gautamSuper User
GCH_FR , Update your measure
MEASURE TEMPS THEO CONCEPTION =
VAR CurrentDate = MAX('CALCUL FUP TEMPS THEORIQUE'[Date])
RETURN
SUMX(
FILTER(
'FUP',
'FUP'[CODIFICATION] = "2-CONCEPTION" &&
'FUP'[BUDGET BPA] <> 0 &&
'FUP'[DATE DEBUT ACTION BPA] <= CurrentDate &&
'FUP'[DATE FIN ACTION BPA] >= CurrentDate
),
'FUP'[TEMPS THEORIQUE BPA PAR SEMAINE]
)For cummulative calculated create one more measure
CUMULATED TIME IN BPA =
VAR CurrentDate = MAX('CALCUL FUP TEMPS THEORIQUE'[Date])
RETURN
CALCULATE(
[MEASURE TEMPS THEO CONCEPTION],
DATESBETWEEN(
'CALCUL FUP TEMPS THEORIQUE'[Date],
MIN('CALCUL FUP TEMPS THEORIQUE'[Date]),
CurrentDate
)
)- GCH_FRHelper I
Sorry for the answer delay, i've got other thing to do.
CUMULATED TIME IN BPA seem doesn't work.
I've got the same number in each column
TEST = CALENDAR(MIN('FUP'[DATE DEBUT ACTION BPA]), MAX('FUP'[DATE FIN ACTION BPA]))MEASURE TEMPS THEO CONCEPTION =VAR CurrentDate = MAX(TEST[Date])RETURNSUMX(FILTER('FUP','FUP'[CODIFICATION] = "2-CONCEPTION" &&'FUP'[BUDGET BPA] <> 0 &&'FUP'[DATE DEBUT ACTION BPA] <= CurrentDate &&'FUP'[DATE FIN ACTION BPA] >= CurrentDate),'FUP'[TEMPS THEORIQUE BPA PAR JOUR])CUMULATED TIME IN BPA =VAR CurrentDate = MAX(TEST[Date])RETURNCALCULATE([MEASURE TEMPS THEO CONCEPTION],DATESBETWEEN(TEST[Date],MIN(TEST[Date]),CurrentDate))I don't understand why.
- GCH_FRHelper I
Thanks for your answer, it's work well but how can i add some others conditions like that
MEASURE TEMPS THEO CONCEPTION =VAR CurrentDate = MAX('CALCUL FUP TEMPS THEORIQUE'[Date])RETURNSUMX(FILTER('FUP','FUP'[CODIFICATION]="2-CONCEPTION"&&'FUP'[DATE DEBUT ACTION BPA] <= CurrentDate &&'FUP'[DATE FIN ACTION BPA] >= CurrentDate),'FUP'[TEMPS THEORIQUE BPA PAR SEMAINE])It seem not work very well... I try with ALL() but not either.And after i can i do cumulative time like that : CUMULATE THEO = day 1 = day 1, day 2 = day 1 + Day 2- bhanu_gautamSuper User
GCH_FR , I have already shared updated measure as per your condition and for cummulative also
- AnonymousNot applicable
Hi GCH_FR ,
bhanu_gautam 's workaround is vaild, but somehow it doesn't work.
Please allow me to share my insights.
Create this calculated table.
Table 2 = FILTER(CROSSJOIN(CALENDAR(MIN('Table'[DATE DEBUT ACTION BPA]),MAX('Table'[DATE FIN ACTION BPA])),'Table'),[Date]>=[DATE DEBUT ACTION BPA]&&[Date]<=[DATE FIN ACTION BPA])You can create table visual to check data:
I have a question, I select the 1/16/2024 rows of [Date], and I found that 4 values match, but the expected result you provided was only 1.9 + 1.91 + 1.92, please why doesn't 3.17 belong?
Best Regards,
Stephen Tao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
- GCH_FRHelper I
Hello Anonymous
Thanks for taking time for me. To answer your question, it's just an oversight on my part on the 3.17.
I'll try to take time tomorrow to test what you did and try to understand that.
Thanks a lot for your proposition.
I'll try to explain a bit more precisely my problem because it's more complicated than what i show you.
- GCH_FRHelper I
Hello everyone
I'm going to try and clarify my problem:
I have several important milestones: PRE / BPA / BPE with an action start date and an action end date.
The final goal would be to compile by ‘CODIFICATION’ the PRE / BPA / BPE time per week and then the cumulative time per week.
CODIFICATION CODIFICATION 2 NUMERO DOCUMENT DESIGNATION DATE PRE BUDGET PRE LISSAGE PRE DATE PRE FORCEE DATE DEBUT ACTION PRE NO SEMAINE DEBUT ACTION PRE TEMPS THEORIQUE PRE PAR JOUR DATE FIN ACTION PRE DATE BPA BUDGET BPA LISSAGE BPA DATE BPA FORCEE DATE DEBUT ACTION BPA NO SEMAINE DEBUT ACTION BPA TEMPS THEORIQUE BPA PAR JOUR DATE FIN ACTION BPA DATE BPE BUDGET BPE LISSAGE BPE DATE BPE FORCEE DATE DEBUT ACTION BPE TEMPS THEORIQUE BPE PAR JOUR DATE FIN ACTION BPE 1-ORGANISATION ORGANISATION ORGA SUIVI 30/12/2023 10 2 30/12/2023 0,71428571 13/01/2024 31/10/2024 430 40 25/01/2024 5 1,53571429 31/10/2024 2-CONCEPTION SCHÉMAS DRD LOT 840YSC345 HVAC - SCHEMAS GEOGRAPHIQUES - DRD - LOT 345 0 26/01/2024 66,55 3 05/01/2024 2 3,16904762 26/01/2024 15/03/2024 15 3 23/02/2024 0,71428571 15/03/2024 2-CONCEPTION SCHÉMAS DRD LOT 840YSC453 HVAC - SCHEMAS GEOGRAPHIQUES - DRD - LOT 453 0 15/02/2024 40 3 25/01/2024 5 1,9047619 15/02/2024 29/03/2024 15 3 08/03/2024 0,71428571 29/03/2024 2-CONCEPTION SCHÉMAS DRD LOT 840YSC463 HVAC - SCHEMAS GEOGRAPHIQUES - DRD - LOT 463 0 15/02/2024 40 3 25/01/2024 5 1,9047619 15/02/2024 29/03/2024 15 3 08/03/2024 0,71428571 29/03/2024 2-CONCEPTION SCHÉMAS DRD LOT 840YSC462 HVAC - SCHEMAS GEOGRAPHIQUES - DRD - LOT 462 0 06/02/2024 40 3 16/01/2024 4 1,9047619 06/02/2024 21/03/2024 15 3 29/02/2024 0,71428571 21/03/2024 2-CONCEPTION SCHÉMAS DRD LOT 840YSC335 HVAC - SCHEMAS GEOGRAPHIQUES - DRD - LOT 335 0 06/02/2024 40 3 16/01/2024 4 1,9047619 06/02/2024 20/03/2024 15 3 28/02/2024 0,71428571 20/03/2024 2-CONCEPTION SCHÉMAS DRD LOT 840YSC344 HVAC - SCHEMAS GEOGRAPHIQUES - DRD - LOT 344 0 06/02/2024 40 3 16/01/2024 4 1,9047619 06/02/2024 20/03/2024 15 3 28/02/2024 0,71428571 20/03/2024 2-CONCEPTION SCHÉMAS DRD LOT 840YSC606 HVAC - SCHEMAS GEOGRAPHIQUES - DRD - LOT 606 0 09/02/2024 40 3 19/01/2024 4 1,9047619 09/02/2024 29/03/2024 15 3 08/03/2024 0,71428571 29/03/2024 2-CONCEPTION NOMENCLATURE 840YBM03 HVAC - EQUIPMENTS IN ACCOMODATIONS 0 26/01/2024 4,4 1 19/01/2024 4 0,62857143 26/01/2024 22/11/2024 44 4 25/10/2024 1,57142857 22/11/2024 2-CONCEPTION NOMENCLATURE 840YBM01 HVAC - MAIN EQUIPMENTS 0 26/01/2024 4,4 1 19/01/2024 4 0,62857143 26/01/2024 22/11/2024 44 4 25/10/2024 1,57142857 22/11/2024 2-CONCEPTION NOMENCLATURE 840YBM02 HVAC - IL/OL 0 26/01/2024 4,4 1 19/01/2024 4 0,62857143 26/01/2024 22/11/2024 44 4 25/10/2024 1,57142857 22/11/2024 2-CONCEPTION NOMENCLATURE 840YBM04 HVAC - EQUIPMENTS IN ACR 0 26/01/2024 4,4 1 19/01/2024 4 0,62857143 26/01/2024 22/11/2024 44 4 25/10/2024 1,57142857 22/11/2024 2-CONCEPTION NOMENCLATURE 840YBM05 HVAC - SEATINGS 0 26/01/2024 4,4 1 19/01/2024 4 0,62857143 26/01/2024 22/11/2024 44 4 25/10/2024 1,57142857 22/11/2024 2-CONCEPTION NOMENCLATURE 840YBM06 HVAC - MISCELLANEOUS ELECTRICAL EQUIPMENTS 0 26/01/2024 4,4 1 19/01/2024 4 0,62857143 26/01/2024 22/11/2024 44 4 25/10/2024 1,57142857 22/11/2024 2-CONCEPTION SCHÉMAS PID TU 862YACS462H HVAC - PID TUYAUTAGE (VFC) EN ACR 462H 0 06/02/2024 2,5 1 30/01/2024 6 0,35714286 06/02/2024 21/03/2024 2,5 1 14/03/2024 0,35714286 21/03/2024 2-CONCEPTION SCHÉMAS PID TU 863YACS462H HVAC - PID TUYAUTAGE (VFE) EN ACR 462H 0 06/02/2024 2,5 1 30/01/2024 6 0,35714286 06/02/2024 21/03/2024 2,5 1 14/03/2024 0,35714286 21/03/2024 On Excel I have no problem compiling all this with the sumprod function.
For the cumulative function, i've try this which seem working :
SUMX(FILTER(ALLSELECTED(FUP TEMPS THEORIQUE BPA),'FUP TEMPS THEORIQUE BPA'[DATE BPA]<=MAXX('FUP TEMPS THEORIQUE BPA','FUP TEMPS THEORIQUE BPA'[DATE BPA])),'FUP TEMPS THEORIQUE BPA'[TEMPS THEORIQUE PAR JOUR BPA - 2-CONCEPTION])my auto calendar is like thisCALENDRIER =VAR DebDate = MIN( 'DATE_PLANNING'[DATEPLANNING])VAR FinDate = MAX( 'DATE_PLANNING'[DATEPLANNING])RETURNADDCOLUMNS(// Créer un première colonne date entre les dates de début de planning et la date de fin de planningCALENDAR(DebDate,FinDate),// Colonne Année dans Planning"Annee", FORMAT([Date],"YYYY"),// Colonne Numéro du mois dans Planning"Numero du mois", MONTH([Date]),// Colonne Semaine_ISO dans Planning : Mise en place de la semaine ISO 8601 (format standard calendrier européen): (WEEKNUM([Date];21)"Semaine ISO" , "S" & FORMAT(WEEKNUM([Date],21),"00") ,// Colonne Année_Sem dans Planning : Format : ANNEE_SXX (01/02/etc..). Mise en place de la colonne Annee_Sem ISO (pour le cumul hebdomadaire)"Annee_Sem" , VAR An = YEAR([Date])VAR Sem = WEEKNUM([Date],2)VAR SemISO = WEEKNUM([Date],21) RETURNIF(AND (SemISO < 5, Sem > 50),An+1,IF(AND (SemISO > 50, Sem < 5),An-1,An))& "-S" & FORMAT(SemISO,"00"),// Colonne Semaine en Cours dans Planning : Format : VRAI, FAUX. Indique vrai / faux pour semaine en cours. !!!"Semaine_en_cours" , IF(VAR An = YEAR([Date])VAR Sem = WEEKNUM([Date],2)VAR SemISO = WEEKNUM([Date],21) RETURNIF(AND (SemISO < 5, Sem > 50),An+1,IF(AND (SemISO > 50, Sem < 5),An-1,An))&SemISO=VAR AnToday = YEAR(TODAY())VAR SemToday = WEEKNUM(TODAY(),2)VAR SemIsoToday = WEEKNUM(TODAY(),21) RETURNIF(AND (SemIsoToday < 5, SemToday > 50),AnToday+1,IF(AND (SemIsoToday > 50, SemToday < 5),AnToday-1,AnToday))&SemIsoToday,"VRAI","FAUX"))
- GCH_FRHelper I
Hello @v-stephen-msft
To explain my problem in more detail
I have several milestones that can be chained to each other in relation to PRE / BPE / BPE action start dates and PRE / BPE / BPE action end dates, so as to have times per day / week by “CODIFICATION” and then in cumulative times, also by “CODIFICATION”.
About the cumulative time per day, it's seem working with this one :
TEMPS THEORIQUE CUMULE BPA - 2-CONCEPTION =SUMX(FILTER(ALLSELECTED('CALCUL FUP TEMPS THEORIQUE BPA'),'CALCUL FUP TEMPS THEORIQUE BPA'[DATE BPA]<=MAXX('1-CALCUL FUP TEMPS THEORIQUE BPA','CALCUL FUP TEMPS THEORIQUE BPA'[DATE BPA])),CALCUL FUP TEMPS THEORIQUE BPA'[TEMPS THEORIQUE PAR JOUR BPA - 2-CONCEPTION])Here my Table :CODIFICATION CODIFICATION 2 NUMERO DOCUMENT DESIGNATION DATE PRE BUDGET PRE LISSAGE PRE DATE PRE FORCEE DATE DEBUT ACTION PRE NO SEMAINE DEBUT ACTION PRE TEMPS THEORIQUE PRE PAR JOUR DATE FIN ACTION PRE DATE BPA BUDGET BPA LISSAGE BPA DATE BPA FORCEE DATE DEBUT ACTION BPA NO SEMAINE DEBUT ACTION BPA TEMPS THEORIQUE BPA PAR JOUR DATE FIN ACTION BPA DATE BPE BUDGET BPE LISSAGE BPE DATE BPE FORCEE DATE DEBUT ACTION BPE TEMPS THEORIQUE BPE PAR JOUR DATE FIN ACTION BPE 1-ORGANISATION ORGANISATION ORGA SUIVI 30/12/2023 10 2 30/12/2023 0,71428571 13/01/2024 31/10/2024 430 40 25/01/2024 5 1,53571429 31/10/2024 2-CONCEPTION SCHÉMAS DRD LOT 840YSC345 HVAC - SCHEMAS GEOGRAPHIQUES - DRD - LOT 345 0 26/01/2024 66,55 3 05/01/2024 2 3,16904762 26/01/2024 15/03/2024 15 3 23/02/2024 0,71428571 15/03/2024 2-CONCEPTION SCHÉMAS DRD LOT 840YSC453 HVAC - SCHEMAS GEOGRAPHIQUES - DRD - LOT 453 0 15/02/2024 40 3 25/01/2024 5 1,9047619 15/02/2024 29/03/2024 15 3 08/03/2024 0,71428571 29/03/2024 2-CONCEPTION SCHÉMAS DRD LOT 840YSC463 HVAC - SCHEMAS GEOGRAPHIQUES - DRD - LOT 463 0 15/02/2024 40 3 25/01/2024 5 1,9047619 15/02/2024 29/03/2024 15 3 08/03/2024 0,71428571 29/03/2024 2-CONCEPTION SCHÉMAS DRD LOT 840YSC462 HVAC - SCHEMAS GEOGRAPHIQUES - DRD - LOT 462 0 06/02/2024 40 3 16/01/2024 4 1,9047619 06/02/2024 21/03/2024 15 3 29/02/2024 0,71428571 21/03/2024 2-CONCEPTION SCHÉMAS DRD LOT 840YSC335 HVAC - SCHEMAS GEOGRAPHIQUES - DRD - LOT 335 0 06/02/2024 40 3 16/01/2024 4 1,9047619 06/02/2024 20/03/2024 15 3 28/02/2024 0,71428571 20/03/2024 2-CONCEPTION SCHÉMAS DRD LOT 840YSC344 HVAC - SCHEMAS GEOGRAPHIQUES - DRD - LOT 344 0 06/02/2024 40 3 16/01/2024 4 1,9047619 06/02/2024 20/03/2024 15 3 28/02/2024 0,71428571 20/03/2024 2-CONCEPTION SCHÉMAS DRD LOT 840YSC606 HVAC - SCHEMAS GEOGRAPHIQUES - DRD - LOT 606 0 09/02/2024 40 3 19/01/2024 4 1,9047619 09/02/2024 29/03/2024 15 3 08/03/2024 0,71428571 29/03/2024 2-CONCEPTION NOMENCLATURE 840YBM03 HVAC - EQUIPMENTS IN ACCOMODATIONS 0 26/01/2024 4,4 1 19/01/2024 4 0,62857143 26/01/2024 22/11/2024 44 4 25/10/2024 1,57142857 22/11/2024 2-CONCEPTION NOMENCLATURE 840YBM01 HVAC - MAIN EQUIPMENTS 0 26/01/2024 4,4 1 19/01/2024 4 0,62857143 26/01/2024 22/11/2024 44 4 25/10/2024 1,57142857 22/11/2024 2-CONCEPTION NOMENCLATURE 840YBM02 HVAC - IL/OL 0 26/01/2024 4,4 1 19/01/2024 4 0,62857143 26/01/2024 22/11/2024 44 4 25/10/2024 1,57142857 22/11/2024 2-CONCEPTION NOMENCLATURE 840YBM04 HVAC - EQUIPMENTS IN ACR 0 26/01/2024 4,4 1 19/01/2024 4 0,62857143 26/01/2024 22/11/2024 44 4 25/10/2024 1,57142857 22/11/2024 2-CONCEPTION NOMENCLATURE 840YBM05 HVAC - SEATINGS 0 26/01/2024 4,4 1 19/01/2024 4 0,62857143 26/01/2024 22/11/2024 44 4 25/10/2024 1,57142857 22/11/2024 2-CONCEPTION NOMENCLATURE 840YBM06 HVAC - MISCELLANEOUS ELECTRICAL EQUIPMENTS 0 26/01/2024 4,4 1 19/01/2024 4 0,62857143 26/01/2024 22/11/2024 44 4 25/10/2024 1,57142857 22/11/2024 2-CONCEPTION SCHÉMAS PID TU 862YACS462H HVAC - PID TUYAUTAGE (VFC) EN ACR 462H 0 06/02/2024 2,5 1 30/01/2024 6 0,35714286 06/02/2024 21/03/2024 2,5 1 14/03/2024 0,35714286 21/03/2024 2-CONCEPTION SCHÉMAS PID TU 863YACS462H HVAC - PID TUYAUTAGE (VFE) EN ACR 462H 0 06/02/2024 2,5 1 30/01/2024 6 0,35714286 06/02/2024 21/03/2024 2,5 1 14/03/2024 0,35714286 21/03/2024