У меня есть проект, в котором предприятия проверяются от одного раза в 6 месяцев до одного раза в 3 года, а результаты оценочной карты записываются в виде записи в медленно меняющуюся таблицу измерений типа 2 [tblInspections]
, используя StartDate
и EndDate
для охвата периода между инспекции, для которых эта оценочная карта действительна. Таблица проверок связана с [tblEstablishments], которая содержит другие сведения о других фиксированных измерениях, таких как местоположение и тип бизнеса.
Итак, в настоящее время мы предоставляем агрегированные отчеты о текущей ситуации (where EndDate is null
), а также аудиторские отчеты по истории любого заведения (на EstablishmentID
)
Моя следующая задача — предоставить более подробные аналитические отчеты о тенденциях результатов оценочной карты, и я необходимо предоставить исторические агрегированные результаты ситуации на последний день каждого месяца.
Моя проблема в том, что, несмотря на то, что я точно знаю, чего хочу, теперь я не знаю, как этого достичь.
1) Начать ли мне с написания процесса ETL для построения куба на основе всех исторических результатов, определяющих, какими были бы все агрегаты в конце каждого месяца?
2) Могу ли я тогда просто обрабатывать текущие записи в конце каждого месяца, эффективно добавляя новый срез в конец существующего куба без повторной обработки с нуля? (если да то как?)
3) Есть ли другой способ сделать это? Есть ли в службах Analysis Services лучшие способы автоматической работы с SCD при определении исторического статуса в любой момент времени путем выбора правильной записи из нескольких записей с датой начала и окончания?
Любые советы и указатели на учебные пособия, связанные с этим, будут высоко оценены.