Should I use separate address dimensions?
You should add the address to the user/store dimension as the address is a property of the dimension member, not the fact record.

Adding the address to the dimension allows you to define attribute relationships between country -&gt; city -&gt; user which should improve performance when you create hierarchies using those attributes.

It will usually also allow for easier calculated measures.

As a last point, having the address as attributes on the dimension will allow for easier handling of slowly changing dimensions if a user/store moves to a new address.