Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
I have been stuck at this for quite some time now. I have a table in which I create measures. Length is a column here. survival proportion m1 is a measure which takes into account two other measures total patients m1 and finished patients m1. These are how measures are calculated.
Total Patients m1 =
VAR CurrentLength = SELECTEDVALUE(SDP_Patients[Length])
RETURN
CALCULATE(
DISTINCTCOUNT(SDP_Patients[RequestNumber]),
SDP_Patients[Length] >= CurrentLength,
ALLSELECTED(SDP_Patients))
and
Finished Patients m1 =
VAR CurrentLength = MAX(KM[Length])
VAR Result =
CALCULATE(
DISTINCTCOUNT(SDP_Patients[RequestNumber]),
SDP_Patients[Length] = CurrentLength && NOT(ISBLANK(SDP_Patients[ServiceEndDate])),
ALLSELECTED(SDP_Patients)
)
RETURN
IF(ISBLANK(Result), 0, Result)
and
survival proportion m1 = DIVIDE(([Total Patients m1] - [Finished Patients m1]),[Total Patients m1],0)
finally,
test1 =
VAR CurrentLength = MAX('SDP_Patients'[Length])
VAR CurrentValue = [survival proportion m1]
VAR PreviousRow =
TOPN (
1,
FILTER (
ALLSELECTED(SDP_Patients),
SDP_Patients[LENGTH] < CurrentLength
),
[Length], DESC
)
VAR PreviousValue =
MAXX ( PreviousRow, [survival proportion m1] )
RETURN
IF(
CurrentLength = 0,
CurrentValue, // Return the current value as is for the first row
PreviousValue
)
I have broken down my entire problem to this. I have tried every solution but no use. It just doesnt return previous value. My guess is that since its a measure thats why.
In the end I will be taking cummulative product. But I have to solve this issue before moving on to that because that doesnt work either.
Length is non unique in original table. this is a table visual
Solved! Go to Solution.
@fatimaarshd So, in theory something like this *should* work:
PV m1 =
VAR __Table =
SUMMARIZE(
ALLSELECTED('SDP_Patients'),
[Length],
"__TotalPatients", [Total Patients m1],
"__SurvivalProportion", [survival proportion m1]
)
VAR __Length = MAX('SDP_Patients'[Length])
VAR __PrevLength = __Length - 1
VAR __Result = MAXX( FILTER( __Table, [Length] = __PrevLength ), [__SurvivalProportion] )
RETURN
__Result
@fatimaarshd So, in theory something like this *should* work:
PV m1 =
VAR __Table =
SUMMARIZE(
ALLSELECTED('SDP_Patients'),
[Length],
"__TotalPatients", [Total Patients m1],
"__SurvivalProportion", [survival proportion m1]
)
VAR __Length = MAX('SDP_Patients'[Length])
VAR __PrevLength = __Length - 1
VAR __Result = MAXX( FILTER( __Table, [Length] = __PrevLength ), [__SurvivalProportion] )
RETURN
__Result
Thank you so much. It worked!!!!!!!!! Been stuck on this for a day.
User | Count |
---|---|
84 | |
80 | |
63 | |
52 | |
45 |
User | Count |
---|---|
100 | |
48 | |
42 | |
39 | |
38 |