Това може да не отговори директно на въпроса ви, но ако имате няколко измерения, които са тясно свързани и често използвани заедно, можете да ги консолидирате в "мини-измерение “, който има всяка възможна комбинация от територия, дистрибутор и търговец на дребно (вижте отговора ми на друг въпрос ):
create table dbo.DIM_TerritorySalesChannels (
TerritorySalesChannelID int not null primary key,
TerritoryName nvarchar(100) not null,
RetailerName nvarchar(100) not null,
DistributorName nvarchar(100) not null,
/* other attributes */
)
Първоначално това може да изглежда неудобно, но всъщност е доста лесно за попълване и управляване и избягва сложността на връзките между измеренията, които често стават объркващи (както открихте). Очевидно в крайна сметка получавате едно много голямо измерение вместо три по-малки, но както споменах в другия отговор, имаме няколкостотин хиляди реда в едно измерение и това никога не е било проблем за нас.