Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
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 .