Хранилище данных Хронология количества записей

У меня нет исторической информации о заказе на продажу в моей базе данных ERP. У меня есть таблица, содержащая заказ на продажу. После утверждения заказа на продажу он преобразуется в счет-фактуру, а запись заказа на продажу удаляется.

Я могу написать в ERP историческую таблицу только ту информацию, которая мне нужна. Я думал, что это то, что должно решаться хранилищем данных (также из-за личного интереса).

Я хочу посмотреть, сколько у меня заказов на продажу по дате. Например, я хочу видеть, что у меня есть в среднем X заказов на общую сумму XXX в месяц.

Моя мысль, куда просто добавить столбцы «Действительно с» и «До». Оттуда я заблокирован, мой начальный хотя, где использовать SCD, но, как я понимаю, это невозможно сделать на первичном ключе.

Должен ли я создать новую таблицу фактов (как я сделал бы в базе данных ERP)? Я не хочу программировать что-то также для триггера вставки или триггера удаления из таблицы заказов на продажу. Мы очищаем таблицу заказов на продажу в конце дня, ее нужно обновлять, когда мы обновляем хранилище данных ночью. В этом случае мне не нужно учитывать, что заказ не будет одобрен и что я буду хранить нерелевантные записи.


person Knutov    schedule 14.09.2016    source источник


Ответы (1)


Насколько я могу судить, вы страдаете от плохой модели данных.

Дело

Есть таблица заказов. Записи в этой таблице не сохраняются (с измененным статусом например или простой копией в таблицу "заказано"), а удаляются.

Это первая ошибка.

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

Подход

Лично я бы не стал начинать с DWH. Я бы начал с простого задания, которое будет заполнять новые данные о продажах при появлении триггера вставки. Это связано с тем, что проверка дельты со временем станет дорогостоящей.

И тогда эту таблицу, если она содержит всю информацию, можно использовать для анализа данных.

Вопросы

Но также вам необходимо определить процесс отмены заказов. Откуда вы знаете, что эти заказы удалены, потому что они отменены, а не потому, что они были одобрены?

Когда у вас будет более четкое представление об этапах процесса, вам будет проще использовать данные, например, в СХД. Но даже СХД не поможет, если заранее не определены процессы хотя бы для изменения статуса.

person tobi6    schedule 14.09.2016