Как использовать медленно меняющееся измерение в службах аналитики Sql Server

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

  1. Новый
  2. оценивается
  3. Оценено

и эти состояния меняются со временем.

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

Может ли кто-нибудь привести мне пример таблицы фактов и таблицы измерений, которая отслеживает два приложения по мере их прохождения через эти состояния?

Я использую службы аналитики SQL Server 2005.

Цель состоит в том, чтобы иметь возможность ежегодно анализировать количество заявок в каждом штате.


person Scott    schedule 18.01.2009    source источник


Ответы (3)


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

Погуглите таблицы фактов по «накоплению моментальных снимков», и вы найдете много хороших статей об их использовании, но вот одна из них, которая может оказаться полезной. http://blog.oaktonsoftware.com/2007/03/accumulating-snapshot-use-accumulating.html

person Shane Delmore    schedule 19.01.2009

В вашем вопросе упоминались результаты стандартизированного теста и статус оценки. Это будут два ваших измерения вместе с вездесущим временем, конечно. У Ральфа Кимбалла есть хороший пример хорошего временного измерения. Если размер вашей тестовой оценки SAT, он будет иметь 2400-700 = 1700 строк, потому что вы получаете 700 баллов за то, что подписываете свое имя, и есть три раздела с высшими баллами по 800 в каждом. Как вы описали, размер вашей оценки может состоять из трех строк.

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

person duffymo    schedule 18.01.2009
comment
Но как мне подсчитать количество заявок? Таблица фактов может иметь несколько строк для одного приложения по мере изменения его статуса. - person Scott; 19.01.2009
comment
Да, у него будет много фактов для одного приложения. Означает ли это, что приложение — это другое измерение? Мне так кажется. Каждый факт будет иметь ссылку на свой идентификатор измерения приложения. - person duffymo; 19.01.2009

У нас есть пара статей о медленно меняющихся измерениях на SQLServerPedia:

http://sqlserverpedia.com/wiki/SSIS_-_Slowly_Changing_Dimension_Wizard

http://sqlserverpedia.com/wiki/Data_Warehousing_-_Slowly_Changing_Dimensions

Это может помочь вам войти в курс дела.

person Brent Ozar    schedule 19.01.2009