To nemusí přímo odpovědět na vaši otázku, ale pokud máte několik dimenzí, které spolu úzce souvisejí a často se používají, můžete je sloučit do „minidimenze ", který má všechny možné kombinace území, distributora a prodejce (viz moje odpověď na další otázka ):
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 */
)
Zpočátku se to může zdát trapné, ale ve skutečnosti je to docela snadné naplnit a spravovat a vyhýbá se složitosti vztahů mezi dimenzemi, které se často zamotávají (jak jste zjistili). Je zřejmé, že skončíte s jednou velmi velkou dimenzí místo tří menších, ale jak jsem zmínil v druhé odpovědi, v jedné dimenzi máme několik set tisíc řádků a nikdy to pro nás nebyl problém.