Skip to content

Преимущества тематических моделей - Помощь FineReport | Разработка отчетов | Использование отчетов | Учебные пособия

Преимущества тематического моделирования

1. Обзор

Разобравшись с принципами работы тематической модели, оцените ее преимущества.

В этой статье мы расскажем о преимуществах тематического моделирования.

2. Более простая подготовка данных

Не нужно ждать обновлений

Извлеченные данные можно использовать только после нажатия кнопки "Сохранить и обновить" после использования слияния влево/вправо, а если таблица содержит большое количество данных, то придется долго ждать, пока она закончит обновление.

Однако тематические модели можно использовать после непосредственного установления взаимосвязей между моделями, что экономит время.

54.png

Более простое управление, позволяющее избежать сложных решений

Когда мы используем объединение слева и справа, нам часто приходится выбирать, что объединять - левое или правое. Если мы выберем неправильный вариант, не зная таблицы, мы можем получить неправильный результат.

Однако в предметной модели не нужно рассматривать метод объединения, достаточно построить связность и выбрать совпадающие поля, и система обеспечит целостность данных более интеллектуальным способом.

3. Более эффективный анализ нескольких таблиц

Решение проблемы инфляции данных

При использовании комбинаций "левый" и "правый" легко ввести избыточные данные, что приведет к дублированию строк данных в таблице результатов и неправильным итоговым значениям, полученным при анализе.

Вместо этого при использовании тематической модели система автоматически агрегирует и затем объединяет данные, что не создает проблемы раздувания данных.

56.png

Модель поддерживает большее количество аналитических сценариев, устраняя необходимость в многократной обработке данных и укрепляя отношения и связи между компонентами

В качестве примера давайте создадим хорошую модель отношений для таблиц "таблица продуктов, таблица клиентов, таблица заказов, таблица продавцов ":

  • Хотите проанализировать эффективность продаж каждого продавца. С помощью модели вы можете получить информацию о продавцах непосредственно из "Таблицы продавцов ", а данные о заказах на продажу каждого продавца - из "Таблицы заказов ".
  • Требуется проанализировать покупки клиентов по различным товарам. В модели информация о клиенте получается из "Таблицы клиентов ", а данные о заказе и продукте - из "Таблицы продуктов " и "Таблицы заказов ".

Приведенный выше анализ потребует нескольких операций слияния слева направо, если используется слияние слева направо.

Кроме того, нам следует задуматься о том, не раздуты ли данные, если да, то прямое объединение в большую широкую таблицу для анализа может создать проблемы. Использование группировки и агрегации с последующим объединением слева и справа может решить проблему, но объединение в несколько промежуточных таблиц для обслуживания различных компонентов анализа может вызвать множество проблем:

  • Многократное суммирование групп, объединение слева и справа и сложные операции
  • Разрушение структуры таблиц и группировка сводок приведет к тому, что гранулярность данных станет более грубой, что сделает невозможным многоуровневый анализ. Например, после агрегирования по "месяцу" данные с гранулярностью "день" будут потеряны, и анализировать "день" впоследствии будет неудобно.
  • Разделенные компоненты, компоненты, использующие в качестве источников данных разные промежуточные таблицы, не могут автоматически создавать связи между собой. В то время как между несколькими компонентами, использующими одну и ту же предметную модель, система может автоматически создавать связи для них.

Улучшенная поддержка сценариев вычислений N:N

При объединении левой и правой частей сценария N:N получается декартово произведение, что не способствует стабильности проекта; кроме того, данные дают множество расширений, что облегчает получение ошибочных результатов вычислений.

Однако тематическая модель очень хорошо справляется с расчетами N:N, хотя следует внимательно отнестись к выбору правильной структуры модели, см.

4. Более разумная логика вычислений и более высокая производительность

Извлечение данных: повышение производительности обновления

Тематические модели - это логические соединения, которые связывают данные из нескольких таблиц с помощью "кодовых" определений. Создание промежуточных таблиц сокращается, что экономит место в хранилище и время обновления.

Данные с прямыми связями: повышение производительности вычислений

Предметные модели позволяют объединять меньше данных и повышают производительность вычислений, обеспечивая простоту анализа;

1) Выполните слияние только для тех таблиц, которые необходимо объединить

Если в модели темы десять таблиц, система не будет объединять все десять. Вместо этого она будет динамически оценивать измерения и метрики, которые пользователь заносит в компонент, и объединять только те таблицы, которые используются. После построения модели пользователи могут свободно использовать поля десяти таблиц для анализа и в то же время эффективно выполнять запросы, избегая ненужного объединения данных.

2) Агрегировать, затем объединить

Если исходная таблица данных содержит 100 миллионов строк данных, то после агрегирования в ней остается всего 1 миллион строк. Тогда предметная модель агрегации и последующего слияния может значительно сократить объем объединяемых данных, существенно повысив производительность.

5. Производные функции тематической модели

Поддерживает двунаправленную фильтрацию связей между 1 и N концами

Большинство отечественных BI-продуктов на рынке поддерживают только фильтрацию связей между 1-сторонней таблицей и N-сторонней таблицей, в то время как тематическая модель может обеспечить двунаправленную связь между 1-сторонней таблицей и N-сторонней таблицей.

Например, на следующем рисунке мы создали "Продажи типа контракта" и "Таблицу информации о клиенте" с N-терминальной и 1-терминальной таблицами соответственно.

60.png

На данном этапе, если мы хотим увидеть, какие клиенты приобрели "Контракты на покупку", нам нужно использовать фильтр связи N-стороны таблицы с 1-стороной таблицы. Нажмите на столбец "Контракты на покупку", чтобы отфильтровать соответствующих клиентов. Как показано на рисунке ниже:

Поддержка вычисления показателей, которые могут быть использованы повторно

Компоненты в FineBI 5.0 не могут повторно использовать вычисляемые поля из других компонентов, и каждый компонент необходимо создавать отдельно;

Внедрение модели темы 6.0 позволяет повторно использовать вычисляемые поля и параметры. Это означает, что вычисляемые поля и параметры, определенные для анализируемой области, могут быть использованы непосредственно во всех компонентах одной темы анализа, что избавляет от необходимости создавать их повторно и повышает эффективность.

Вычисляемые поля могут использовать параметр

В FineBI 5.0 параметры не допускаются в вычисляемых полях.

Модель тем FineBI 6.0 также решает эту проблему, позволяя применять параметры к вычисляемым полям.

6. Ограничения тематической модели

Ниже перечислены некоторые распространенные подводные камни и сценарии использования тематической модели, и пользователям рекомендуется избегать использования тематической модели в следующих ситуациях:

1) Публикация в открытых данных невозможна, если вам нужно опубликовать данные, пожалуйста, выберите левое и правое слияние для обработки нескольких таблиц;

2) Хотя операция построения модели проста, она требует относительно глубокого понимания. Во избежание неправильного использования рекомендуется сначала использовать лево-правое слияние, если вы недостаточно хорошо понимаете предметную модель.

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

Пример загрузки данных:

Если мы добавим компонент фильтрации для фильтрации таблицы продаж. Компонент фильтра привязывается к полю Date таблицы Sales.

Когда мы отфильтровываем данные за 2022/5/1, мы обнаруживаем, что в это время продавалось только молоко. Затем мы также обнаруживаем, что в таблице данных о закупках в качестве товара осталось только молоко, почему это так?

Получается, что после фильтрации "Таблицы продаж" мы генерируем проход фильтра с соответствующим полем "Продукт".

После фильтрации компонентом фильтрации в таблице продаж осталось только "молоко", поэтому оно передается в таблицу "таблица продуктов, таблица закупок", в результате чего при просмотре данных о закупках мы видим только данные о молоке.

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