Pete Scott’s random notes

Dimensions are not just for data warehouses

Posted by: Peter Scott on: October 3, 2006

Conventional wisdom has OLTP people thinking in the third-normal form with master – detail relationships and the like popping up all over the place, and us DWers (does the expression data warehomemaker exist?) working with long tables of fact linked to many denormalised tables representing the dimensions. These dimension tables represent hierarchical knowledge about an entity for example: Customer -> City -> State -> Country. Typical data warehouse dimensions include customers, products, and dates.

But what if we moved the idea of dimensions to something such as the receiving accounts in an ERP system. We could develop a hierarchy that has levels such

  1. company total
  2. expense category (income or expense)
  3. expense type (shipping, labour costs etc)
  4. account

And then if we have a time dimension that aligned to the fiscal calendar and perhaps mix in customers and possibly product then we have the beginnings of a system to provide some pretty flexible management (and perhaps financial) reporting. And if this runs over some OLAP style aggregates or a OLAP cube the performance should not be too bad at all

3 Responses to "Dimensions are not just for data warehouses"

That’s the idea of UDM(Unified Dimensional Model I supose) in SQL 2005.

Wouldn’t that be just moving the DW functionality into the Operational DB? Potentially everything in the DW could be moved to the Operational DB ? (Strictly questions – I am not a DW expert).

Sorin – indeed yes – but the concept of financal anlyitics has been arround for a long while – Oracle used to market a product called Fiancial Analyzer based on the old Express technology that preceeded the embed OLAP that came out in 9i

Naresh – good question! Using dimesnional methods to report operational infromation does not always imply that the operational system is the DW – sometimes we need to query across multiple sources, and sometimes we need a longer history than can be held within an OLTP sysem – and if we choose to use an OLAP engine within Oracle or MS SQL server we may well be better off puting the olap cube in another database

Leave a Reply