Discussion about this post

User's avatar
Kent Maxwell's avatar

Slowly changing dimensions address attribute history, not transactional events. Model transactions in a fact table; when designed correctly, the Salesforce scenario you described would work with daily snapshots because the fact table would capture all transactions for the day. The model might lack perfect point-in-time attribution for each transaction, but when attribution is that critical and can change per transaction, it belongs in the fact itself rather than in a dimension.

I am not advocating snapshots as a universal solution. Snapshots perform poorly when analysts need to understand how attribution evolves over time, because those queries are inherently expensive. However, many organizations only care about end-of-day attribution. In that case, a daily snapshot meets the requirement precisely and avoids SCD logic altogether. As you noted, SCD implementations are difficult to get right, particularly when upstream systems deliver late-arriving data.

1 more comment...

No posts

Ready for more?