Read the bus matrix
Use bus-matrix reasoning to tell a conformed dimension from a process-specific one.
Concept
conformed-dimensions
The primary modeling idea this problem reinforces.
Requirements
1
Business needs the model must satisfy.
A retailer models two processes: ordering and shipping. Ordering needs order date, customer, and order status. Shipping needs ship date, customer, and carrier. Leadership wants order-to-ship timing and per-customer analysis across both.
The enterprise bus matrix lists business processes as rows and dimensions as columns. A dimension shared by multiple rows is conformed; modeling it once is what makes cross-process questions answerable.
- Pick the dimension that both processes share and that enables cross-process analysis.
- The answer chooses the dimension common to both ordering and shipping.
- The explanation connects sharing the dimension to cross-process timing questions.
- A conformed dimension appears in more than one process row of the bus matrix.
- Carrier only shows up in shipping; order status only in ordering.
- Calling a process-specific dimension (carrier, order status) conformed.
- Assuming every dimension must be shared by every process.
- Treating date and customer as different per process and losing comparability.
Kimball conformed dimension (customer and date)
Customer and date are shared by both ordering and shipping, so model them once as conformed dimensions. Carrier and order status are process-specific. This is the Kimball enterprise bus matrix.
Optimizes for
- • Cross-process analysis
- • Consistent customer and date semantics
- • Reusable dimensions
Trade-offs
- • Requires conformance discipline across teams
- • Process-specific attributes still live on their own dimensions
Try the question first.
The discussion has other people's approaches and solutions. Give it a real attempt before you read them.