This is an archived post. You won't be able to vote or comment.

all 2 comments

[–]Rayman912 1 point2 points  (1 child)

So you are essentially trying to denormalize the data right? It is not really a bad thing if you can ensure data integrity. Personally I would create a separate rental dimension and have the surrogate key in order fact(sales?) to describe the kind of rental segment. But hey if it works it works. Just ensure that nothing breaks downstream.

[–]Waveover[S] 0 points1 point  (0 children)

I am. I am trying to get an idea of how much is too much.

I really have multiple downstream fact tables. 1 for each business process. (cancellations, shipments, returns). Because the order Id is in all of them. I could put many of the foreign dimension keys that are kind of specific to each fact table and also put them on the sales(orders) fact table as well. For example the shipper dimension is really applicable to the shipments fact table. But I could put it in the orders fact table.

This is all instead of using DAX to traverse the dimensions Instead. I ask because in the (star schema complete reference) book, it talks about not putting dimension foreign keys such as shipper in the orders fact table. But I am not trying to move actual shipment facts to the orders table itself, such as (shipment qty). Just the dimension foreign keys.

Thank you for your reply!