Benefits of having a Data Model before the presentation layer?

    Hi Experts,


    I have worked on a qlikview design model where I have three different layers as mentioned before in all the QlikView solutions.

    I have listed out the benefits as I can think. I appreciate if anyone add more to it.


    QVD Layer(Extract Layer):

    1. This layer can be straight data dump from the DW
    2. The QVD Layer (which I tend to call the Extract layer) should be exactly the same as the data source. No transformation. Tracking back sums through each layer is easier.
    3. Matching the Extract with data source and Match the Model with the Extract is easy where a data issue may occur.


    Data Model Layer:

    1. The difference is the Model is ready for a binary load to the UI / Dashboard where as a transform would create a new columns with all the calcs / renames / joins / mapping / etc.
    2. Most of the transformations can be done here reducing the effort on QVW layer
    3. Most of the complex calculations can be done here reducing the effort on the Chart/Tabular engines
    4. One Data Model can be used by multiple Dashboards hence reducing the effort in creating individual Data Models for different dashboards
    5. Benefit of the transform over a model is that multiple dashboards can mix and match and re-use the same QVD's (this is also the same as the extract layer, no point going to the same data source twice)
    6. Easy to maintain the changes. Requires less time in implementing the changes that effect multiple dashboards.
    7. When working in team or group scenarios, this type of division allows different layers of the application to be worked on simultaneously and independently of each other

    Dashboard Layer:

    1. This is final presentation layer
    2. Better to push complex calculations to the Data Model Layer.