This modelling strategy has a number of advantages
The key can be generated from the facts objects or the dimension objects so for Type 1 relationships the Dimension and Fact processes can be completely disconnected this has the advantage of vastly increased performance.
For Type 2 relationships only the generation is required to be sourced from the dimensional object – not the key itself.
Minimum referential integrity is 100%
Late arriving reference data does not leave the fact instance as an orphan (that is forever a -1 key as in surrogate key models)
Relationships between dimensional and fact objects are simple and together with a standard naming convention eliminate the need for the user to have in depth knowledge of the model.
For instance the key named ACCOUNT_NO_KEY on the INVOICES fact or indeed any other fact object always relates to the DIMENSION_KEY element of the ACCOUNT_NO dimensional object.
Relationships between dimensional objects and fact objects do not involve date ranges which perform poorly.
Change history is maintained for all dimensional objects
Exception reporting based on dummy instances in Dimensional objects has more value as the elements of the key are populated.