Медленное изменение измерений в службах SSAS и SSRS

У меня есть проект, в котором предприятия проверяются от одного раза в 6 месяцев до одного раза в 3 года, а результаты оценочной карты записываются в виде записи в медленно меняющуюся таблицу измерений типа 2 [tblInspections], используя StartDate и EndDate для охвата периода между инспекции, для которых эта оценочная карта действительна. Таблица проверок связана с [tblEstablishments], которая содержит другие сведения о других фиксированных измерениях, таких как местоположение и тип бизнеса.

Итак, в настоящее время мы предоставляем агрегированные отчеты о текущей ситуации (where EndDate is null), а также аудиторские отчеты по истории любого заведения (на EstablishmentID)
Моя следующая задача — предоставить более подробные аналитические отчеты о тенденциях результатов оценочной карты, и я необходимо предоставить исторические агрегированные результаты ситуации на последний день каждого месяца.

Моя проблема в том, что, несмотря на то, что я точно знаю, чего хочу, теперь я не знаю, как этого достичь.

1) Начать ли мне с написания процесса ETL для построения куба на основе всех исторических результатов, определяющих, какими были бы все агрегаты в конце каждого месяца?

2) Могу ли я тогда просто обрабатывать текущие записи в конце каждого месяца, эффективно добавляя новый срез в конец существующего куба без повторной обработки с нуля? (если да то как?)

3) Есть ли другой способ сделать это? Есть ли в службах Analysis Services лучшие способы автоматической работы с SCD при определении исторического статуса в любой момент времени путем выбора правильной записи из нескольких записей с датой начала и окончания?

Любые советы и указатели на учебные пособия, связанные с этим, будут высоко оценены.


person Paul Farr    schedule 03.01.2012    source источник


Ответы (1)


  1. Во-первых, я думаю, вы захотите создать новую периодическую (ежемесячную) таблицу фактов моментальных снимков, если вы пытаетесь проанализировать результаты проверки по заведениям (и другие измерения, такие как время/дата). Затем вы можете создать процесс ETL для заполнения этой новой таблицы фактов. Наконец, вы можете смоделировать таблицу фактов как новую группу мер в новом или существующем кубе... обязательно обратите внимание на свойство агрегирования мер в этой новой группе мер... как правило, вы не хотите суммировать периодические моментальные измерения (подумайте о том, что произойдет, если вы суммируете остаток на своем банковском счете в конце каждого месяца и посмотрите на него по годам).

  2. Да, вы будете запускать свой ETL в конце каждого месяца, в котором будет больше строк в вашей периодической (ежемесячной) таблице фактов снимка. Затем вы можете просто обработать куб, и все готово.

  3. Службы Analysis Services довольно хорошо обрабатывают измерения SCD2 (при условии, что вы используете суррогатные ключи... не так ли?). Я думаю, что бизнес-процесс, который вы пытаетесь смоделировать (проверки)... вызывает некоторую путаницу, потому что он больше не является параметром в этом новом анализе, он стал фактом (периодический снимок факт)

person Bill Anton    schedule 11.01.2012
comment
Спасибо за совет — я уже добился некоторого прогресса в этом общем направлении, но не хотел бы полностью следовать ему, если бы существовал другой фундаментальный способ обработки такого типа сценария. Другие требования, которые у меня есть, включают отчеты о количестве проверок, подсчете количества невыполненных проверок, просроченных в установленный срок, и подсчете того, сколько раз после апелляции была присуждена лучшая оценка. Теперь я думаю, что мне следует передать две таблицы фактов и обработать их в двух кубах SSAS — один для моментального снимка результатов ежемесячного распределения, а другой — для ежемесячной активности. - person Paul Farr; 11.01.2012