Материал опубликован с разрешения компании Ralph Kimball Associates
Автор оригинала: Bob Becker (все
статьи)
Перевод на русский язык: Антон Задорожный
Оригинальный документ располагается здесь.
При разработке многомерных моделей мы стараемся создать надежный
набор таблиц измерений, украшенных богатым набором описывающих атрибутов.
Чем больше необходимых атрибутов мы добавим в измерение, тем у пользователей
будет больше возможностей по-новому взглянуть на бизнес. Это особенно
важно при создании измерения вокруг клиента.
Мы призываем вас вкладывать интеллектуальный потенциал в многомерные
модели. Вместо того чтобы применять бизнес правила к данным на уровне
приложений (часто Excel), группировки и сводные данные, необходимые
бизнесу, должны захватываться на уровне данных, так чтобы они были
целостными и свободно доступными всем аналитикам, независимо от
их инструментов. Конечно, это делает необходимым понимание того,
что бизнес делает с данными сверх того, что было зафиксировано в
оперативном источнике. Как бы то ни было, хранилище данных приносит
пользу только при этом понимании и добавлении в него производных
атрибутов и метрик.
Иногда, по мере того как мы добавляем аналитические признаки в
клиентское измерение, мы становимся жертвами нашего собственного
успеха. Бизнес неминуемо желает отслеживать изменения всех этих
интересных атрибутов. Представляя, что клиентское измерение имеет
миллионы строк, нам необходимо прибегнуть к мини-измерениям, чтобы
фиксировать изменения клиентского измерения. Наш старый знакомый,
медленно меняющееся измерение типа 2, не будет так эффективен из-за
большого числа дополнительных сопровождающих строк.
Техника мини-измерений использует отдельные измерения для часто
меняющихся атрибутов. Мы можем создать мини-измерение для атрибутов
демографии клиента, таких как аренда дома, наличие детей или уровень
дохода. Измерение будет содержать строку для каждой уникальной комбинации
этих атрибутов, встреченной в данных. Статические и редко меняющиеся
атрибуты будут храниться в нашем большом исходном клиентском измерении.
Таблица фактов фиксирует связь исходного клиентского измерения и
демографического мини-измерения с помощью загруженных строк.
Для организаций, работающих с клиентскими данными, весьма необычно
создавать последовательность связанных мини-измерений. Финансовая
организация может иметь мини-измерения для клиентских оценок, статусов
просрочек, поведенческой сегментации и атрибутов кредитных бюро.
Соответствующие мини-измерения связаны с исходным клиентским измерением
через внешние ключи в строках таблицы фактов. Мини-измерения эффективно
фиксирует изменения, а также предоставляют меньшую точку входа в
таблицу фактов. Они особенно полезны в случаях, когда анализ не
требует детальности уровня клиента.
Пользователи часто хотят анализировать клиентов без анализа показателей
в таблице фактов, особенно когда сравнивают количество клиентов
по значениям определенного атрибута. Часто бывает полезным включить
текущие суррогатные ключи к мини-измерениям в исходном клиентском
измерении, чтобы поддержать такой анализ без необходимости выполнять
соединение с таблицей фактов. Простое или материализованное представление
даёт полную картину текущего состояния клиентского измерения. В
таком случае, воздержитесь от попытки фиксировать суррогатные ключи
мини-измерения как атрибуты медленно меняющегося измерения типа
2. Это вернет вас в самое начало, к выходящему из под контроля клиентскому
измерению, к слишком частым изменениям типа 2.
Другим украшением измерений является добавление агрегированных
показателей производительности в клиентское измерение, таких как
итоговый чистый объем закупок в прошлом году. Пока мы обычно рассматриваем
показатели производительности как факты в таблице фактов (и они,
определенно, должны быть там!), мы распространяем их в измерении
для выделения и ограничения, а не для использования в численных
подсчетах. Бизнес-пользователи будут признательны за включение этих
показателей для анализа. Конечно, распространение э