When creating DataReader protocols it is recommended that you create different protocols for loading master files and transactional data. This is a rather natural organization since master files usually contain information that feeds into entities and relationships (for example the customers master file contains customer names, city, state, sales representative, area manager..) and the transactions data usually contains information that feeds into InfoCubes (for example, sales amount, quantity, price, discount etc..).
The master files (feeding entities and relationships) should be imported before importing the transaction files. It is necessary to firstly populate entities and hierarchies followed by the InfoCubes so that aggregated versions (if present) can be correctly populated. For example, consider a Sales amount InfoCube which has two versions, one organized by Customer-Product-Month (the primary version) and a secondary version by City-Product-Month. The transactions file contains the following fields: date, customer code, product code, sales amount. When reading this file, the secondary version can only be fed if the CustomeràCity relationship is already populated, it is therefore necessary to read the Customer master file containing the Customer to City relationship first.
Only importing relevant entity members is preferable. Let’s consider for example, a Board database where you need to load three years of historical data. Only customers and products with transactions in that range are needed, old customers and products that are still in the master files but for which there are no transactions do not need to be included.
To import only the relevant data,