Оформление
Рекомендуется официальное использование модели темы - Справка FineReport | Разработка отчетов | Отчеты | Учебные пособия
Официальные рекомендации по использованию тематических моделей
1. Обзор
В этой главе мы расскажем вам о том, какие структуры моделей FineBI рекомендует использовать.
2. Рекомендуемая структура модели
Структура модели не может быть построена без "таблиц измерений" и "таблиц фактов":
- Таблицы измерений: таблицы измерений - это таблицы, в которых описывается и хранится подробная информация об атрибутах бизнес-данных. Размерность - это перспектива, с которой пользователь анализирует проблему. Например, таблица размерности продукта может содержать такие столбцы, как ID продукта, название продукта, тип продукта и так далее. Таблицы измерений предоставляют атрибуты измерений для группировки, фильтрации и анализа бизнес-данных.
- Таблица фактов: таблицы фактов - это таблицы, содержащие поля метрик, которые используются для измерения фактов. Таблица фактов является основной таблицей в модели темы и содержит поля метрик, относящиеся к бизнес-процессу, такие как количество продаж, сумма продаж и прибыль. Таблицы измерений могут предоставлять контекстную информацию, устанавливая отношения моделирования с таблицей фактов. Каждая строка записей в таблице фактов представляет собой бизнес-событие или факт.
В этой статье оранжевым цветом выделены таблицы измерений, а синим - таблицы фактов.
2.1 Один фактологический лист, несколько размерных листов
звездная конфигурация
Звездная модель похожа на звезду с центральной "таблицей фактов ", окруженной множеством "таблиц измерений ", которые подобны лучам звезды.
Таблица фактов - это ядро центра, а таблицы измерений предоставляют контекстную информацию, связанную с фактами. Каждая таблица измерений имеет отношения "один-ко-многим" с таблицей фактов, связанные общими ключевыми значениями, подобно лучам звезды, соединяющимся с центром. Такая структура дает нам возможность гибко нарезать и анализировать данные по различным измерениям, подобно тому как звезды можно рассматривать с разных точек зрения. Модель звезды разработана таким образом, чтобы быть простой и понятной, а также иметь высокую производительность запросов.

структура снежинки
Модель "снежинка" похожа на модель "звезда" тем, что обе содержат таблицы фактов и таблицы измерений. Однако она отличается тем, как организованы таблицы измерений. В модели "снежинка" таблицы измерений подразделяются на множество нормализованных таблиц, создавая многоуровневую структуру, которая разворачивается подобно снежинке.
Например, таблица "Региональное измерение", в свою очередь, снабжена контекстной информацией из трех таблиц: "Страновое измерение", "Провинциальное измерение" и "Городское измерение".

2.2 Несколько таблиц измерений, несколько таблиц фактов
Несколько таблиц фактов, совместно использующих несколько таблиц измерений, не поддерживаются в FineBI.
Например, на рисунке ниже таблица фактов о продажах и таблица фактов о запасах имеют две общие таблицы измерений: таблица измерений бренда и таблица измерений категории.
В FineBI вы не можете создать ассоциацию напрямую, как показано ниже. Как же с этим справиться?
Метод 1: Объедините несколько таблиц измерений слева и справа, объедините их в одну таблицу измерений, а затем смоделируйте отношения с помощью нескольких таблиц фактов.
Примечание: Если в таблице размерностей нет поля, которое можно использовать в качестве основы для слияния, можно также выполнить слияние с помощью перекрестного соединения.
Метод 2: объедините несколько таблиц фактов слева и справа, слейте их в одну таблицу фактов, а затем смоделируйте отношения с помощью нескольких таблиц измерений.

2.3 Многочисленные информационные бюллетени
Сценарий 1: Целостность ключевых значений
Если одна из сторон двух таблиц фактов, в которых устанавливается модельная связь, имеет полное значение ключа в таблице фактов, то модельная связь N:N может быть установлена напрямую.
Возьмем, к примеру, следующий пример:
Как правило, таблица "Инвентаризация" наиболее полно содержит информацию о товарах, и запись о ней появляется, как только она поступает на склад. С другой стороны, в таблице "Факты продаж" запись о товаре появляется только после его продажи.
Итак, ключевое значение "Product Key" в "Inventory Facts Table" завершено, и теперь мы можем напрямую установить модельные отношения N:N для этих двух таблиц.

Сценарий 2: Неполное значение ключа
Если две таблицы фактов, в которых устанавливается модельное отношение, имеют неполные ключи с обеих сторон, то в их ключах есть данные, которых нет у другой стороны. В этом случае прямое установление отношения модели N:N может привести к неправильным результатам вычислений.
Что же делать, рассмотрим на следующем примере:
Таблица фактов"Предпродажная подготовка " и таблица фактов "Возврат" смоделированы с помощью "ключа продукта". Однако в обеих таблицах есть товары, которых нет в другой, а значит, обе таблицы "ключ товара" неполные. В это время мы можем извлечь ключевые значения и общие размеры в таблицах фактов с обоих концов, срастить их вверх и вниз и удалить дублирующиеся значения, чтобы получить полную таблицу размеров.
Эта таблица измерений затем используется для установления отношений моделирования 1:N с таблицами фактов по обе стороны.

3. Как использовать несколько полей в качестве основы для сопоставления
Что делать, если при моделировании темы нужно сопоставить несколько полей?
Например, в следующем примере поля "Отдел, регион" должны использоваться вместе в качестве основы для консолидации.

На этом этапе мы можем добавить вторичное поле "Основа слияния" в каждую из двух таблиц.
Чтобы добавить столбец с формулой, введите Регион + Департамент, как показано ниже:

При создании модели темы просто используйте "Основа слияния" в качестве поля соответствия. Это показано на следующем рисунке:
