Skip to main content
Announcements
Qlik Introduces a New Era of Visualization! READ ALL ABOUT IT
cancel
Showing results for 
Search instead for 
Did you mean: 
samp
Contributor III
Contributor III

If Condition in expression is not working as expected

Below expression in if condition is giving wrong results for QTD and MTD  but the YTD and default result is correct, QTD and MTD is giving results always the same but still wrong.

if I go for individual expressions the results is always correct for YTD,QTD, MTD and Default , 

if(Time='YTD',Sum( {<Date={">=$(=YearStart($(vMaxDate))) <=$(=$(vMaxDate))"}, Time=>} [ Value]),
if(Time='QTD',Sum( {<Date={">=$(=QuarterStart($(vMaxDate))) <=$(=$(vMaxDate))"}, Time=>} [ Value]),
if(Time='MTD',Sum( {<Date={">=$(=MonthStart($(vMaxDate))) <=$(=$(vMaxDate))"}, Time=>} [ Value]),
Sum({<Date={">=$(=AddYears(YearStart(Today()),-1)) <=$(=AddYears(YearEnd(Today()),-1))"}, Time=>} [ Value]))))

Appreciate your help.

 

Labels (2)
10 Replies
samp
Contributor III
Contributor III
Author

The below expression using GetFieldSelections (Period) is fixed my problem in place of If condition or Pick match.

if(GetFieldSelections (Period)='YTD',Sum( {<%Date_Num={">=$(=Num(YearStart($(=$(vCOGSMaxDate))))) <= $(=$(vCOGSMaxDate))"}, Period=>} [COGS Value]),
if(GetFieldSelections (Period)='QTD',Sum( {<%Date_Num={">=$(=Num(QuarterStart($(=$(vCOGSMaxDate))))) <=$(=$(vCOGSMaxDate))"}, Period=>} [COGS Value]),
if(GetFieldSelections (Period)='MTD',Sum( {<%Date_Num={">=$(=Num(MonthStart($(=$(vCOGSMaxDate))))) <=$(=$(vCOGSMaxDate))"}, Period=>} [COGS Value]),
Sum( {<%Date_Num={">=$(=Num(AddYears(YearStart(Today()),-1))) <=$(=Num(AddYears(YearEnd(Today()),-1)))"}, Period=>} [COGS Value]))))