If you had loaded data from the web into QlikView then you probably know well how “for … next” loops work.
When working with Web Files frequently you need to loop through your code to load more than one URL in a single load. For example let's say I want to analyze an online publication, similar to this blog, where different authors contribute with articles. The URL is composed by a constant piece and a variable ‘http://<publicationurl>?start=1’, ‘http://<publicationurl>?start=15’ I want my script to dynamically load all the possible Urls from start=1 to start=375
In QlikView my code will look like this:
fori=1 to 375
LOAD
pageUrl,
title,
author,
Postdate,
Numberofviews,
Numberofcomments
FROM
[http://publicationurl.com?start=$(i)]
(html, codepageis 1252, embeddedlabels, tableis @1);
next;
The script execution will loop 375 times letting me capture all the post written in this particular publication. To do so I’m using a simple variable expansion in the FROM statement.
If you want to perform a similar operation in Qlik Sense you might find some difficulties due variables not expanding when dealing with Web Files in Qlik Sense. But there’s a workaround, it’s called Legacy Mode.
What's Legacy Mode?
Legacy mode is a way to force Qlik Sense to reuse old load scripts that refer to absolute or relative file paths as well as library connections, and it's just what we need in order to successfully run our example script.
In Qlik Sense Desktop, you can set standard/legacy mode in Settings.ini.
Do the following:
Open C:\Users\{user}\My Documents\Qlik\Sense\Settings.ini in a text editor.
Change StandardReload=1 to StandardReload=0.
Save the file and start Qlik Sense Desktop, which will run in legacy mode.
The available settings for StandardReload are: 1 (standard mode) 0 (legacy mode)
For instructions on how to activate the Legacy Mode in Qlik Sense server check Qlik help:
http://help.qlik.com/sense/2.0/en-US/online/#../Subsystems/Hub/Content/LoadData/disable-standard-mod...
Please note that enabling Legacy Mode in Sense Server might have security implications in Sense Server meaning that you won't be able to manage the paths/connection strings in QMC anymore.