The program architecture allows to do the following:
Add different DAO (Data access objects, e.g. excel template reader, CSV reader, database reader) as long as they are generating the same models from the data.
Add different reporters (PDF reporter, CSV reporter etc.).
Add additional measure and data types with ease.
Closing this issue.
If requirement to implement additional functionality arises, please open new issue and link it to the project
e.g. if later we read from a database