Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
In large Enterprises where the reporting is based on huge and distributed dataset the architecture of the QlikView application is of prime importance to avoid overloading a QlikView document with huge amount of data and to enhance reusability of the data, data model and expression. In QlikView world three-layer architecture is widely used with which the reusability of the model and script is limited. In this article four layer QlikView application architecture is explained which will further optimize the application with increased reusability aspect so that QlikView application development time also can be reduced.
General Application Architecture
In QlikView world the general approach is three-layer architecture which is widely used. In three-layer architecture we have:
So the flow goes like as below:As you can see above that Data Modeling and Visualization is done at the application layer. The above architecture has below two concerns:
The above two concerns can further be addressed using the below four-layer architectureFour Layer Architecture Described:In four-layer architecture just like three-layer architecture we have Extract and Transform Layer but in-between Transform Layer and Application Layer we introduce a Data Model Layer i.e. we are segregating the Data Model from the Application Layer so that this data model can be Binary Loaded in multiple QlikView applications. So the architecture would look something as below:As shown above “Data Model Layer” has been introduced with two components Data Model QVW and the script file.In Data Model QVW we have to implement the model required for the Dashboard’s of related Subject area this Data Model then can be Binary Loaded in the Dashboard QVW. This separation of Data Model from Data Visualization will facilitate three advantages:
In Script file we should implement the expression components and this script file can be included in the Dashboard QVW and the expressions can be used in or as chart expressions. This again facilitates below benefits:
So with this we conclude that four-layered architecture has many advantages in real world scenarios dealing with huge data sets spanning across multiple dashboards.
Tips and Tricks to Optimize Your QlikView Applications
PRODUCT:LOADproductID,productName,soldDatefrom FileName.xslx(biff, embedded labels, table is product$);MAXDATE:LOADMax(soldDate) as MaxSoldDateResident PRODUCT;Drop table PRODUCT;LET vMaxSoldDate=peek (‘MaxSoldDate’,0, ‘MAXDATE’);
Use:SET vSetRolling12 = '{$<MonthID = {">=' & Chr (36) & '(=Max(MonthID) - 11) <=' & Chr (36) & '(=Max(MonthID))"},' & Chr (10) & 'Date =,' & Chr (10) & 'Year =,' & Chr (10) & 'Quarter =,' & Chr (10) & 'Period =,' & Chr (10) & '[Period (#)] =,' & Chr (10) & 'Month = >}';Don’t Use:LET vSetRolling12 = '{$<MonthID = {">=' & Chr (36) & '(=Max(MonthID) - 11) <=' & Chr (36) & '(=Max(MonthID))"},' & Chr (10) & 'Date =,' & Chr (10) & 'Year =,' & Chr (10) & 'Quarter =,' & Chr (10) & 'Period =,' & Chr (10) & '[Period (#)] =,' & Chr (10) & 'Month = >}';
http://myserver//QvAJAXZfc/opendoc.htm?document=DocumentName.qvw&host=Local&select=LB01,Value
Excellent work! Please keep sharing similar posts..
Cheers,
Rahul
Thank you for a great architecture structure.
What are your thoughts in terms of using the 4 layer architecture for Qlik Sense Apps?
Absolutely this architecture can be leveraged in Qlik Sense applications because current versions of QlikView and Qlik Sense use the same engine thus till tier 3 the structure can still be in QlikView just the application layer would be Qlik Sense App instead of QlikView App