Forum Discussion
A function 'PLACEHOLDER' has been used in a True/False expression that is used as a table filter exp
- 1 year ago
Hi bonjourposte
Can you please check the below DAX, please let me know if not worksNumRenewals2 = VAR MatDate = MAX(LOANHISTSorted[MAT_DATE]) VAR CurrentLoanStatus = MAX(LOANHISTSorted[LOAN_STATUS]) VAR CurrentLoanTerm = MAX(LOANHISTSorted[CURR_LOAN_TERM]) VAR CurrentAmzMos = MAX(LOANHISTSorted[CURR_AMZ_MONTHS]) VAR PREV_MAT_DATE = MAX(LOANHISTSorted[PREV_MAT_DATE]) VAR PREV_LOAN_STATUS = MAX(LOANHISTSorted[PREV_LOAN_STATUS]) VAR PREV_LOAN_TERM = MAX(LOANHISTSorted[PREV_LOAN_TERM]) VAR PREV_AMZ_MOS = MAX(LOANHISTSorted[PREV_AMZ_MONTHS]) VAR PREV_START_DATE = MAX(LOANHISTSorted[PREV_START_DATE]) RETURN CALCULATE( COUNTROWS(LOANHISTSorted), FILTER( LOANHISTSorted, MatDate <> PREV_MAT_DATE && CurrentLoanStatus <> "Commitment" && PREV_LOAN_STATUS <> "Cancelled" && PREV_LOAN_STATUS <> "PAIDINFULL" && ( (PREV_START_DATE > MatDate) || (PREV_LOAN_TERM <> CurrentLoanTerm && PREV_AMZ_MOS = CurrentAmzMos) ) ) )
Hi bonjourposte
Can you please check the below DAX, please let me know if not works
NumRenewals2 =
VAR MatDate = MAX(LOANHISTSorted[MAT_DATE])
VAR CurrentLoanStatus = MAX(LOANHISTSorted[LOAN_STATUS])
VAR CurrentLoanTerm = MAX(LOANHISTSorted[CURR_LOAN_TERM])
VAR CurrentAmzMos = MAX(LOANHISTSorted[CURR_AMZ_MONTHS])
VAR PREV_MAT_DATE = MAX(LOANHISTSorted[PREV_MAT_DATE])
VAR PREV_LOAN_STATUS = MAX(LOANHISTSorted[PREV_LOAN_STATUS])
VAR PREV_LOAN_TERM = MAX(LOANHISTSorted[PREV_LOAN_TERM])
VAR PREV_AMZ_MOS = MAX(LOANHISTSorted[PREV_AMZ_MONTHS])
VAR PREV_START_DATE = MAX(LOANHISTSorted[PREV_START_DATE])
RETURN
CALCULATE(
COUNTROWS(LOANHISTSorted),
FILTER(
LOANHISTSorted,
MatDate <> PREV_MAT_DATE &&
CurrentLoanStatus <> "Commitment" &&
PREV_LOAN_STATUS <> "Cancelled" &&
PREV_LOAN_STATUS <> "PAIDINFULL" &&
(
(PREV_START_DATE > MatDate) ||
(PREV_LOAN_TERM <> CurrentLoanTerm && PREV_AMZ_MOS = CurrentAmzMos)
)
)
)
- bonjourposte1 year ago
Helper V
Hi PijushRoy , I got it to work! Thanks for your help.
NumRenewals =
VAR MatDate = MAX(LOANHISTSorted[MAT_DATE])
VAR PREV_START_DATE = MAX(LOANHISTSorted[PREV_START_DATE])
VAR CurrentLoanStatus = MAX(LOANHISTSorted[LOAN_STATUS])
RETURN
CALCULATE(
COUNTROWS(LOANHISTSorted),
FILTER(
LOANHISTSorted,
LOANHISTSorted[MAT_DATE] <> LOANHISTSorted[PREV_MAT_DATE] &&
CurrentLoanStatus <> "Commitment" &&
LOANHISTSorted[PREV_LOAN_STATUS] <> "Cancelled" &&
LOANHISTSorted[PREV_LOAN_STATUS] <> "PAIDINFULL" &&
LOANHISTSorted[CURR_START_DATE] > LOANHISTSorted[PREV_MAT_DATE])
- bonjourposte1 year ago
Helper V
Thanks, it didn't work, but it's the closest I've gotten.
I took out the line about Extensions because I'll do the Extensions in another matrix. This one will just be Renewals.
It should look like the first matrix, but it gives me the second one.
NumRenewals2 =VAR MatDate = MAX(LOANHISTSorted[MAT_DATE])VAR CurrentLoanStatus = MAX(LOANHISTSorted[LOAN_STATUS])VAR CurrentLoanTerm = MAX(LOANHISTSorted[CURR_LOAN_TERM])VAR CurrentAmzMos = MAX(LOANHISTSorted[CURR_AMZ_MONTHS])VAR PREV_MAT_DATE = MAX(LOANHISTSorted[PREV_MAT_DATE])VAR PREV_LOAN_STATUS = MAX(LOANHISTSorted[PREV_LOAN_STATUS])VAR PREV_LOAN_TERM = MAX(LOANHISTSorted[PREV_LOAN_TERM])VAR PREV_AMZ_MOS = MAX(LOANHISTSorted[PREV_AMZ_MONTHS])VAR PREV_START_DATE = MAX(LOANHISTSorted[PREV_START_DATE])RETURNCALCULATE(COUNTROWS(LOANHISTSorted),FILTER(LOANHISTSorted,MatDate <> PREV_MAT_DATE &&CurrentLoanStatus <> "Commitment" &&PREV_LOAN_STATUS <> "Cancelled" &&PREV_LOAN_STATUS <> "PAIDINFULL" &&PREV_START_DATE > MatDate))