I have orders fact; customer, location and age dimensions. I am using age and location as reference dimensions through customer dimension. If I don't use reference dimension cube processing SQL would be like following
select * from factOrders
If I use reference dimensions SQL would be like following
select * from factOrders, dimCustomer as customer1, dimCustomer as customer2
where factOrders.customerid = customer1.customerid and
factorders.customerid = customer2.customerid
If I have 6 reference dimensions through customer there will be 6 joins. Is there any way I can eliminate these joins as I need only one join to get all the information
I can create a view between factOrders and dimCustomer and use the reference dimensions as regular dimensions which will avoid all the joins but I feel I am not using the intutive features.
Processing time is significantly higher if I use reference dimensions compared to using as a view.

Reference dimensions are creating too many joins
László Nánássy
leclerc9
We had the same problem. We resolved it as below.
Add the customerid as another attribute in the age and location dimensions.
( you may the FK relation netween customer and location/age dimension tables.).
Now instead of using the referrence dimension relationship for age/location, use regular dimension and customerid as granular attribute to connect to fact table. This improved the performance a lot.
Hope this may solve your problem.
Regards,
Butchi Satuluri