Таблица фактов - Fact table

Пример звездная схема; Центральная таблица - это таблица фактов

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

Таблицы фактов предоставляют (обычно) дополнительные значения, которые действуют как независимые переменные, с помощью которых анализируются размерные атрибуты. Таблицы фактов часто определяются их зерно. Структура таблицы фактов представляет собой наиболее элементарный уровень, с помощью которого могут быть определены факты. Суть таблицы фактов продаж может быть выражена как «объем продаж по дням по продуктам по магазинам». Таким образом, каждая запись в этой таблице фактов однозначно определяется днем, продуктом и магазином. Другие измерения могут быть членами этой таблицы фактов (например, местоположение / регион), но они ничего не добавляют к уникальности записей фактов. Эти «партнерские измерения» позволяют получить дополнительные срезы независимых фактов, но обычно обеспечивают понимание на более высоком уровне агрегирования (в регионе много магазинов).

Пример

Если бизнес-процесс это продажи, то соответствующая таблица фактов обычно будет содержать столбцы, представляющие оба сырые факты и скопления в таких строках, как:

  • $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 заменяется объектом тестирования.
  • Перечислите столбцы, описывающие каждое измерение (название региона, название филиала, название бизнес-единицы).
  • Определите самый низкий уровень (степень детализации) сводки в таблице фактов (например, в долларах продаж).

Альтернативный подход - это четырехэтапный процесс проектирования, описанный в Kimball:[1] выберите бизнес-процесс, объявите зерно, определите размеры, определите факты.

Рекомендации

  1. ^ а б c Кимбалл и Росс - Инструментарий хранилища данных, 2-е изд. [Wiley 2002]
  2. ^ Кимбалл, Ральф (2008). Набор инструментов жизненного цикла хранилища данных, 2-е издание. Вайли. ISBN  978-0-470-14977-5.
  3. ^ Давиде, Маури. «Таблица фактов временного снимка».