Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Qlik Sense documentation and resources.
QVD file with 249 countries based on ISO 3166-1 standard for name and abbreviation can be found in GitHub https://github.com/tonikautto/world-countries-regions-qlik/tree/master/QVD
Fields included in the QVD are...
QVD are based in XLS content, but the original data source is https://www.iso.org/iso-3166-country-codes.html,
QVD generator can be found in GitHub https://github.com/tonikautto/world-countries-regions-qlik
You will need to run a script to loop through all the Governance Dashboard table in order to store them in QVDs.
This loop is available in the "05a*. CONFIG" tab.
The tabs 05a to 05f are to analyse log files and link them back to the tasks. It then will follows the logic and data model which goes from Task > App ( > Script) > QVD.
Set the library connection to "vQMC_QVD_Store" where the Governance Dashboard QVDs are contained.
Set the URL to the QlikSense server you are analysing in "vQlikSenseServer".
In the "Full_Paths_To_Folder" inline table, set the library paths to the folders where you generate and store your QVDs from your scripts.
Please check the script portion just above this table, as you can set times during the day when you run the QVD files analyses. The QVD analysis portion of script can take long depending on the amount of QVDs you have. The rest of the task analysis portion should take less than a minute.
In order to run the script analysis test, set "vRunLogAnalysis" to 'Yes' and set the location of the folder where the log files are contained in "vScriptLogFolder".
If you use standardised sub-routines (Calls) you can set the wildmatch-string search in the "Script_KeyWords_Categorisation_List" table.
The 05g tab will run a dependency table that will link all your tasks and apps depdendency on QVDs as written in your script logs.
Recently I have written a blog on "Analyticshub.io" about how you can generate QVDs from Qlik Sense Application. Sharing it with every one of you, so that maximum people can learn from this. Hope you will find it useful.
At times we come across Qlik Sense applications for which we do not have the underlying data, using which the dashboard has been developed. And we want to extract some or all the data tables from that application to be used for other use cases or dashboards.
In such a case, create a table object for each of the tables and extract the data manually into excel. This approach works well when there are small numbers of tables available in the Qlik Sense data model. But, for a large number of tables, this approach may be tedious and error-prone.
Enter the For..Next loop to generate a QVD file for each table within the data model.
First, create a new Qlik Sense application and write a binary load statement as shown below.
For Qlik Sense Desktop you can try this.
Binary [LIB://App/MyTestDashboard.qvf];
Or for the Qlik Sense server, you can use this.
Binary [LIB://App/55badc55-158a-4f6f-9214-802e7046e5e0];
After this write below script to refer to each table in data model and store it as QVD.
/* First, we will get the numbers of tables available in data model */
Let vNumTables = NoOfTables();
/* NoOfTables() functions will return the total available tables in Qlik Sense Data Model and result will be stored in a variable named vNumTables */
/* Now we need to run the loop for each available table so that we can store it in QVD. We will start the loop from 0 to total numbers of table minus 1 because the first table name has the number 0 and next is 1 and so on. */
FOR i = 0 to NoOfTables() -1
/* Get the name of the table using TableName() Function. */
Let vTable = TableName(i);
/* Store the table into QVD. Make sure you change the library path to the path where you want to store all the QVD files*/
store ‘$(vTable)’ into [Lib://QVDs/$(vTable).qvd];
/* Once you store the table into QVD, you may not need it in this application, so you can use the Drop table statement to drop that table */
Drop table ‘$(vTable)’;
/* Next statement will run the next loop */
NEXT
Would love to hear your feedback and suggestions.
Thank you for reading.
Regards,
Kaushik Solanki