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: 
davidoxi
Contributor III
Contributor III

Dissociate a field a field into 2 field

Hello

I have this table :

N° doc
1FAA03
1VVV03
2FAA04
2VVV04
3FAA05
3VVV06
4VVV08
4FAA05

I went to get this table :

N° doc  FAAN° doc VVV
1FAA03VVV03
2FAA04VVV04
3FAA05VVV06
4VVV08FAA05
12 Replies
davidoxi
Contributor III
Contributor III
Author

N° docMontant($)
rraa20FAA04789
rrt730AAA23152
rrt730FAA05785
rrt730VVV04365
rrt730VVV06193
rrtt10FAA03846
rrtt10PPP08579
rrtt10VVV03246
rtta20AAA23494
rtta20VVV04100


   I went to get this table (object : straight table ) :

NDocFNDocVNDocANDocPaggr(sum(montant),N°) ???
rraa20FAA04---??
rrt730FAA05VVV04AAA23-??
rrt730FAA05VVV06AAA23-??
rrta40FAA08VVV08-PPP08??
rrtt10FAA03VVV03-PPP08??
rtta20-VVV04AAA23-??
antoniotiman
Master III
Master III

Hi Sahra,

try this

Temp:
LOAD *,Left([N° doc],3) as LeftDoc,Autonumber(Left([N° doc],3)) as Rank
Inline [
N°, N° doc, Montant
rraa20, FAA04, 789
rrt730, AAA23, 152
rrt730, FAA05, 785
rrt730, VVV04, 365
rrt730, VVV06, 193
rrtt10, FAA03, 846
rrtt10, PPP08, 579
rrtt10, VVV03, 246
rtta20, AAA23, 494
rtta20, VVV04, 100]
;


LOAD Max(Rank) as MaxRank
Resident Temp;
Let vMaxRank= Peek('MaxRank');

SET I = 1;
LET vName = FieldValue('LeftDoc',$(I));

Table:
NoConcatenate
LOAD ,[N° doc] as NDoc$(vName)
Resident Temp Where Rank=$(I);

FOR I=2 to $(vMaxRank)
LET vName = FieldValue('LeftDoc',$(I));
Join
LOAD ,[N° doc] as NDoc$(vName)
Resident Temp Where Rank=$(I);
NEXT;
Left Join (Table)
LOAD ,Sum(Montant) as Montant
Resident Temp
Group By ;
Drop Table Temp; 

Regards,

Antonio

MarcoWedel

Hi,

another solution might be:

QlikCommunity_Thread_271549_Pic1.JPG

Generic

LOAD N°,

    'N° doc '&Left([N° doc],3),

    [N° doc]

FROM [https://community.qlik.com/thread/271549] (html, codepage is 1252, embedded labels, table is @5);

hope this helps

regards

Marco