From an architectural perspective and best practices, BSO cubes are usually used for modeling input data using complex calculations and business logic for producing output data. From there, the data is moved to the ASO cube and aggregated for the most efficient reporting and usability possible. ASO cubes are aggregated in a bottom up manner with much more efficient aggregation times and thus are better suited to hold much larger amounts of data. Although possible, it is not recommended to model with your ASO cube as that will significantly deteriorate the performance of your cube.
After the outputs of the BSO cube have been calculated, we usually move that data to our reporting cube and run our reporting from there. What happens if we are loading our actual data to the ASO cube and want to move that data directly to the BSO cube for modeling?
There are several ways that we can do that of which we can explore a new cloud PBCS feature that was announced in the March update. I will start with that.
Export All Zero Level Data from ASO Cube and Load into BSO Cube
The first step to acquiring the data file needed is to open the calculation manager from the navigator by clicking on “Rules”.
From here navigate to your planning database and then select database properties and expand your ASO cube.
You will notice the new export and import zero level data in the options as shown below.
It is very simple as it will ask you for the file name and export it to your Inbox/Outbox directory as shown below.
To access the Inbox/ Outbox go to the navigator and then click on Overview, Actions, Inbox/Outbox Explorer.
From here you can download that data and load through a data import option or use Data Management to complete that task.
Calculation Manager BSO @XREF Function
We can always leverage calculation manager from the BSO’s side to pull in data from the ASO cube. The @XREF function can be used for that task.
@XREF (locationAlias [, mbrList])
After putting in the corresponding Fix statement you can pull in all January data using the following:
Jan = @XREF(sourceDB,January);
For more information about the @XREF function please refer to the following link:
Data Sync Using Data Management
For the fastest option to move data from one cube to another, data sync in data management is your best bet. Not only can you filter exactly what you want to move from one cube to another, but you can also map that data if there are differences in the naming of your members on both sides or if there is simply a one-to-many or many-to-one relationship that exists in your data movements. For more information regarding data sync please refer to the following blog written by Jean Luc Mosley.
Blog post by Yousef Saead of Key Performance Ideas.