For Qlik Sense click here.
EasyMorph allows replacing load scripts in QlikView applications with visually designed data transformations. This is especially helpful for users without a technical background, who frequently find scripting too difficult. Integration with EasyMorph takes only two lines of script per app, and provides multiple benefits:
Some of the biggest EasyMorph customers use EasyMorph with QlikView or Qlik Sense.
Note that EasyMorph is not as memory efficient as the QlikView's in-memory engine. Large applications (100+ GB of uncompressed data) might require arranging data partitioning in EasyMorph with incremental loading in QlikView. In all other cases EasyMorph should work out of the box with minimal setup (described below).
The integration works as follows:
See example: Integration with QlikView. Important! The example requires a demo license key which you can download here: Demo license key. No registration required.
From a practical perspective it's convenient to give the project a name similar to the app's name, and put it into the same folder. E.g. for MyApp.qvw it should be MyApp.morph located in the same folder.
The load script of the QlikView app consists of just two lines:
$(Must_include=C:\Some\Path\easymorph.qs); CALL ImportModel('fact_table.qvd|dim1.qvd|dim2.qvd|...');
Here, easymorph.qs is a universal script for running EasyMorph projects. It can be re-used in multiple QlikView applications. For instance, it can be as follows:
SUB ImportModel(vFiles) // The path to morph.exe. SET pathEasyMorph = C:\Users\someuser\AppData\Local\EasyMorph\morph.exe; // Assume the EasyMorph project has the same name as the app, // and is located in the same folder. LET pathProject = Replace( DocumentPath(), '.qvw', '.morph'); // The single quote character. LET quote = chr(39); // Create a comma-separated file list from the pipe-separated list. // A.qvd|B.qvd --> 'A.qvd','B.qvd' LET list = quote & replace(vFiles, '|', quote & ',' & quote) & quote; // Run the EasyMorph project that generates QVD files for the data model. EXECUTE "$(pathEasyMorph)" /c "$(pathProject)"; FOR EACH file in $(list) // Read a QVD generated by the EasyMorph project. LOAD * FROM [$(file)] (qvd); NEXT file END SUB