Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
I've been struggling with how to dynamically calculate measure with date output of the last 3 values that occur on specific dates. The measure should output dates as simulated on the image.
Any help would be very much appreciated.
I need to solve it with measure, so no calculated columns.
Beware: it's not an easy one😁
Solved! Go to Solution.
I've managed id to do it with a measure. I will still do some tweaking to the code, but the concept is clear and in the end, it was not that hard🙂
Measure =
VAR Selecteddate_ = SELECTEDVALUE(T[Date])
VAR CountPositiveDates_ = CALCULATE(COUNTROWS(T), DATESBETWEEN(T[Date],DATE(2000,1,1),Selecteddate_),T[Value]>0)
VAR TargetCount_ = CountPositiveDates_ - 2 //use n-1 for proper segments
VAR TmpTable_ = SUMMARIZE(ALL(T),T[Date],"Check",IF(SUM(T[Value])>0,CALCULATE(COUNTROWS(T), DATESBETWEEN(T[Date],DATE(2000,1,1),T[Date]),T[Value]>0),BLANK()))
RETURN
SUMX(FILTER(TmpTable_,[Check] = TargetCount_),[Date])
I've managed id to do it with a measure. I will still do some tweaking to the code, but the concept is clear and in the end, it was not that hard🙂
Measure =
VAR Selecteddate_ = SELECTEDVALUE(T[Date])
VAR CountPositiveDates_ = CALCULATE(COUNTROWS(T), DATESBETWEEN(T[Date],DATE(2000,1,1),Selecteddate_),T[Value]>0)
VAR TargetCount_ = CountPositiveDates_ - 2 //use n-1 for proper segments
VAR TmpTable_ = SUMMARIZE(ALL(T),T[Date],"Check",IF(SUM(T[Value])>0,CALCULATE(COUNTROWS(T), DATESBETWEEN(T[Date],DATE(2000,1,1),T[Date]),T[Value]>0),BLANK()))
RETURN
SUMX(FILTER(TmpTable_,[Check] = TargetCount_),[Date])
@drbr , Create two new columns and try
rank = rankx(filter(table, table[value]=1]),[Date],,asc,dense)
new column =
var _1 = Table[rank]
return
maxx(filter(Table, Table[rank] =_1-2 ),Table[Date])
@amitchandak thank you very much. I replied soon after your reply. Unfortunately and I don't know why my answer was not posted. Firstly, thank you for your answer. I guess you missed the part, that I am limited only to measures, so no calculated columns at all.
Do you or anyone have any ideas in this context?
User | Count |
---|---|
25 | |
12 | |
8 | |
7 | |
7 |
User | Count |
---|---|
25 | |
12 | |
11 | |
10 | |
6 |