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

transpose row to column with it's own value in script

I would like to transpose data from row to column with it's own data value.

Here is the original data sample:

IDCreated atRemarks
10011/5/2019No Answer
10013/5/2019Cancelled
100130/4/2019Called
10022/5/2019No Answer
10021/5/2019Follow Up

 

I would like the result to be as below:

IDRemarks 1Remarks 2Remarks 3
1001CalledNo AnswerCancelled
1002Follow UpNo Answer 

 

Group by the ID, remarks should be order by created at date or time.

 

Labels (1)
3 Replies
Vegar
MVP
MVP

Firstly  you need to generate a remark fiel pointing out which remark each row is.

IDCreated atRemarkNoRemarks
10011/5/2019Remark2No Answer
10013/5/2019Remark3Cancelled
100130/4/2019Remark1Called
10022/5/2019Remark2No Answer
10021/5/2019Remark1Follow Up

 

When you have this information per row as in the table above, then you can start "transposing" it using generic load followed by a join of the generic load output. Take a look at @hic  blog The Generic Load

asinha1991
Creator III
Creator III

elaborating on what @Vegar  already said, you can do something like this...first load data in sometable..then do this.

TmpTable:

Load *,'Remark '&autonumber(rowno(),ID) as RemarkName;

Load ID,Remarks Resident Sometable order by created at;

Drop sometable;

FinalTable;

Generic Load ID, RemarkName,Remarks  Resident TmpTable;

Drop TmpTable;

mahaveerbiraj
Creator II
Creator II

Hello,

please try with below logic,

temp:

load *

Inline [
ID, Created at, Remarks,
1001, 1/5/2019, No Answer
1001, 3/5/2019, Cancelled
1001, 30/4/2019, Called
1002, 2/5/2019, No Answer
1002, 1/5/2019, Follow Up
];

left join(temp)
temp2:
Load
*
Inline
[ Remarks, Remarks_final
No Answer,Remarks 2
Cancelled,Remarks 3
Called ,Remarks 1
Follow Up ,Remarks 1
];

final:
Generic
load
ID,
Remarks_final,
Remarks
Resident temp;

Drop Table temp;