Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Multiple IF's in Set Analysis

Hi, I need multiple if statements in a measure based on dimensions selected. For example if you pick from [Fiscal - Year], [Fiscal - Quarter Id], or [Fiscal - Period Id], the corresponding measures should be calculated. Im not sure what the syntax would be though.

=if(

GetSelectedCount([Fiscal - Year])>0,

round(Sum({$<[Fiscal - Year]={$(=Max([Fiscal - Year])-1)},[Filter - Date Context]={'Shipped'}>}[Amount - Shipped/Fulfilled USD])))

Or

=if(

GetSelectedCount([Fiscal - Quarter Id])>0,

round(Sum({$<[Fiscal - Quarter Id]={$(=Max([Fiscal - Quarter Id])-4)}>}[Amount - Shipped/Fulfilled USD])))

Or

=if(

GetSelectedCount([Fiscal - Period Id])>0,

round(Sum({$<[Fiscal - Period Id]={$(=Max([Fiscal - Period Id])-12)}>}[Amount - Shipped/Fulfilled USD])))

Thanks!

Dan

1 Solution

Accepted Solutions
zebhashmi
Specialist
Specialist

=if(

GetSelectedCount([Fiscal - Year])>0,

round(Sum({$<[Fiscal - Year]={$(=Max([Fiscal - Year])-1)},[Filter - Date Context]={'Shipped'}>}[Amount - Shipped/Fulfilled USD],

if(

GetSelectedCount([Fiscal - Quarter Id])>0,

round(Sum({$<[Fiscal - Quarter Id]={$(=Max([Fiscal - Quarter Id])-4)}>}[Amount - Shipped/Fulfilled USD],

if(

GetSelectedCount([Fiscal - Period Id])>0,

round(Sum({$<[Fiscal - Period Id]={$(=Max([Fiscal - Period Id])-12)}>}[Amount - Shipped/Fulfilled USD])))

View solution in original post

5 Replies
zebhashmi
Specialist
Specialist

Should work or you can use Pick(Match(),)

zebhashmi
Specialist
Specialist

=if(

GetSelectedCount([Fiscal - Year])>0,

round(Sum({$<[Fiscal - Year]={$(=Max([Fiscal - Year])-1)},[Filter - Date Context]={'Shipped'}>}[Amount - Shipped/Fulfilled USD],

if(

GetSelectedCount([Fiscal - Quarter Id])>0,

round(Sum({$<[Fiscal - Quarter Id]={$(=Max([Fiscal - Quarter Id])-4)}>}[Amount - Shipped/Fulfilled USD],

if(

GetSelectedCount([Fiscal - Period Id])>0,

round(Sum({$<[Fiscal - Period Id]={$(=Max([Fiscal - Period Id])-12)}>}[Amount - Shipped/Fulfilled USD])))

Anonymous
Not applicable
Author

How could you use Pick and Match in this example?

sasiparupudi1
Master III
Master III

=Pick(

Match(GetSelectedCount([Fiscal - Year])>0,GetSelectedCount([Fiscal - Quarter Id])>0,GetSelectedCount([Fiscal - Period Id])>0

,

round(Sum({$<[Fiscal - Year]={$(=Max([Fiscal - Year])-1)},[Filter - Date Context]={'Shipped'}>}[Amount - Shipped/Fulfilled USD])),

round(Sum({$<[Fiscal - Quarter Id]={$(=Max([Fiscal - Quarter Id])-4)}>}[Amount - Shipped/Fulfilled USD])),

round(Sum({$<[Fiscal - Period Id]={$(=Max([Fiscal - Period Id])-12)}>}[Amount - Shipped/Fulfilled USD]))

)