В хранилище данных таблица фактов состоит из измерений, метрик или фактов бизнес -процесса . Она расположена в центре схемы «звезда» или схемы «снежинка», окруженной таблицами измерений . При использовании нескольких таблиц фактов они организованы как схема созвездия фактов . Таблица фактов обычно имеет два типа столбцов: те, которые содержат факты, и те, которые являются внешним ключом к таблицам измерений. Первичный ключ таблицы фактов обычно является составным ключом, который состоит из всех ее внешних ключей. Таблицы фактов содержат содержимое хранилища данных и хранят различные типы мер, такие как аддитивные, неаддитивные и полуаддитивные меры.
Таблицы фактов предоставляют (обычно) аддитивные значения, которые действуют как независимые переменные, по которым анализируются размерные атрибуты. Таблицы фактов часто определяются их гранулярностью . Гранулярность таблицы фактов представляет собой наиболее атомарный уровень, по которому могут быть определены факты. Гранулярность таблицы фактов продаж может быть указана как «объем продаж по дням по продуктам по магазинам». Таким образом, каждая запись в этой таблице фактов однозначно определяется днем, продуктом и магазином. Другие измерения могут быть членами этой таблицы фактов (например, местоположение/регион), но они ничего не добавляют к уникальности записей фактов. Эти «аффилированные измерения» допускают дополнительные срезы независимых фактов, но, как правило, предоставляют информацию на более высоком уровне агрегации (регион содержит много магазинов).
Пример
Если бизнес-процессом являются продажи, то соответствующая таблица фактов обычно будет содержать столбцы, представляющие как необработанные факты, так и агрегации в строках, например:
12 000 долларов США — «объем продаж в магазине в Нью-Йорке на 15 января 2005 года».
$34,000 , что соответствует «продажам в магазине в Лос-Анджелесе на 15 января 2005 г.»
$22,000 , что соответствует «продажам в магазине в Нью-Йорке на 16 января 2005 г.»
21 000 долларов США — «средний дневной объем продаж магазина в Лос-Анджелесе в январе 2005 г.»
65 000 долларов США , что соответствует «среднему ежедневному объему продаж магазина в Лос-Анджелесе в феврале 2005 г.»
33 000 долларов США — «средний дневной объем продаж магазина в Лос-Анджелесе в 2005 году»
Все внешние ключи между таблицами фактов и измерений должны быть суррогатными ключами , а не повторно используемыми ключами из операционных данных.
Типы мер
Аддитивные — меры, которые можно добавлять в любом измерении.
Неаддитивные — меры, которые нельзя суммировать ни по одному измерению.
Полуаддитивные — меры, которые можно суммировать по некоторым измерениям.
Таблица фактов может содержать либо факты на уровне детализации, либо факты, которые были агрегированы (таблицы фактов, содержащие агрегированные факты, часто называются сводными таблицами).
Особое внимание следует уделять работе с коэффициентами и процентами. Одно хорошее правило проектирования [1] — никогда не хранить проценты или коэффициенты в таблицах фактов, а только вычислять их в инструменте доступа к данным. Таким образом, в таблице фактов следует хранить только числитель и знаменатель, которые затем можно агрегировать, а агрегированные сохраненные значения можно использовать для расчета коэффициента или процента в инструменте доступа к данным.
В реальном мире возможно иметь таблицу фактов, которая не содержит мер или фактов. Такие таблицы называются "таблицами фактов без фактов" или " таблицами соединений ".
Таблицы фактов без фактов могут использоваться для моделирования отношений «многие ко многим» или для фиксации временных меток событий. [1]
Типы таблиц фактов
Существует четыре основных события измерения, которые характеризуют все таблицы фактов. [2]
Транзакционный
Транзакционная таблица является самой базовой и фундаментальной. Зернистость, связанная с транзакционной таблицей фактов, обычно указывается как «одна строка на строку в транзакции», например, каждая строка в чеке. Обычно транзакционная таблица фактов содержит данные самого подробного уровня, что приводит к тому, что с ней связано большое количество измерений .
Периодические снимки
Периодический снимок, как следует из названия, делает «снимок момента», где моментом может быть любой определенный период времени, например, сводка производительности продавца за предыдущий месяц. Периодическая таблица снимков зависит от транзакционной таблицы, поскольку ей нужны подробные данные, хранящиеся в транзакционной таблице фактов, чтобы предоставить выбранный результат производительности.
Накопление снимков
Этот тип таблицы фактов используется для отображения активности процесса, который имеет четко определенное начало и конец, например, обработка заказа. Заказ проходит определенные этапы, пока не будет полностью обработан. По мере завершения этапов выполнения заказа обновляется соответствующая строка в таблице фактов. Накапливающая таблица моментальных снимков часто имеет несколько столбцов дат, каждый из которых представляет собой веху в процессе. Поэтому важно иметь запись в связанном измерении даты, которая представляет собой заполнитель для неизвестной даты, поскольку многие даты вех неизвестны на момент создания строки.
Временные снимки
Применяя теорию временной базы данных и методы моделирования, таблица фактов временного снимка [3] позволяет иметь эквивалент ежедневных снимков без реального наличия ежедневных снимков. Она вводит концепцию временных интервалов в таблицу фактов, позволяя экономить много места, оптимизируя производительность, в то же время позволяя конечному пользователю иметь логический эквивалент «картины момента», которая его интересует.
Этапы разработки таблицы фактов
Определите бизнес-процесс для анализа (например, продажи).
Определите меры измерения фактов (объем продаж в долларах), задавая такие вопросы, как «какое количество X актуально для бизнес-процесса?», заменяя X различными вариантами, которые имеют смысл в контексте бизнеса.
Определите измерения фактов (измерение продукта, измерение местоположения, измерение времени, измерение организации), задавая вопросы, которые имеют смысл в контексте бизнеса, например, «проанализировать по X», где X заменяется на предмет тестирования.
Перечислите столбцы, описывающие каждое измерение (название региона, название филиала, название бизнес-единицы).
Определите самый низкий уровень (детализацию) сводки в таблице фактов (например, объем продаж в долларах).
Альтернативный подход — четырехэтапный процесс проектирования, описанный в работе Кимбалла: [1] выбрать бизнес-процесс, объявить структуру, определить измерения и определить факты.
Ссылки
^ abc Кимбалл и Росс - Набор инструментов для хранилищ данных, 2-е изд. [Wiley 2002]
^ Кимбалл, Ральф (2008). Набор инструментов жизненного цикла хранилища данных, 2-е издание . Wiley. ISBN978-0-470-14977-5.