Your question is probably the most debated issue in data modeling - snowflake (your top configuration) vs. star schema (your bottom configuration). Here’s a good summary table of the pros and cons of each:
My personal view is to stick with star schema when at all possible. It makes for a simpler data model, and makes DAX easier to write and debug. But I don’t often work with really large datasets, where the denormalization in a star schema would be a bigger issue.
I hope this is helpful.
- Brian
P.S. Here’s another recent thread on this issue with a link to an excellent Microsoft article on star and snowflake schemas: