Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
gf
Creator III
Creator III

Dynamic LOAD Variable

Hello,

Is something like this

IF(GRUPPE1='3',LAND & SPRACHE & GRUPPE5 & GRUPPE6 & BLTUGP as GUVKONTOGRUPPENKEY,LANDISO & BLTSPRISO & GRUPPE1 & GRUPPE2 & GRUPPE3 & GRUPPE4 & GRUPPE5 & GRUPPE6 & BLTUGP as KONTOGRPKEY);

possible in LOAD-statement.

Currently my LOAD looks like this:

Salden:
LOAD * INLINE [Dummy];
FOR i=0 TO NoOfRows('SprachenAll')-1
LET vLand = peek('CTLLANDISO', i, 'SprachenAll');
LET vSprache = peek('SPRACHE',i,'SprachenAll');
LET vLIB = '$(vLand)' & 'DATA';

Concatenate(Salden)


LOAD 

TEXT as TEXT,
KONTONUMMER as KONTONUMMER,
KONTOTEXT as KONTOTEXT,
LANDISO & FCO & KONTONUMMER & KONTOTEXT & BLTUGP as KONTOSALDO,
//IF(GRUPPE1='3',LAND & SPRACHE & GRUPPE5 & GRUPPE6 & BLTUGP as GUVKONTOGRUPPENKEY,LANDISO & BLTSPRISO & GRUPPE1 & GRUPPE2 & GRUPPE3 & GRUPPE4 & GRUPPE5 & GRUPPE6 & BLTUGP as KONTOGRPKEY);
LANDISO & BLTSPRISO & GRUPPE1 & GRUPPE2 & GRUPPE3 & GRUPPE4 & GRUPPE5 & GRUPPE6 & BLTUGP as KONTOGRPKEYL;
//LAND & SPRACHE & GRUPPE5 & GRUPPE6 & BLTUGP as GUVKONTOGRUPPENKEY;
SQL Select LANDISO, b.bltspriso as BLTSPRISO, b.KPFCO AS FCO, a.bltgs1 AS GRUPPE1, regexp_replace(a.bltgs2,'Ÿ','') AS GRUPPE2, regexp_replace(a.bltgs3,'Ÿ','') AS GRUPPE3...

Thanks in advance!

Labels (4)
1 Solution

Accepted Solutions
jyothish8807
Master II
Master II

May be like this:

Salden:
LOAD * INLINE [Dummy];
FOR i=0 TO NoOfRows('SprachenAll')-1
LET vLand = peek('CTLLANDISO', i, 'SprachenAll');
LET vSprache = peek('SPRACHE',i,'SprachenAll');
LET vLIB = '$(vLand)' & 'DATA';

Concatenate(Salden)


LOAD 

TEXT as TEXT,
KONTONUMMER as KONTONUMMER,
KONTOTEXT as KONTOTEXT,
LANDISO & FCO & KONTONUMMER & KONTOTEXT & BLTUGP as KONTOSALDO,
IF(GRUPPE1='3',LAND & SPRACHE & GRUPPE5 & GRUPPE6 & BLTUGP) as GUVKONTOGRUPPENKEY,
IF(GRUPPE1<>'3',LANDISO & BLTSPRISO & GRUPPE1 & GRUPPE2 & GRUPPE3 & GRUPPE4 & GRUPPE5 & GRUPPE6 & BLTUGP) as KONTOGRPKEY, LANDISO & BLTSPRISO & GRUPPE1 & GRUPPE2 & GRUPPE3 & GRUPPE4 & GRUPPE5 & GRUPPE6 & BLTUGP as KONTOGRPKEYL; //LAND & SPRACHE & GRUPPE5 & GRUPPE6 & BLTUGP as GUVKONTOGRUPPENKEY; SQL Select LANDISO, b.bltspriso as BLTSPRISO, b.KPFCO AS FCO, a.bltgs1 AS GRUPPE1, regexp_replace(a.bltgs2,'Ÿ','') AS GRUPPE2, regexp_replace(a.bltgs3,'Ÿ','') AS GRUPPE3...

 

Best Regards,
KC

View solution in original post

2 Replies
jyothish8807
Master II
Master II

May be like this:

Salden:
LOAD * INLINE [Dummy];
FOR i=0 TO NoOfRows('SprachenAll')-1
LET vLand = peek('CTLLANDISO', i, 'SprachenAll');
LET vSprache = peek('SPRACHE',i,'SprachenAll');
LET vLIB = '$(vLand)' & 'DATA';

Concatenate(Salden)


LOAD 

TEXT as TEXT,
KONTONUMMER as KONTONUMMER,
KONTOTEXT as KONTOTEXT,
LANDISO & FCO & KONTONUMMER & KONTOTEXT & BLTUGP as KONTOSALDO,
IF(GRUPPE1='3',LAND & SPRACHE & GRUPPE5 & GRUPPE6 & BLTUGP) as GUVKONTOGRUPPENKEY,
IF(GRUPPE1<>'3',LANDISO & BLTSPRISO & GRUPPE1 & GRUPPE2 & GRUPPE3 & GRUPPE4 & GRUPPE5 & GRUPPE6 & BLTUGP) as KONTOGRPKEY, LANDISO & BLTSPRISO & GRUPPE1 & GRUPPE2 & GRUPPE3 & GRUPPE4 & GRUPPE5 & GRUPPE6 & BLTUGP as KONTOGRPKEYL; //LAND & SPRACHE & GRUPPE5 & GRUPPE6 & BLTUGP as GUVKONTOGRUPPENKEY; SQL Select LANDISO, b.bltspriso as BLTSPRISO, b.KPFCO AS FCO, a.bltgs1 AS GRUPPE1, regexp_replace(a.bltgs2,'Ÿ','') AS GRUPPE2, regexp_replace(a.bltgs3,'Ÿ','') AS GRUPPE3...

 

Best Regards,
KC
jonathandienst
Partner - Champion III
Partner - Champion III

No, that syntax is not legal. Do this instead:

IF(GRUPPE1='3',
	LAND & SPRACHE & GRUPPE5 & GRUPPE6 & BLTUGP) as GUVKONTOGRUPPENKEY,	
IF(GRUPPE1<>'3',	
	LANDISO & BLTSPRISO & GRUPPE1 & GRUPPE2 & GRUPPE3 & GRUPPE4 & GRUPPE5 & GRUPPE6 & BLTUGP) as KONTOGRPKEY,

 

Logic will get you from a to b. Imagination will take you everywhere. - A Einstein