Моделирование Datawarehouse: Изменить таблицу или 2 таблицы фактов?

Я на самом деле моделирую хранилище данных

В одной из моих таблиц фактов у меня есть 3 данных (число, которое я хочу проанализировать). Проблема в том, что я сначала заполнил один из номеров, а позже (через несколько дней) заполнил еще 2 номера.

Плохо ли это делать в DW (из-за закона "не изменять таблицу")?

Другое решение, о котором я подумал, - поместить первое число в первую таблицу фактов, а два других - во вторую таблицу фактов. Конечно, 2 FT будут связаны с теми же таблицами размеров. Это решение кажется мне хорошим, но, возможно, немного тяжелее, чтобы сравнить данные позже.

-

Данные, о которых я говорю, касаются рабочего времени. Сначала сотрудник помещает свое рабочее время (оно не подтверждено) в БД, это мой первый атрибут (Qe). Затем начальник проверяет или изменяет (или нет) эти данные, и это дает мне другой атрибут (Qa). Иногда оба атрибута будут загружаться в DW одновременно (если проверено быстро), иногда нет.

Так что вы думаете об этом, какое решение лучше / чище?

спасибо за вашу помощь

1 ответ

Решение

Нет закона об изменении таблицы фактов. Если это накопительный моментальный снимок, который отслеживает процесс при переходе от одного шага к другому, то стандартный метод Кимбалла заключается в обновлении записи по мере ее изменения.

Если это таблица транзакционных фактов, в которой измерения выполняются одновременно для одной строки, то обновление является плохим.

В вашем случае имеет смысл иметь накопительный снимок для измерения этих данных, так как он представляет собой "рабочий процесс", где есть шаг утверждения, прежде чем введенные результаты станут "правдой".

Другие вопросы по тегам