Generally speaking datasources are normalised or de-normalised, as best practice most ETL should be happening in the DW. This however is not always possible for whatever reason, Qlikview is capable of doing data transformation but as mentioned before business logic being held in a reporting application is bad for future proofing.
If you need to create ETL and have the capability of doing so within the DW layerl; creating a reporting repositary is optimal with Qlikview running queries effectively pulling dimensional and relational data together with the key statistics in a simple way i.e select * from reportingtable
QlikView gives you the functionality of creating datamodels and visualizations. Using one application QlikView desktop you can do both.
In an ideal situation all the data complexity should be handled in a datawarehouse. Data warehouse as you know is build from different source systems. But usually that is not the case. Even with a data warehouse in place, you need to do lot of data transformation becuase your data warehouse cannot take care of all the situations. Also buidling data warehouses take time and if you miss few things or want to add some new fields or transformations you need not go to the dataware house to do that. You can do any of such things in QlikView. Thats why development in QlikView is faster. Depending on how complex is your data.You will need a developer who can create data models in QlikView. This developer you can call ETL resource also.