I am trying to understand pure type 6 SCD implementation from WIKI which says mainly three points
- Having a Type 2 surrogate key for each time slice can cause problems if the dimension is subject to change.
- A pure Type 6 implementation does not use this, but uses a Surrogate Key for each master data item (e.g. each unique supplier has a single surrogate key).
- This avoids any changes in the master data having an impact on the existing transaction data.
However I am unable to visualize these problems clearly.
The point of "type 6" or "hybrid" processing is that you track changes by adding a new row for each new version but then you update some of the attributes on previous versions to reflect the current state of data. That way the data can be filtered and rolled-up across all versions for reporting purposes.
There's another explanation here:
http://www.kimballgroup.com/wp-content/uploads/2012/05/DT15CombiningSCD.pdf
Example:
http://www.kimballgroup.com/2013/02/05/design-tip-152-slowly-changing-dimension-types-0-4-5-6-7/