My first Publication Agile-Data-Warehouse-Design-eBook | Page 114
Modeling Business Dimensions
93
Minor Events within Major Events
If no explicit business process captures customer relocation, how does Pomegran-
ate know that it occurs? It must be recorded as a byproduct of some other signifi-
cant business event(s). Customers typically inform you about new addresses when
they order products. If customers move infrequently, these changes can be cap-
tured by an HV dimension. If moves are frequent — for example, some (perhaps
undesirable) consumers provide a new address every time they apply for credit—
then the new address is a detail of the credit application event and “moving” is also
part of that event — a minor event within a major event. For Orders, a new or
different customer address may, in fact, be a third party delivery address for gift
purchases: a separate where detail of the event and therefore a separate who/where
dimension rather than an attribute of the customer who dimension.
If minor events
occur frequently
they can be
modeled as
additional details of
other, more
interesting, major
events
If you discover a minor event with a small number of details (typically three Ws,
including when), ask how and when these details are captured. You may be able
to model their capture within a far more interesting major event.
Figure 3-19 shows a very different version of the CUSTOMER MOVES event
compared to the minor version of Figure 3-18. By reading the event stories in both
tables you can see that these are actually the same events happening to the same
people — but in Figure 3-19 they have been modeled in far greater detail for the data
warehouse of a relocation company. This CUSTOMER MOVES is clearly a major
event — for that company.
One organization’s
minor event may be
another
organization’s major
event
Figure 3-19
Major CUSTOMER
MOVES event
Sufficient Attributes?
How do you know when you have sufficient attributes for a dimension or levels in
a hierarchy? There is no magic test; stakeholders will simply run out of ideas. If you
feel you have not discovered every possible attribute: don’t worry, be agile, press
on. As long as you have the major hierarchies and HV attributes, and a clear
definition of granularity for each dimension, additional attributes can be added
with relative ease in future iterations. That said, the great benefit of modelstorming
with stakeholders is the ability to define common (conformed, see next chapter)
dimensional attributes early on, so don’t miss your opportunity while you have
their initial attention.