Most of the times, I prefer storing the data into QVD's as a first step. Basically this enables me;
1. Join data from various resources in a single file,
2. Add new calculated fields at once and store them in the QVD so that they will be available for use at any time,
3. Simplify the load script of the end-user QVW and thus substantially reduce the reload time of the end-user
Hope this helps.