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: 
prahlad_infy
Partner - Creator II
Partner - Creator II

what is going wrong with my set expression ?

Hello Sirs ,

For below data i wanted output like

customer QUALITY  for year 2017 and 2018 , with minimum priority and Logistics as OV , HYBRID as null and class as A .

 


NEEDED RESULT  

CUST2017 - MIN PRI QUALITY2018 - MIN PRI QUALITY
CUSTOMER 185
CUSTOMER 283
CUSTOMER 3-8

 

INPUT TABLE :

CUSTOMERYEARPRIORITYlogisticsHYBRIDCLASSQUALITY_ON_TEN
CUSTOMER 120186   9
CUSTOMER 120173 HYA1
CUSTOMER 120184NULY 5
CUSTOMER 120174NULYA2
CUSTOMER 120172OV  7
CUSTOMER 120171OV A8
CUSTOMER 120182OV A5
CUSTOMER 120183OVHYA7
CUSTOMER 220174 HY 6
CUSTOMER 220176NULYA1
CUSTOMER 220187NULYA6
CUSTOMER 220181OV  3
CUSTOMER 220173OV  8
CUSTOMER 220170OV A8
CUSTOMER 220181OV A3
CUSTOMER 220183OVHY 6
CUSTOMER 220185OVHYA6
CUSTOMER 220172OVLYA1
CUSTOMER 320185  A4
CUSTOMER 320186NU  5
CUSTOMER 320182NU A7
CUSTOMER 32018-3OV A8
CUSTOMER 320172OV A8
CUSTOMER 320186OV A0
CUSTOMER 320171  A8

 

My expression which did not work 

 

Concat(DISTINCT{<YEAR={2017}>*<logistics={'OV'}>*<HYBRID_L={0}>*<PRIORITY={"$(=FirstSortedValue(PRIORITY,aggr(min(PRIORITY),CUSTOMER,PRIORITY)))"}>}QUALITY_ON_TEN)

Concat(DISTINCT{<YEAR={2018}>*<logistics={'OV'}>*<HYBRID_L={0}>*<PRIORITY={"$(=FirstSortedValue(PRIORITY,aggr(min(PRIORITY),CUSTOMER,PRIORITY)))"}>}QUALITY_ON_TEN)

5 Replies
prahlad_infy
Partner - Creator II
Partner - Creator II
Author

scrit

cust:
LOAD * ,

Len(HYBRID) AS HYBRID_L ;


LOAD * INLINE [

CUSTOMER, YEAR, PRIORITY, logistics, HYBRID, CLASS, QUALITY_ON_TEN
CUSTOMER 1, 2018, 6, , , , 9
CUSTOMER 1, 2017, 3, , HY, A, 1
CUSTOMER 1, 2018, 4, NU, LY, , 5
CUSTOMER 1, 2017, 4, NU, LY, A, 2
CUSTOMER 1, 2017, 2, OV, , , 7
CUSTOMER 1, 2017, 1, OV, , A, 8
CUSTOMER 1, 2018, 2, OV, , A, 5
CUSTOMER 1, 2018, 3, OV, HY, A, 7
CUSTOMER 2, 2017, 4, , HY, , 6
CUSTOMER 2, 2017, 6, NU, LY, A, 1
CUSTOMER 2, 2018, 7, NU, LY, A, 6
CUSTOMER 2, 2018, 1, OV, , , 3
CUSTOMER 2, 2017, 3, OV, , , 8
CUSTOMER 2, 2017, 0, OV, , A, 8
CUSTOMER 2, 2018, 1, OV, , A, 3
CUSTOMER 2, 2018, 3, OV, HY, , 6
CUSTOMER 2, 2018, 5, OV, HY, A, 6
CUSTOMER 2, 2017, 2, OV, LY, A, 1
CUSTOMER 3, 2018, 5, , , A, 4
CUSTOMER 3, 2018, 6, NU, , , 5
CUSTOMER 3, 2018, 2, NU, , A, 7
CUSTOMER 3, 2018, -3, OV, , A, 8
CUSTOMER 3, 2017, 2, OV, , A, 8
CUSTOMER 3, 2018, 6, OV, , A, 0
CUSTOMER 3, 2017, 1, , , A, 8
];

prahlad_infy
Partner - Creator II
Partner - Creator II
Author

@pradosh_thakur ..

@anushree1  , @Anil_Babu_Samineni 

 

 

Sir you all gave me solution for one previous doubt . hence adding you 

anushree1
Specialist II
Specialist II

Hi Please find the attached , output on qv matches your desired output except for Customer 3 I am unsure if its typo error on customer 3 or the logic different, please check and let me know

prahlad_infy
Partner - Creator II
Partner - Creator II
Author

Thank You Anushree1 for the reply .

Actually for customer 3 for 2017 the lowest priority is 1 , but its logistics field is NULL , though CLASS is A ...
Hence , it should have Null result 
while for 2018 the lowest priority is - 3 hence it should display 8 as result 

our search cond should like be 

1) first find the lowest priority 
2) check if corresponding Logistics is OV , if yes then 

3) Check class if its A , if yes then populate corresponding QUALITY_ON_TEN 

else populating Null 

Hope i am explaining myself clear . 

prahlad_infy
Partner - Creator II
Partner - Creator II
Author

I made little change in data and your expression in not giving expected result ;

Final:
Load *,
if(len(trim(HYBRID))=0,1,0) as Null_Flag;

Temp:
LOAD * INLINE [

CUSTOMER, YEAR, PRIORITY, logistics, HYBRID, CLASS, QUALITY_ON_TEN
CUSTOMER 1, 2018, 6, , , , 9
CUSTOMER 1, 2017, 3, , HY, A, 1
CUSTOMER 1, 2018, 4, NU, LY, , 5
CUSTOMER 1, 2017, 4, NU, LY, A, 2
CUSTOMER 1, 2017, 2, OV, , , 7
CUSTOMER 1, 2017, 8, OV, , A, 8
CUSTOMER 1, 2017, 1, OV, , A, 10
CUSTOMER 1, 2018, 7, OV, , A, 5
CUSTOMER 1, 2018, 1, OV, , A, 9
CUSTOMER 1, 2018, 3, OV, HY, A, 7
CUSTOMER 2, 2017, 4, , HY, , 6
CUSTOMER 2, 2017, 6, NU, LY, A, 1
CUSTOMER 2, 2018, 7, NU, LY, A, 6
CUSTOMER 2, 2018, 1, OV, , , 3
CUSTOMER 2, 2017, 3, OV, , , 8
CUSTOMER 2, 2017, 0, OV, , A, 8
CUSTOMER 2, 2018, 1, OV, , A, 3
CUSTOMER 2, 2018, 3, OV, HY, , 6
CUSTOMER 2, 2018, 5, OV, HY, A, 6
CUSTOMER 2, 2017, 2, OV, LY, A, 1
CUSTOMER 3, 2018, 5, , , A, 4
CUSTOMER 3, 2018, 6, NU, , , 5
CUSTOMER 3, 2018, 2, NU, , A, 7
CUSTOMER 3, 2018, -3, OV, , A, 8
CUSTOMER 3, 2017, 2, OV, , A, 8
CUSTOMER 3, 2018, 6, OV, , A, 0
CUSTOMER 3, 2017, 1, , , A, 8
];



p1.png

 

p2.png

10 should be the result for 2017 , 9 for 2018 .