SSAS взаимоотношения Бавно променящо се измерение

Имам тази структура в моето хранилище за данни

DimCustomer
   -id  (pk)
   -Name
   -Country
   -datestart
   -dateend

FactBalance
   -idCustomer (pk) (fk [DimCustomer.id])
   -idTime (pk) (fk [DimDate.DateSK])
   -Balance

Измерението на клиента има множество редове за промяна на страната, а FactBalance има множество редове за всеки ден за определен период от време.

Ето някои примерни данни:

DimCustomer

1  JoeBloggs England  2012-01-01   2012-01-04
2  JoeBloggs France   2012-01-05   NULL

FactBalance

1  20120101 12334.0
1  20120102 12334.0
1  20120103 12334.0
1  20120104 12334.0
2  20120105 12334.0
2  20120106 12334.0

Проблемът, който имам, е, че когато преглеждам своя куб в браузъра и използвам DimCustomer.Country и FactBalance.Balance (който има агрегиране, зададено на LastNonNull), той показва два резултата

 England  12334.0
 France   12334.0

Очевидно се получава последното ненулево за всеки от тези клиентски записи в SCD, но как да настроя измерението, така че да показва само последното за целия клиент?


person Christopher Townsend    schedule 01.05.2013    source източник
comment
Има ли връзка с външен ключ? Ако е така, какво поле препраща към какво?   -  person Dan Bracuk    schedule 01.05.2013
comment
Извинения, да, има. Добавих ги. Разбрах, че полето idCustomer е малко объркващо, затова го промених на Име   -  person Christopher Townsend    schedule 01.05.2013


Отговори (1)


Бих добавил бизнес ключа (мисля, че във вашия пример е име) към факта (бих го добавил като колона в таблицата с факти или можете да преминете през SQL изглед).

Тогава бих създал алтернативна версия на измерението на клиента, която показва само текущите записи и използва бизнес ключа като ключ.

Накрая бих добавил новото измерение към куба и бих го свързал с факта, използвайки бизнес ключа.

person Mike Honey    schedule 02.05.2013