Hello,
I'm in the process of modeling a fact table that tracks the history of a certain product (arguably not really a fact table but that's another question altogether...). My problem is that there is a need to show an 'old value' and a 'new value' for changes in this product's attributes. I'm wondering how I can represent this. I've been thinking of varchar fields for old and new value but this may actually need to be dimensions, but depending on the type of history, it may relate to a different dimension.
So I'm wondering if I'm not better off having for example an OLD_PRODUCT_ID and NEW_PRODUCT_ID and other attributes OLD_GROUP_ID and NEW_GROUP_ID etc... for all the possible scenarios and fill the appropriate fields based on the type of evolution recorded. The varchar fields are a good idea but not practical for translation or dimension changes... Otherwise if I have only 2 attributes 'old' and 'new' I'm not sure it'll be very clear for users designing reports...
Any opinion on how to handle this type of situation is welcome
Regards,
Greg
I'm in the process of modeling a fact table that tracks the history of a certain product (arguably not really a fact table but that's another question altogether...). My problem is that there is a need to show an 'old value' and a 'new value' for changes in this product's attributes. I'm wondering how I can represent this. I've been thinking of varchar fields for old and new value but this may actually need to be dimensions, but depending on the type of history, it may relate to a different dimension.
So I'm wondering if I'm not better off having for example an OLD_PRODUCT_ID and NEW_PRODUCT_ID and other attributes OLD_GROUP_ID and NEW_GROUP_ID etc... for all the possible scenarios and fill the appropriate fields based on the type of evolution recorded. The varchar fields are a good idea but not practical for translation or dimension changes... Otherwise if I have only 2 attributes 'old' and 'new' I'm not sure it'll be very clear for users designing reports...
Any opinion on how to handle this type of situation is welcome
Regards,
Greg