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: 
arsenal1983
Creator
Creator

Transformation of Data crosstable

Hello,

I need to transform my data durig load process by using some kind of crosstable. 

I have data like:

DOC_KEYINVOICE_NOTEXTVOUCHER_FACE_VALUEACOUNTAMOUNT
1200000164-XXXX-20191250036085*eVoucher 5 USD gross FV:2019.01:H5871080-4477
1200000164-XXXX-20191250036085*eVoucher 5 USD gross FV:2019.01:S5871081282,05
1200000164-XXXX-20191250036085*eVoucher 5 USD gross FV:2019.01:S55107003,95
1200000164-XXXX-20191250036085*eVoucher 10 USD gross FV:2019.01:H10871080-20325
1200000164-XXXX-20191250036085*eVoucher 10 USD gross FV:2019.01:H10510700-5,47
1200000164-XXXX-20191250036085*eVoucher 10 USD gross FV:2019.01:S108710811280,47
1200000164-XXXX-20191250036085*eVoucher 30 USD gross FV:2019.01:H30871080-41463
1200000164-XXXX-20191250036085*eVoucher 30 USD gross FV:2019.01:S308710812612,16
1200000164-XXXX-20191250036085*eVoucher 30 USD gross FV:2019.01:S305107005,84
1200000164-XXXX-20191250036085*eVoucher 50 USD gross FV:2019.01:H50871080-20325
1200000164-XXXX-20191250036085*eVoucher 50 USD gross FV:2019.01:H50510700-0,47
1200000164-XXXX-20191250036085*eVoucher 50 USD gross FV:2019.01:S508710811280,47
1200000164-XXXX-20191250036085*eVoucher 60 USD gross FV:2019.01:H60871080-2439
1200000164-XXXX-20191250036085*eVoucher 60 USD gross FV:2019.01:H60510700-0,15
1200000164-XXXX-20191250036085*eVoucher 60 USD gross FV:2019.01:S60871081153,65
1200000164-XXXX-20191250036085*eVoucher 100 USD gross FV:2019.01100110125107287,37
1200000164-XXXX-20191250036085*eVoucher 100 USD gross FV:2019.01:H100871080-4065
1200000164-XXXX-20191250036085*eVoucher 100 USD gross FV:2019.01:H100510700-0,09
1200000164-XXXX-20191250036085*eVoucher 100 USD gross FV:2019.01:S100871081256,09
1200000165-XXXX-20191250036086*eVoucher 5 USD gross FV:2019.01:H5871080-4070
1200000165-XXXX-20191250036086*eVoucher 5 USD gross FV:2019.01:H5510700-4,2
1200000165-XXXX-20191250036086*eVoucher 5 USD gross FV:2019.01:S5871081244,2

 

I expect result:

DOC_KEYINVOICE_NOVOUCHER_FACE_VALUE1101201101255107008710808710811200000164-XXXX-201912500360851200000164-XXXX-201912500360851200000164-XXXX-201912500360851200000164-XXXX-201912500360851200000164-XXXX-201912500360851200000164-XXXX-201912500360851200000165-XXXX-201912500360861200000165-XXXX-201912500360861200000165-XXXX-201912500360861200000165-XXXX-201912500360861200000165-XXXX-201912500360861200000205-XXXX-201912500360871200000205-XXXX-20191250036087

5  3,95-4477282,05
10  -5,47-203251280,47
30  5,84-414632612,16
50  -0,47-203251280,47
60  -0,15-2439153,65
100 107287,37-0,09-4065256,09
5  -4,2-4070244,2
10  3,3-12195731,7
30  -3,4-243901463,4
50  0,3-12195731,7
6063929,87 0,16-2439146,34
5  -8,4-8140488,4
10  17,6-650403902,4
Labels (2)
1 Solution

Accepted Solutions
sunny_talwar

Something like this

Table:
LOAD DOC_KEY,
INVOICE_NO,
TEXT,
VOUCHER_FACE_VALUE,
ACOUNT,
AMOUNT
FROM
[..\..\Downloads\VOUCH (1).xlsx]
(ooxml, embedded labels, table is Sheet1);

FinalTable:
LOAD DISTINCT DOC_KEY,
INVOICE_NO,
VOUCHER_FACE_VALUE
Resident Table;

FOR i = 1 to FieldValueCount('ACOUNT')

LET vACOUNT = FieldValue('ACOUNT', $(i));

Left Join (FinalTable)
LOAD DISTINCT DOC_KEY,
INVOICE_NO,
VOUCHER_FACE_VALUE,
AMOUNT as [$(vACOUNT)]
Resident Table
Where ACOUNT = '$(vACOUNT)';

NEXT

DROP Table Table;

View solution in original post

3 Replies
sunny_talwar

Can you delimit your output data so that it can become a little more readable.

image.png

arsenal1983
Creator
Creator
Author

Hi sunny, I've attached the data set - input and output in xlsx have you seen it? Output is in piv sheet, the sample below.

DOC_KEY;INVOICE_NO;VOUCHER_FACE_VALUE;110120;110125;510700;871080;871081
1200000164-XXXX-2019;1250036085;5;;;3,95;-4477;282,05
1200000164-XXXX-2019;1250036085;10;;;-5,47;-20325;1280,47

 

sunny_talwar

Something like this

Table:
LOAD DOC_KEY,
INVOICE_NO,
TEXT,
VOUCHER_FACE_VALUE,
ACOUNT,
AMOUNT
FROM
[..\..\Downloads\VOUCH (1).xlsx]
(ooxml, embedded labels, table is Sheet1);

FinalTable:
LOAD DISTINCT DOC_KEY,
INVOICE_NO,
VOUCHER_FACE_VALUE
Resident Table;

FOR i = 1 to FieldValueCount('ACOUNT')

LET vACOUNT = FieldValue('ACOUNT', $(i));

Left Join (FinalTable)
LOAD DISTINCT DOC_KEY,
INVOICE_NO,
VOUCHER_FACE_VALUE,
AMOUNT as [$(vACOUNT)]
Resident Table
Where ACOUNT = '$(vACOUNT)';

NEXT

DROP Table Table;