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

Announcements
Join us to spark ideas for how to put the latest capabilities into action. Register here!
cancel
Showing results for 
Search instead for 
Did you mean: 
ElleBee
Contributor
Contributor

Generating QVDs from multiple files

Hi all. New to Qlik and hoping for some help.

I'm trying to create a script that will pull in all of the available xlsx files in the datafiles and generate a QVD. I want to then be able to switch out new files and run it again, changing the QVD name to create multiple QVDs.

I have the following so far: 


sub GetAllExcelSheets (DataFiles)

for each Ext in 'xlsx'

for each File in filelist ('lib://QVD Generators:DataFiles'&'/Apps*.' &Ext)

QVD_Table:
Noconcatenate
LOAD
[Field 1],
[Field 2],
[Field 3]

FROM ['lib://DataFiles'](ooxml, embedded labels);

next File

next Ext

end sub

call GetAllExcelSheets ('lib://(DataFiles)')

store QVD_Table into [lib://DataFiles/Apps_Q1_19-20.qvd] (qvd);

 

I get the following error message when I run the script:

The following error occurred:
Table 'QVD_Table' not found
 
The error occurred here:
store QVD_Table into [lib://DataFiles/Apps_Q1_19-20.qvd] (qvd)
 
Not sure where I'm going wrong. Any help would be appreciated 
Labels (2)
2 Solutions

Accepted Solutions
marcus_sommer

From isn't correct and should more look like:

FROM [$(File)] (ooxml, embedded labels);

Also the path within the filelist() didn't look right and may rather something like this:

filelist ('lib://QVD Generators/$(DataFiles)/Apps*.$(Ext)')

TRACE $(YourVar); is often quite helpful to see what the variables really contain and if it's in your case a valid path.

- Marcus

View solution in original post

marcus_sommer

There are now two libraries specified - therefore try it with:

filelist ('$(DataFiles)/Apps*.$(Ext)')
or
filelist ('DataFiles/Apps*.$(Ext)')

- Marcus

View solution in original post

3 Replies
marcus_sommer

From isn't correct and should more look like:

FROM [$(File)] (ooxml, embedded labels);

Also the path within the filelist() didn't look right and may rather something like this:

filelist ('lib://QVD Generators/$(DataFiles)/Apps*.$(Ext)')

TRACE $(YourVar); is often quite helpful to see what the variables really contain and if it's in your case a valid path.

- Marcus

ElleBee
Contributor
Contributor
Author

Hi Marcus,

Corrected from statement now - thank you. 

I've changed the filelist path to ('lib://QVD Generators/$(DataFiles)/Apps*.$(Ext)') but now I get the below error. 

The following error occurred:
Connection not found: QVD Generators (: POST /endpoints failed with status code 404. Error: Connection 'QVD Generators' not found)

The error occurred here:
for each File in filelist ('lib://QVD Generators/lib://(DataFiles)/Apps*.xlsx')
 
I just want it to look at the files that are in the space which is named "QVD Generators"

ElleBee_2-1613740678252.png

 


 

 

marcus_sommer

There are now two libraries specified - therefore try it with:

filelist ('$(DataFiles)/Apps*.$(Ext)')
or
filelist ('DataFiles/Apps*.$(Ext)')

- Marcus