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

Modeling Business Dimensions Make sure you never ask: “Do you want current values or historic values?” The answer, which is invariably “current values”, tells you nothing you shouldn’t already know. Of course stakeholders want current values — that’s a given: they are incredibly interested in current business events and want those events to be de- scribed properly using current values just as they are in the operational systems. You want to discover if attribute history is equally important. It is also highly misleading to present historic values and current values as an either/or choice: HV attributes must include current values because current values are the historically correct descriptions for the most recent events. 87 Ask about historic values: you know current values are important already Figure 3-15 Modeling dimensional history using a change story If the answer to your “Do you need historic values?” question is NO, double-check with the stakeholders that they will only ever care about current values and are fully aware of the BI limitations they are settling for. The problems of misstated history and unrepeatable reports caused by CV only attributes are best explained using examples (see Documenting CV Change Stories shortly), to any stakeholder making this decision for the first time. Double-check that For many attributes it is a good idea to treat the stakeholders’ CV answers as reporting directives rather than storage directives. They, quite rightly, are telling you how they want their (initial) BI reports to behave: often exactly like existing opera- tional reports they know (and love), but not how to store information in the data warehouse — that’s not their role. For all but the largest dimensions and most volatile attributes it is possible to efficiently store (compliance ready) HV attributes but provide CV versions by default for reporting purposes. You may need to history really is unnecessary before defining a CV attribute provide CV reporting behavior initially but store HV attributes to provide flexibility in the future