Существует несколько способов обработки отношений между DimCustomer и FactOrders, поэтому это зависит от того, как вы моделируете данные ...
Если FactOrders имеет 3 поля, каждое из которых ссылается на DimCustomer, как показано ниже..
FactOrder
ShipperKey (FK)
ConsigneeKey (FK)
BillToKey (FK)
DimCustomer
CustomerKey (PK)
... тогда вы получите 3 измерения для клиентов в вашей базе данных SSAS.Вы можете реализовать эти измерения через ролевую игру (1 измерение добавлено 3 раза к вашему кубу) или как 3 отдельных измерения.Последний допускает более удобные соглашения об именах.
С другой стороны, если ваша таблица FactOrders имеет только 1 поле, которое ссылается на DimCustomer, как показано ниже ...
FactOrder
CustomerKey (FK)
DimCustomer
CustomerKey (PK)
... затем вам нужно будет различать «Типы клиентов» (Грузоотправитель, Грузополучатель, BillTo), используя один из двух методов ...
Метод 1 : Создайте поле CustomerType в вашемDimCustomer и сделайте его атрибутом в измерении клиента в вашем проекте SSAS ...
FactOrder
CustomerKey (FK)
DimCustomer
CustomerKey (PK)
CustomerType
Метод 2 : создайте новую таблицу измерений (DimCustomerType) и добавьте ее в свой куб...
FactOrder
CustomerKey (FK)
CustomerTypeKey (FK)
DimCustomer
CustomerKey (PK)
DimCustomerType
CustomerTypeKey (PK)