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

Modeling Business Dimensions 85 CV attributes enable the data warehouse to produce the same results as existing operational reports — often an initial acceptance criteria for stakeholders. Unfortunately problems arise when current values are the only descriptions avail- able for DW/BI systems, which by definition, must support accurate historical comparisons. CV attributes may be capable of answering questions such as: “Where are the customers, now, who bought … in the last three years?” or “What are the top selling products this year vs. last year?” But they cannot answer: “Where were those customers and what were they like when they bought our products?” or “Exactly what were products like (how were they described and categorized) at the time they were purchased?” These questions cannot be answered because dimen- sional history is lost when CV attributes are updated (overwritten). With current values Another limitation of current value only solutions is that they cannot reproduce previous historical analyses. The same report with exactly the same filters will often yield different results when run later — even though every detailed event remains unaltered — because the reference data used to group, sort and filter the events has changed when it should not have. This is a common bane of reporting from opera- tional sources that stakeholders do not want repeated in the data warehouse. Current value only It’s not all bad news for CV attributes. Even though they are historically incom- plete/incorrect, they can be useful for certain types of historical comparisons that recast history: deliberately pretend everything was described as it is now. For example, a sales manager who wants to compare channel sales for this year versus last year, may need to pretend that today’s channel structures also existed last year, in order to make the comparison. This is exactly what CV channel description attributes will do. Current value only, dimensional history is lost and many potentially important BI questions cannot be answered correctly designs make it impossible to reproduce reports when dimensions change attributes can usefully recast history Corrections and Fixed Value Attributes Current values are also entirely appropriate when mistakes are corrected and previous erroneous values should never be used again. For example, when a cus- tomer or employee’s date of birth changes in an operational database, we know it hasn’t really changed (from one corrected date to another), it must be a correction. We assume that the most recent (current) value is correct as someone has gone to the trouble of making the update. Date of Birth is an example of a fixed value (FV) attribute that cannot change but can be corrected (fixed when it’s not right). FV attributes have a strict 1:M relationship over time with the dimension. All other attributes have potentially a M:M relationship over time with the dimension, which is ignored (treated as M:1) in the case of CV attributes. Current values are historically correct for fixed value (FV) attributes that do not change over time but can be corrected