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

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
Ron1
Partner - Creator
Partner - Creator

Set Expression - Advanced

Hi All,

I want to transform the below set expression into a short one and more dynamic. There are multiple if(Dmensionality()=1 and Region=......) Please suggest something dynamic

Is it possible to short this expression ?

***********************************************************************************************************

if(Dimensionality()=1 and Region='NAM',Sum(Sales)+Sum({<Region={'NAM'},Country={'Tyx'}>} total Sales),
if(Dimensionality()=1 and Region='APAC', Sum(Sales)+ Sum({<Region={'APAC'},Country={'Tyx'}>} total Sales),
if(Dimensionality()=1 and Region='LAM', Sum(Sales)+ Sum({<Region={'LAM'},Country={'Tyx'}>} total Sales),
if(Dimensionality()=1 and Region='EMEA', Sum(Sales)+ Sum({<Region={'EMEA'},Country={'Tyx'}>} total Sales),
if(Dimensionality()=1 and Region='ITS',Sum(Sales)+ Sum({<Region={'ITS'},Country={'Tyx'}>} total Sales),
if(Dimensionality()=1 and Region='JFK', Sum(Sales)+ Sum({<Region={'JFK'},Country={'Tyx'}>} total Sales),
if(Dimensionality()=1 and Region='BJC', Sum(Sales)+ Sum({<Region={'BJC'},Country={'Tyx'}>} total Sales),
if(Dimensionality()=1 and Region='KYC',Sum(Sales)+ Sum({<Region={'KYC'},Country={'Tyx'}>} total Sales),
Sum(Sales)))))))))

***********************************************************************************************************

2 Replies
Anil_Babu_Samineni
MVP
MVP

How about this?

if(Dimensionality()=1 and Pick(Match(Region, 'NAM', 'APAC', 'LAM', 'EMEA', 'ITS', 'JFK', 'BJC', 'KYC'), Sum(Sales)+Sum({<Region={'NAM'},Country={'Tyx'}>} total Sales), Sum(Sales)+ Sum({<Region={'APAC'},Country={'Tyx'}>} total Sales), Sum(Sales)+ Sum({<Region={'LAM'},Country={'Tyx'}>} total Sales), Sum(Sales)+ Sum({<Region={'EMEA'},Country={'Tyx'}>} total Sales), Sum(Sales)+ Sum({<Region={'ITS'},Country={'Tyx'}>} total Sales), Sum(Sales)+ Sum({<Region={'JFK'},Country={'Tyx'}>} total Sales), Sum(Sales)+ Sum({<Region={'BJC'},Country={'Tyx'}>} total Sales), Sum(Sales)+ Sum({<Region={'KYC'},Country={'Tyx'}>} total Sales), Sum(Sales)))

Best Anil, When applicable please mark the correct/appropriate replies as "solution" (you can mark up to 3 "solutions". Please LIKE threads if the provided solution is helpful
StarinieriG
Partner - Specialist
Partner - Specialist

Hi,

in the table where you use it, are you using Region as dimension?

In that case, you could try:

Sum(Sales)
+
If(Dimensionality()<>1 or Match(Region,'NAM','APAC','LAM','EMEA','ITS','JFK','BJC','KYC')=0, 0,
Sum({<Country={'Tyx'}>} total Sales))