Отслеживание жизненного цикла транзакции в хранилище данных
Как вы храните факты, с которыми связаны данные? А как вы настраиваете меру? Например, у меня есть хранилище данных, которое отслеживает жизненный цикл заказа, который изменяет состояние - заказано, отправлено, возвращено. А для такого государства, как "возмещение", это не всегда так. Поэтому в моей модели я использую модель хранилища транзакций, поэтому каждый раз, когда заказ меняет состояние, это другая строка в таблице фактов. Таким образом, для заказа, который был размещен в апреле и возвращен в мае, будет два ряда - один с состоянием "заказ", а другой с состоянием "возврат". Так что, если пользователь хочет увидеть все заказы, размещенные / заказанные в апреле, и хочет узнать, сколько "тех" заказов было возвращено, как он это увидит? Это запрос MDX, который будет выполняться во время выполнения? Это вычисленная мера, которую я могу сохранить в кубе? Как бы я это сделал? Мой мыслительный процесс заключается в том, что это должен быть факт, который пользователь может использовать в сводной таблице, но я не уверен.....
1 ответ
Одним из способов моделирования этого было бы создание таблицы фактов для моделирования событий. Ваша таблица фактов ORDERS моделирует сумму транзакции, информацию о клиенте и т. Д., В то время как таблица фактов ORFER (возможно, называется ORDER_STATUS) моделирует любые события, которые происходят в отношении определенного заказа.
С помощью этой модели легко подсчитать или добавить все транзакции в зависимости от статуса их заказа, проверив наличие записей в таблице фактов.