Forum Discussion
Sum last value filtered by date
Hello,
I need to get the last CUMULATIF value for each single NO_PALETTE filterd by the choosen date. The date slicer is coming from a calendar table. Then I want to sum all the value the get the total. I tried this measure but it don't give me the total:
Qty(filter)_test =
var dateselect = SELECTEDVALUE(Dimdate[Date])
var minindex = CALCULATE(MIN(HIST_PAL[Index]),HIST_PAL[DATE] <= dateselect,ALLEXCEPT(HIST_PAL,HIST_PAL[NO_PALETTE]))
Return
CALCULATE(SUM(HIST_PAL[CUMULATIF]),HIST_PAL[Index] = minindex)
For September 22nd 2021 it should be 612.
For Septembre 23td 2021 it should be 1052.
Thank you!
Here is the PBIX file: https://www.dropbox.com/s/5eg1o2nng8loitp/LastValue.pbix?dl=0
- Anonymous4 years ago
Anonymous Your measures needs to sum up the across all distinct values of NO_PALETTE, like this:
Qty(filter)_test = SUMX( VALUES(HIST_PAL[NO_PALETTE]), var dateselect = SELECTEDVALUE(Dimdate[Date]) var minindex = CALCULATE(MIN(HIST_PAL[Index]),HIST_PAL[DATE] <= dateselect,ALLEXCEPT(HIST_PAL,HIST_PAL[NO_PALETTE])) Return CALCULATE(SUM(HIST_PAL[CUMULATIF]),HIST_PAL[Index] = minindex) )
3 Replies
- CNENFRNL
Community Champion
Tu peux corriger ta mesure comme ça,
= VAR dateselect = SELECTEDVALUE( Dimdate[Date] ) RETURN SUMX( VALUES( HIST_PAL[NO_PALETTE] ), VAR minindex = CALCULATE( MIN( HIST_PAL[Index] ), HIST_PAL[DATE] <= dateselect, ALLEXCEPT( HIST_PAL, HIST_PAL[NO_PALETTE] ) ) RETURN CALCULATE( SUM( HIST_PAL[CUMULATIF] ), HIST_PAL[Index] = minindex ) )mais elle marche pas assez efficacement; voici une mesure 30+ fois plus vite (selon DAXStudio, 15ms vs 500ms) bien qu'elle ait l'air bcp plus compliquée.
= VAR dateselect = SELECTEDVALUE( Dimdate[Date] ) RETURN SUMX( VALUES( HIST_PAL[NO_PALETTE] ), CALCULATE( SUM( HIST_PAL[CUMULATIF] ), KEEPFILTERS( TOPN( 1, CALCULATETABLE( HIST_PAL, HIST_PAL[DATE] <= dateselect, ALLEXCEPT( HIST_PAL, HIST_PAL[NO_PALETTE] ) ), HIST_PAL[Index], ASC ) ) ) ) - AnonymousNot applicable
Anonymous Your measures needs to sum up the across all distinct values of NO_PALETTE, like this:
Qty(filter)_test = SUMX( VALUES(HIST_PAL[NO_PALETTE]), var dateselect = SELECTEDVALUE(Dimdate[Date]) var minindex = CALCULATE(MIN(HIST_PAL[Index]),HIST_PAL[DATE] <= dateselect,ALLEXCEPT(HIST_PAL,HIST_PAL[NO_PALETTE])) Return CALCULATE(SUM(HIST_PAL[CUMULATIF]),HIST_PAL[Index] = minindex) )- AnonymousNot applicable
Thank you Anonymous and CNENFRNL . Your solutions works!