Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Concatenation of Column Values across Row

Hi All,

I have data in following format :

     

RankCODEPRODUCTFORMMOLECULE
1ABCQlikViewP1Qlik11
2ABCQlikViewP2Qlik10
3ABCQlikViewP3Qlik9
1XYZQlikSenseE1Sense1
2XYZQlikSenseE1Sense2
3XYZQlikSenseE1Sense3
4XYZQlikSenseE1Sense4

Please note the values of Columns CODE, PRODUCT,FORM are same.

Need output in below format :

  

RankCODEPRODUCTFORMMOLECULE
1ABCQlikViewP1Qlik11+Qlik10+Qlik9
1XYZQlikSenseE1Sense1+Sense2+Sense3+Sense4

Kindly do let me know how I can achieve the same in QlikView using script. Thank you.

Regards,

Kumar

3 Replies
sunny_talwar

Try this:

LOAD 1 as Rank,

          CODE,

          PRODUCT,

          FORM,

          Concat(MOLECULE, '+') AS MOLECULE

Resident ...

Group By CODE, PRODUCT, FORM;

Table:

LOAD Rank,

     CODE,

     PRODUCT,

     FORM,

     MOLECULE

FROM

[https://community.qlik.com/thread/188441]

(html, codepage is 1252, embedded labels, table is @1);

FinalTable:

NoConcatenate

LOAD FirstValue(Rank) as Rank,

     CODE,

     PRODUCT,

     FirstValue(FORM) as FORM,

     Concat(MOLECULE, '+') AS MOLECULE

Resident Table

Group By CODE, PRODUCT;

DROP Table Table;


Capture.PNG

maxgro
MVP
MVP



z:

load * inline [

Rank CODE PRODUCT FORM MOLECULE

1 ABC QlikView P1 Qlik11

2 ABC QlikView P2 Qlik10

3 ABC QlikView P3 Qlik9

1 XYZ QlikSense E1 Sense1

2 XYZ QlikSense E1 Sense2

3 XYZ QlikSense E1 Sense3

4 XYZ QlikSense E1 Sense4

] (delimiter is spaces);

y:

load

  Rank, CODE, PRODUCT, FORM

Resident z

where Rank=1;

left join (y)

load CODE, PRODUCT, Concat(MOLECULE, '+') as NEWMOLECULE

Resident z

group by CODE, PRODUCT;

DROP Table z;

Not applicable
Author

Thanks a lot Sunny and Maxgro. Both the approaches works