I am currently (re)building a finance application in TM1, but have some misgivings on my cube design /architecture. In a nutshell, there are 3 major functions we need to perform with our main GL cube:
-(A)ctuals Reporting – sourced from flatfiles via TI. In addition there are simple Rules to calc FX, Balance Sheet consolidations etc
-(R)egulatory Reporting – generated from a combination of (A)ctuals data and external cubes via Rules (e.g. mapping & domicile % splits)
-(F)orecasting – generated from a combination of user input and external cubes via Rules eg mapping & product allocation % splits). Will also preload from Actuals data on occaision.
Notes:
-all functions involve almost identical dimensionality ( (A) and (F) are the same, and (R) may use 1-2 extra dimensions that split Actuals data into additional groupings)
-(R) and (F) involve complex rule calculations (incl. conditional feeders) and large amounts of data
In terms of architecture, the options I have considered are:
Option 1
Use 1 GL cube for performing both user display and rule calculations
Option 2
Create 3 GL cubes for each function, each with their own user display and rule calculations. Dimensionality will be identical in each, and functions that are the same (e.g. FX calc) will be repeated in each cube.
Option 3
Retain the main GL cube, and create 2 temporary working cubes that take care of the rule calcs for (R) and (F). Feed the frozen data back into the main GL cube via TI for user display. + For forecasting, the users may use the temp working cube for input until the forecast is finalized.
…my original prototype was built using Option 1, but am now reconsidering after hitting some performance issues

Option 4
???
What I am interested to know is what experience you have had with the above options, what you have found to be the advantages/disadvantages, and any other advice you can think of...

Thanks!
Matt