• I know, I know. The source data shouldn't have deleted records. They should be marked inactive.

    It's possible to see this as being valid. I deal with deleted order details because they have in fact been deleted from the order for one reason or another. These populate a fact table, however. I can't think of a process that deletes dimension data. Assuming the tables are keyed, it would mean that they are not referenced by a related table.

    If the row is referenced by a fact record, my initial thought is to have a deleted flag. It might even be exposed as an attribute. If the row is not referenced, I would consider deleting it. There are reasons to keep it, but for most companies, knowing the list of items never used is not a useful piece of information.