• The primary factor to this approach was performance in loading data. We did have fk's on everything since my background and schooling was oltp. Loading a fact table with 25 fk's was not working. Also we have been trying to use an agile approach with data warehousing as well as app dev and the thought of having duplicate dim table all over the place was not appealing nor was having to recover a ginormous dw. The modular approach made more sense but of course there was added risk with integrity, but worth it. Development is easier and faster having all the dims in place and being able to just use them as needed. One issue although is the possibility of fact showing up without dim data since loading occurs at different times. This is where the inferred member is used. Basically just create the dim if it's missing then on the next dim load it is updated with all the attributes. Check out project real for some great examples of this.

    Hth Tom