Thursday, December 20, 2007

Data Modeling Strategies to Avoid Data Inaccuracy and Ensure Consistency

Overcome the challenge of retaining the original master data attribute validity from when transactions occurred.

Key Concept

Developers only tend to use time-dependent master data attributes when a source system provides them as time dependent. However, SAP NetWeaver BI can also record time-independent master data from a source system as time dependent. This can greatly improve the accuracy and robustness of data models.

SAP NetWeaver BI allows developers to produce complex data models with minimal development effort. Nevertheless, data degradation can occur with many of these data models. In particular, degradation can take the form of data inconsistency (when a key figure is recorded against two different characteristic values) and data inaccuracy (when a key figure is recorded against the wrong characteristic value).

I explained in part 1 of this series how to overcome data inconsistency by introducing an intermediate DataStore object into a delta data flow before an InfoCube. However, some business situations demand pinpoint accuracy. In this part of my series, I examine how to improve data accuracy. This article applies to all versions of SAP NetWeaver BI and data from SAP or non-SAP systems.

One challenge with the method I described in part 1 of my series is that data retrieved via a lookup (this could be from any source but my example was for master data attributes) is valid only at the time the data is loaded. However, this does not necessarily correspond to the desired data, because you may need data valid at a different date than when the load occurred. Figure 1 shows the overall data flow of this method. The adjustment I’ll explain does not change the overall flow. Rather, I am fine-tuning this flow to improve accuracy.

In this article, I demonstrate how using time-dependent master data attributes, even when the provided data is not time dependent, can not only improve data accuracy but also ensure that you can reprocess and reload the information without causing data degradation. I will also show where inaccuracies can still creep in using this approach and how to mitigate them.

No comments:

Blog Archive