• While I totally agree that this is a well documented and well researched article and many of the previous comments are valid, but when dealing with transaction tables there should also be a balance between achieving the business requirement while also implementing a sensible solution.

    A transactional fact table in nature will offer you the ability to report AS IS and AS WAS from a financial perspective. It then only comes down to the transaction attributes that the business want to be Type-2 in nature. From a regulatory reporting and audit perspective tracking changes to these attributes and the related contra corrections in the Fact table makes sense, but surely it is more sensible to try and address this at source? i.e. If a any of the transactional attributes change in source they should not be overtyped or script updates applied but there should be a contra correction in source? This way the source will still reconcile with the ledger and the Data Warehouse will also reconcile? Other than the possibility of data explosion depending on the number of Type-2 attributes I also think it is quite dangerous to allow a Warehouse to be essentially masking business process issues.

    Can you let me know if you know of any other legitimate reasons for implementing this solution or of any other potential pitfalls you may have seen when implementing it in the past please? Thanks.