Я пытаюсь смоделировать хранилище данных о наборе персонала с различными измерениями типа 2, но не уверен, правильно ли я моделирую этот конкретный сценарий. Вот что я пока делаю:
У меня два измерения: Dim_Person и Dim_Client.
Эти два измерения объединены с помощью не имеющей фактов таблицы фактов Fact_PersonEmployer, которая содержит FK для обоих измерений, а также действительную дату и дату.
Если человек переходит в другой бизнес, я закрываю действительный на сегодняшний день в строке фактов, которая связывает его с его старым работодателем, и вставляю новую запись в таблицу фактов с новой компанией.
Это кажется довольно простым, однако, поскольку этот человек теперь перешел к новому работодателю, я бы подумал, что это гарантирует изменение типа 2 в измерении личности, поскольку теперь этот человек принципиально отличается от пользователя (рекрутер / менеджер по набору персонала).
С моей точки зрения, это почти кажется, что клиент является атрибутом типа 2 измерения человека, поэтому я рассматривал возможность моделирования его таким образом. Я просто не уверен, допустимо ли объединять измерения без использования таблицы фактов, не содержащей фактов (я стараюсь максимально придерживаться методологии Кимбалла).
Нужно ли мне:
а) Сохраните идентификатор компании, в которой они работают, в качестве атрибута в измерении личности, чтобы он мог генерировать изменения типа 2.
or
б) Продолжать использовать таблицу фактов для связывания двух измерений друг с другом?
Надеюсь, это имеет смысл ...
Заранее спасибо!