Работая с хранилищем данных, подходящей аналогией для этой проблемы является то, что у нас есть практикующие врачи.Медицинские работники имеют ряд профессиональных качеств и работают в открытом количестве команд и в открытом ряде клинических областей.
Например, у вас может быть медсестра, которая работает в детских службах в нескольких командах, как:помощник / подрядчик / сотрудник банка.Или у вас может быть только что получивший квалификацию доктор, который работает в области общей медицины и проводит время в специальной области в ожидании получения квалификации консультанта в этой специальной области.
Таким образом, у нас есть открытое число областей работы и открытое числокоманд, мы не можем иметь команду 1, команду 2 и т. д. в наших измерениях.Другие атрибуты также могут со временем меняться, например, базовое местоположение (где они работают), основная команда и область, в которой они работают.
Итак, после Kimble я пошел на аутригеры:
Table DimHealthProfessionals:
Key (primary key, identity)
Name
Main Team
Main Area of Work
Base Location
Other Attribute 1
Other Attribute 2
Start Date
End Date
Table OutriggerHealthProfessionalTeam:
HPKey (foreign key to DimHealthPRofessionals.Key)
Team Name
Team Type
Other Team Attribute 1
Other Team Attribute 2
Table OutriggerHealthProfessionalAreaOfWork:
HPKey (as above)
Area of Work
Other AoW attribute 1
Если какой-либо атрибут HP изменяется, или их комбинациякоманды или области работы, в которых они работают, меняются, нам нужно создать новую запись в SCD и в ее таблицах аутригеров, чтобы инкапсулировать это.
И мы делаем это в SSIS.
Исходные данные в основном представляют собой таблицу HP с основными атрибутами, таблицу областей работы, таблицу команд и пару таблиц сопоставления для сопоставления текущего набора областей работы с HP.
У меня есть три источника данных, один вводит информацию о HCP, один - области работы всех HCP, а другой - членство в команде.
Проблема состоит в том, как преодолеть все тринаборы данных, чтобы определить, изменил ли HP атрибут, и изменили ли они атрибут, как мы соответствующим образом обновим DIM и две выносные опоры.
Может кто-нибудь указать мне наилучшую практику для этого?ИЛИ предложить альтернативный способ моделирования этого измерения?