Skip to main content
Announcements
See why Qlik is a Leader in the 2024 Gartner® Magic Quadrant™ for Analytics & BI Platforms. Download Now
cancel
Showing results for 
Search instead for 
Did you mean: 
Cascader
Creator
Creator

How to convert part of columns from a table to rows?

Hi 

I'm trying to convert columns issue1,issue2,issue3 to one column called issue.

Here is example data what I have:

 
Serial Date issue1 issue2 issue3 desc isCompleted
1 2023-Jan abc xyz   item 1
2 2023-Feb a b c Main Item 0

 

The result I need:

Serial Date issue desc isCompleted
1111 2023-Jan abc item 1
1111 2023-Jan xyz item 1
2222 2023-Feb a Main Item 0
2222 2023-Feb b Main Item 0
2222 2023-Feb c Main Item 0

 

Labels (2)
1 Solution

Accepted Solutions
QFabian
Specialist III
Specialist III

Hi @Cascader , please check this example.

It uses CROSSTABLE for transpose the columns to rows.

 

Input:
Load * INLINE [
Serial, Date, issue1, issue2, issue3, desc, isCompleted
1, 2023-Jan, abc, xyz,, item, 1
2, 2023-Feb, a, b, c, Main Item, 0
];

Output:
crosstable(Issue, Desc, 3)
Load
Serial,
Date,
isCompleted,
issue1,
issue2,
issue3
Resident Input;
drop table Input;


noconcatenate
Final:
Load
Serial,
Date,
isCompleted,
Issue,
Desc
Resident Output
Where
not isnull(Desc) and Desc <> ''; // or len(Desc)>0
drop table Output;

Noconcatenate

https://help.qlik.com/en-US/qlikview/May2022/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptP...

 

CROSSTABLE

https://help.qlik.com/en-US/qlikview/May2022/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptP...

 

QFabian

View solution in original post

5 Replies
DiegoF
Creator
Creator

QFabian
Specialist III
Specialist III

Hi @Cascader , please check this example.

It uses CROSSTABLE for transpose the columns to rows.

 

Input:
Load * INLINE [
Serial, Date, issue1, issue2, issue3, desc, isCompleted
1, 2023-Jan, abc, xyz,, item, 1
2, 2023-Feb, a, b, c, Main Item, 0
];

Output:
crosstable(Issue, Desc, 3)
Load
Serial,
Date,
isCompleted,
issue1,
issue2,
issue3
Resident Input;
drop table Input;


noconcatenate
Final:
Load
Serial,
Date,
isCompleted,
Issue,
Desc
Resident Output
Where
not isnull(Desc) and Desc <> ''; // or len(Desc)>0
drop table Output;

Noconcatenate

https://help.qlik.com/en-US/qlikview/May2022/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptP...

 

CROSSTABLE

https://help.qlik.com/en-US/qlikview/May2022/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptP...

 

QFabian
QFabian
Specialist III
Specialist III

@DiegoF exactly!

QFabian
Cascader
Creator
Creator
Author

Thanks QFabian

QFabian
Specialist III
Specialist III

good job @Cascader 

QFabian