My first Publication Agile-Data-Warehouse-Design-eBook | Page 63

42 Chapter 2 Occasionally you may have an event subject that is consistently missing. For example, a retail sales event might be described as “CUSTOMER buys PRODUCT in STORE”, but the customer name is never recorded. When the event is imple- mented as a physical fact table this virtual detail will be dropped, but during event storytelling it focuses everyone on the atomic-level event. Perhaps the event stories should contain “Anon.” or “J. Doe”. Evolving events will have many missing details. For discrete and recurring events this is a warning that they may be too generic Group stories highlight details that vary in meaning Evolving events by their nature will have a number of validly missing details that are unknown when the event begins; for example, ACTUAL DELIVERY DATE for an order or FINAL PAID AMOUNT for an insurance claim. However, if you find discrete and recurring events with a lot of missing details it is often a clue that you are trying too hard to model a “one size fits all” generic event that is difficult for stakeholders to use and it may be better to model a number of more specific event tables where the details that really define distinct business events are always pre- sent. Group Stories You ask for example events containing groups to expose any variations in the meaning of a detail. For example, a typical order event consists of an individual customer ordering a product. But is this always the case? You should ask the stakeholders: Is a customer always an individual? Can a product be something more complex, like a bundle of products? Mixed business models (B2B, B2C, products and services) are often discovered by group stories The last two example events in Figure 2-6 are group themed. From these you learn that customers can be organizations as well as individuals and orders can be placed for multi-product bundles. The knowledge that there are different types of cus- tomer (B2B: business-to-business and B2C: business to consumer), and prod- uct/service bundles will make you think carefully about how you implement these details as dimensions. Chapter 6 covers mixed customer type dimensions, multi- level dimensions and hierarchy maps, while Chapter 9 covers multi-valued dimen- sions. These design patterns can be used to solve some of the more vexing model- ing issues surfaced by group themed examples. You should ask for just enough event stories so that everyone is clear about the meaning of each event detail. Don’t get carried away trying to record every story— that’s what the data warehouse is for—you want to concentrate on discovering all the event details.