Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us in Bucharest on Sept 18th for Qlik's AI Reality Tour! Register Now
cancel
Showing results for 
Search instead for 
Did you mean: 
berstrom
Contributor II
Contributor II

Assign table names in a for loop

Hey! Is there a possibility to assign table names in a for loop that looks like follows:

for each vSheet in 'A', 'B', 'C'

[Table Name]:

load F1, F2, F3

from [data.xlsx]
(ooxml, embedded labels, table is $(vSheet));

next;

wheras the table names should be different for each of the 3 uploads?

Best regards

 

Labels (2)
11 Replies
acsaggar
Contributor II
Contributor II

simply use the for loop variable?

e.g.

 

$(vSheet):

load F1,F2,F3

from [data.xlsx]
(ooxml, embedded labels, table is $(vSheet));

next;

 

acsaggar
Contributor II
Contributor II

also make sure you use noconcatenate if you want distinct tables

berstrom
Contributor II
Contributor II
Author

Thanks for the answer, but is there also a way in using a table name other than the loop variable?

 

jfkinspari
Partner - Specialist
Partner - Specialist

Sure, you could calculate the label in a variable, and use that.

e.g. LET TableLabel = IF($(vSheet) = 'A', 'New Label', 'Label for B and C')

$(TableLabel):
Load...

 

berstrom
Contributor II
Contributor II
Author

Thanks for the answer, but now I get for all tables the new name that I assigned to A even for B and C. The table names look like that:

'NewLabel', 'NewLabel-1', 'NewLabel-2'

Any idea why I the IF statement doesn't work as required?

jfkinspari
Partner - Specialist
Partner - Specialist

How does your if() look?

berstrom
Contributor II
Contributor II
Author

Basically as yours I think:

if($(vSheet) = 'A', 'NewA', 'NewBC')

 

jfkinspari
Partner - Specialist
Partner - Specialist

The variable vSheet does might not need the $() expansion.

if(vSheet = 'A', 'NewA', 'NewBC')

berstrom
Contributor II
Contributor II
Author

This results in the same problem as before with the difference that its now happening with 'NewBC'