Dear Venkat,
Here is my proposal.
1) First you have to decide what should be the base for your data. What I meant was, as you have to get the material cost for each month even if you do not have the purchase for a particular month, in that case your flat file source should be your base data
2) DSO1- You may have to store the monthly base price from your purchase cube to a DSO period wise
3) DSO2 - Create a DSO which has material , plant and period as a key . You can keep Base Price & % change in the data field along with a flagging indicator . Create a transformation to the flat file but do not map base price.
4) Create a transformation between DSO2 to DS01 with DSO2 as the target DSO. Map the key fields and Base price and flag the flagging indicator as 'X'.
5) Now Load DSO2 data to a cube ( cube has to have all fields available in DSO2). Now while loading wherever Base Price is blank do a look up on DSO1 to fetch the base price
6) In the query you can do a calculation to get the material price
Key Fig 1 = Base Price + Indicator 'X'
Key Fig 2 = Base Price * % Change + Indicator '#'
Material price = Key fig 1 + Key fig 2
let me know your feedback
Regards
Gajesh