Бесфактная таблица фактов () — разновидность таблицы фактов в многомерной модели хранилища данных, которая не содержит числовых мер (метрик). Вместо этого она состоит исключительно из внешних ключей, ссылающихся на таблицы измерений, и служит для фиксации факта существования события или отношения между измерениями.

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

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

Типы Согласно методологии Кимбалла и другим источникам, выделяют два основных типа бесфактных таблиц фактов:

Таблицы отслеживания событий Таблицы отслеживания событий () фиксируют сам факт наступления события без привязки к каким-либо количественным показателям. Типичные примеры: Посещаемость студентов — каждая запись фиксирует присутствие конкретного студента на конкретном занятии в определённый день. Зернистость такой таблицы — «один студент в один день на одном курсе». Регистрация на курс — фиксация факта зачисления студента на учебный курс. Страховые случаи — регистрация факта наступления страхового события. Контактные взаимодействия с клиентом — запись каждого факта общения с клиентом без привязки к сумме или продолжительности.

Таблицы охвата событий Таблицы охвата событий (, также existence tables) описывают множество возможных событий, которые могли бы произойти, и используются для анализа того, чего не произошло. Классический пример — таблица, содержащая все возможные комбинации товаров и периодов рекламных акций; сопоставление этой таблицы с таблицей фактических продаж позволяет выявить товары, которые не продавались во время акции.

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

Анализ данных Поскольку бесфактные таблицы не содержат мер, анализ с их использованием строится на подсчёте количества записей: Используются операции COUNT(*) или COUNT(DISTINCT ...), а не SUM() или AVG(). Основной аналитический вопрос — «сколько» (сколько студентов посетило занятие, сколько клиентов было охвачено акцией), а не «на сколько». Таблицы охвата событий позволяют выявлять отсутствие событий: например, «какие клиенты никогда не были контактированы» или «какие товары не продавались во время акции».

Отличие от других таблиц фактов Характеристика Обычная таблица фактов Бесфактная таблица фактов Наличие мер Содержит числовые метрики Не содержит числовых метрик Содержимое Внешние ключи + числовые показатели Только внешние ключи (и, опционально, вырожденные измерения) Типичные запросы SUM(), AVG(), MIN(), MAX() COUNT(*), COUNT(DISTINCT ...) Назначение Измерение количественных показателей Фиксация факта события или наличия связи

Примечания

Ссылки

Литература

Категория:Хранилище данных