Skip to main content

Relational Planning

Relational planning encompasses things that are planned at an "item" level where is not practical to have the planning items built into a dimension, for various reasons:

  • There are a lot of items to plan for; usually if it's > 10,000 we should consider using relational planning instead of adding a large dimension as large dimensions perform poorly
  • The items we plan for are dynamic, either not known beforehand and/or the list of items changes frequently and reprocessing the model every time the list of items changes would be inefficient. Examples:
  • HR planning -- plan salaries and costs at employee or role level
  • Fixed Asset planning -- plan build, amortization and depreciation at the asset level
  • Customer/Vendor planning -- plan a set of revenue/expense lines at the customer/vendor level
  • Project/contract planning -- plan revenue/expenses at the project/contract level

Ideally we want to store the detailed data that users interact with (items) in a relational table, perform any item level calculations, then aggregate the data and “push” the aggregated numbers into a multidimensional financial model.