Analysis dimensions are cheap to create and expensive to maintain. Most systems will happily let you define ten of them per function. The discipline is deciding which ones earn their place.
A dimension is a question you will ask repeatedly
The test is simple: will someone ask for this cut every month, in a meeting, and act on the answer? Cost centre passes. Project usually passes. “Campaign sub-type” almost never does — it gets created for one initiative and then quietly rots.
Every dimension you add is a field someone has to populate correctly on every relevant posting, forever. The cost is not the setup. It is the ongoing accuracy.
Design for the report you need, not the data you have
Start from the management pack. List the reports the board actually reads, and work backwards to the minimum set of dimensions that produce them. If a dimension does not appear in any report, it is speculative.
Keep values shallow and stable
- Shallow. A dimension with forty values that nobody can remember is a dimension that will be miscoded. Aim for a list a person can hold in their head.
- Stable. Renaming or merging values later makes historical comparison painful. Choose names that survive a reorganisation.
- Mutually exclusive. If two values overlap, coders will guess, and the guesses will not be consistent.
Make the right value the easy value
Defaults do more for data quality than training does. If a department almost always codes to the same cost centre, default it. People correct defaults; they rarely fill blanks thoughtfully.
Review annually, retire honestly
Once a year, list every dimension and every report that uses it. Anything with no consumer should be retired rather than carried forward out of politeness. A smaller set of trustworthy dimensions beats a larger set that people quietly work around in spreadsheets.




