Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Relation entre deux dimensions dans SSAS

Cela ne répondra peut-être pas directement à votre question, mais si vous avez plusieurs dimensions étroitement liées et souvent utilisées ensemble, vous pouvez les regrouper dans un "mini-dimension " qui a toutes les combinaisons possibles de territoire, de distributeur et de détaillant (voir ma réponse à une autre question ):

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 */
)

Cela peut sembler gênant au départ, mais il est en fait assez facile à remplir et à gérer et cela évite la complexité des relations entre les dimensions, qui devient souvent désordonnée (comme vous l'avez découvert). Évidemment, vous vous retrouvez avec une très grande dimension au lieu de trois plus petites, mais comme je l'ai mentionné dans l'autre réponse, nous avons plusieurs centaines de milliers de lignes dans une dimension et cela n'a jamais été un problème pour nous.