Forum Discussion

pranav46's avatar
pranav46
Contributor II
9 months ago

Cube Design & extensibility

New to onestream and doing some training and have sandbox env to play around with it. I have questions on the cube design and extensibility. 

I am trying to extend account and product dimension to fit to my three cubes even though level of entity will be the same in two diff cubes. How would I go about? 

e.g I want to reallocate my salary based on NetSales.
Can I have two account dimensions? I cant think of how I am going to do allocation. Or I just need one cube & have everything in their but that will decrease performance, I guess.

 

 

  • StuZilla81's avatar
    StuZilla81
    New Contributor II

    We do allocations utilizing the UD3 dimension to store the logic in member formulas using "api.Data.Calculate". We then use the flow dimension to break apart the base (loaded data), Alloc_In (Allocated data), Alloc_Out (Net out the member you are allocating from Base). We do all of this in a single cube.

  • JackLacava's avatar
    JackLacava
    Honored Contributor

    If you have the same entities in both cubes, the two cubes are not linked, so you will have to explicitly move data through the two, either with rules or Data Management jobs (or possibly Hybrid Scenarios).

    You can change your Account and UDs per Scenario Type. So the same cube could have "Account Hierarchy A" for Actual scenarios and "Account Hierarchy B" for Budget scenarios. That's so-called "Horizontal Extensibility": the Entity structure stays the same, but the Account-like dimensions can be different for each use case. This will not significantly impact performance, it's fine to have one cube if your needs are limited; performance issues are, typically, a result of using the same Account/UDs for Scenario Types with significantly different requirements.

    Multiple cubes are typically used when the Entity (or Scenario) structure has to be different. For example, you'd have a couple of base cubes to collect actual data, and a parent cube to consolidate everything at a very high level. That's Vertical Extensibility. Again, Account dimensions can be different per Scenario Type and per Cube.

    Note that you don't have to deal with extensibility just to move data around between accounts, that's all done in rules no matter what. There are api calls to automatically deal with extended dimensions in some cases (ConvertDataBufferExtendedMembers etc).

    • pranav46's avatar
      pranav46
      Contributor II

      Thanks Jack! Seems like you are saying I need to have exclusive cube.

      Our Actual & Forecast accounts are same as well so, can't even use horizon extensibility.

      Can I have Mutiple cubes with two different accounts structure like revenue vs cost and reporting will have all?

       

       

       

      • JackLacava's avatar
        JackLacava
        Honored Contributor

        Of course, you can do pretty much anything you want - you'll just move data with rules. I still think it will be overkill, if the only thing changing is account structure you can just leverage another scenario type - there are 20 of them...