BI Consult
  • Перейти на QlikSense
  • Перейти на QlikView
  • Перейти на Tableau
  • Перейти на Power BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • EN
  • Отправить сообщение
  • Главная
  • Продукты Business-Qlik
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • Энергетика
    • Фрод-менеджмент
    • E-Commerce
    • Фармацевтика
    • Построение хранилища данных
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • Process Mining
    • Сквозная аналитика
  • Платформы
    • Qlik Sense
    • QlikView
    • Tableau
    • Microsoft Power BI
    • Геоаналитика Qlik GeoAnalytics
    • Qlik NPrinting - рассылка отчетности QlikView/Qlik Sense
    • KliqPlanning Suite - бюджетирование в QlikView
    • ATK BiView-1C Коннектор (для Qlik/Tableau/PowerBI)
    • QlikView/Qlik Sense SAP Коннектор
    • QlikView R-Коннектор
    • Qlik Web Connectors - коннектор Google, Facebook, Twitter
    • Vizlib Qlik Sense extentions (библиотека экстеншнов)
    • Библиотека extention для Qlik
    • Qlik Alerting
    • Qlik Data Integration Platform - создание Data Lake
    • Qlik Data Catalog решение для Data Governance
    • ATK BiView документация
  • Услуги
    • Консалтинг
    • Пилотный проект
    • План обучения и сертификации
    • Подготовка специалистов по Qlik
    • Бесплатное обучение Qlik
    • Сертификация Qlik
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • Аудит приложений Qlik и Tableau
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс по Qlik Sense
    • Учебный курс по Tableau
    • Учебный курс по Microsoft Power BI
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс для бизнес-аналитиков
    • Учебный курс по NPrinting
    • Учебный курс по BigQuery
    • Учебный курс по Azure Databricks
    • Учебный курс по DWH
    • Учебный курс по Data Governance
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс администратора Qlik Sense
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

QlikView / Qlik Sense

  • Qlik Sense
    • Возможности Qlik Sense
    • Qlik Sense Enterprise
    • Qlik Sense Desktop
    • Qlik Sense Saas облачная инфраструктура для компаний
    • Источники данных и хранение данных
    • Безопасность и разграничение прав доступа
    • Масштабируемость
    • Политика лицензирования Qlik Sense
    • Qlik Sense November 2021: новые возможности
    • Географические карты в Qlik Sense
    • Qlik Sense Cloud / Qlik Sense в облаке
    • Учебное пособие по Qlik Sense
  • QlikView
    • Архитектура
    • Отличия QlikView от традиционных BI-систем
    • Политика лицензирования QlikView
    • Системные требования и сайзинг
    • Отличие от OLAP-систем
    • QlikView on Mobile
    • Qlik и Big Data
    • Демонстрационные примеры
    • QlikView в "облаке" (Amazon) / QlikView in the cloud
    • Интеграция QlikView с Microsoft SharePoint
    • Учебное пособие по QlikView
    • Что такое QlikView Publisher
    • QlikView Extranet Server и дистрибуция отчетности внешним пользователям
  • Qlik Data Catalog
  • Qlik Alerting
  • Qlik Data Integration Platform
  • Add-ons для QlikView
    • Vizlib Qlik Sense extentions (библиотека экстеншнов)
    • QlikView/Qlik Sense ATK BiView-1C Коннектор
    • Документация ATK BiView
    • Qlik NPrinting
    • Геоаналитика Qlik GeoAnalytics
    • GeoQlik
    • KliqPlanning Suite
    • QlikView/Qlik Sense SAP Коннектор
    • QlikView R-Коннектор
    • Qlik Web Connectors
    • QlikView Cognos TM1 Коннектор
    • Визуализация графов в Qlik Sense с помощью Ogma / Linkurious
  • Учебный курс по Qlik Sense

Tableau

  • Tableau
    • Tableau Desktop
    • Tableau Server
    • Tableau Prep
    • Технологии
    • Источники данных Tableau
    • Безопасность в Tableau
    • Политика лицензирования
    • Tableau 2021: новые возможности
    • Сравнение продуктов Tableau (Desktop, Server, Online, Public)
    • Демонстрационные примеры
    • Учебный портал Tableau
    • Коробочное решение "Мониторинг Tableau Server"
    • Чем отличаются Tableau Reader и Viewer?
  • Учебный курс по Tableau

Другое

  • Microsoft Power BI
    • Power BI Desktop
    • Power BI Report Server
    • Отраслевые решения Microsoft Power BI
    • Политика лицензирования Microsoft Power BI
    • Power BI Mobile
    • Учебные курсы Microsoft Power BI
    • Архитектура Power BI
    • Обработка данных в Power BI
    • Аудит системы Power BI
  • Учебный курс по Microsoft Power BI
  • Alteryx
    • Alteryx Designer
    • Инструменты Alteryx Designer
    • Alteryx Server
    • Alteryx Analytics Gallery
    • Alteryx. Создание приложения, workflow, ETL
  • Data Engeneering
    • Создание Data Lake
    • Создание Data Warehouse
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы » Учебный курс по Qlik Sense

Проектирование модели данных с таблицами фактов разной детализации

 

 

При разработке аналитического приложения иногда нужно объединить в модели данных таблицы фактов с разным уровнем детализации. Например,фактические данные по продажам из 1С представлены в детализации до даты, а плановые данные из файла Excel — до недели или месяца;фактические данные в детализации до номенклатуры, а план — до номенклатурной группы.

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

Итак, постановка задачи: в модели данных требуется совместить данные из двух или более различных источников с разным уровнем гранулярности (детализации).

 

СИТУАЦИЯ 1: ДВА ИСТОЧНИКА ДАННЫХ С РАЗНОЙ ГРАНУЛЯРНОСТЬЮ ВРЕМЕНИ 

Ситуация 1: у двух источников данных есть общее измерение — время, и его гранулярность различается, например, Неделя в одном источнике и Месяц в другом.

В таком случае ничто не мешает сопоставить каждой Неделе/Месяцу определенную дату (первое либо последнее число), и конкатенировать две таблицы фактов в одну, как в примере на скриншоте ниже.

 

 

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

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

Как обойти — думать над проектированием интерфейса и логики расчетов, как не дать пользователю задать некорректный фильтр.

 

СИТУАЦИЯ 2: ДВА ИСТОЧНИКА ДАННЫХ С РАЗНОЙ ГРАНУЛЯРНОСТЬЮ ИЗМЕРЕНИЙ, НЕ ЯВЛЯЮЩИХСЯ ВРЕМЕНЕМ

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

Здесь есть два способа решения.

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

Обязательно условие, чтобы каждая строка одного источника с более низким уровнем детализации (план ТФП в примере ниже) была связана со строкой источника с более высоким уровнем.

Способ прост в реализации, но обладает недостатком — повышается ресурсоемкость за счет того, что «маленькая» таблица связана с таблицами измерений через «крупную» таблицу. Пример такой структуры приведен на скриншоте ниже:

 

 

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

  • одна секция будет просто товарным справочником (в ключевом поле стоит «честный» ключ, заполнены все поля атрибутов),
  • вторая секция — узким подмножеством этого справочника, с заполненными полями атрибутов более высокого уровня, а в ключевом поле — суррогат.

 

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

 

 

 

 

 

 

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

 

СИТУАЦИЯ 3: ДВА ИСТОЧНИКА ДАННЫХ С РАЗНОЙ КОДИФИКАЦИЕЙ ВРЕМЕНИ

Ситуация 3: два источника данных, вроде и связаны со временем, но кодификация различна. В одном источнике время закодировано как интервалы «с-по», в другом — даты.

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

Примеры структуры и наполнения таблиц фактов, таблиц-мостов и измерений приведены на скриншотах ниже:

 

 

 

 

 

 

 

В ЗАКЛЮЧЕНИЕ

Вендором Qlik в качестве «умолчального» предлагается способ «таблица связей». Те из вас, кто проходил курс QlikView Developer или Qlik Sense Data Modeling, наверняка помнят это упражнение.

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

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

 

 

Всем оптимальных моделей данных в Qlik Sense и QlikView!

Источник - Блог Data Daily

 

 

Узнать стоимость решенияЗапросить видео презентацию

Запросить видео презентацию Запросить доступ к демо стенду online Узнать стоимость лицензий

Задать вопрос

loading...

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты

  • Решение "Анализ контейнерных перевозок в QlikView"
  • Каравай

    Анализ отгрузок, оплат клиентам; Анализ возвратов; Аналитика по себестоимости и прибыли; План-фактный анализ продаж; Визуализация задаваемых параметров на географической карте; Основные ключевые показатели деятельности (KPI);

    Отраслевое решение BusinessQlik for Food manufactoring (Business Qlik для пищевого производства) на базе QlikView 

  • http://www.vimos.ru

    Финансовая и корпоративная отчетность; План-Фактный анализ, прогноз выполнения плана;

  • Разработанное решение позволяет решить следующие задачи:
    Сбор и централизованное хранение отчетных данных бизнес-единиц;
    Оперативное получение отчетности;
    Управление на основе ключевых показателей отчетности.
  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Банки
    • Страхование
    • Фармацевтика
    • Лизинг
    • Логистика
    • Медицина
    • Нефтегазовый сектор
    • Сеть ресторанов
  • Продукты
    • Qlik Sense
    • QlikView
    • Tableau
    • Microsoft Power BI
    • ATK BiView-1C Коннектор (для Qlik/Tableau/PowerBI)
    • Vizlib Qlik Sense extentions (библиотека экстеншнов)
    • NPrinting
    • Геоаналитика Qlik GeoAnalytics
    • KliqPlanning Suite
    • Qlik WebConnectors
    • QlikView R Коннектор
    • QlikView/Qlik Sense SAP Коннектор
    • Alteryx
    • Qlik Data Catalog
    • Документация ATK BiView
  • Услуги
    • Консалтинг
    • Пилотный проект
    • Поддержка
    • План обучения и сертификации Qlik
    • Бесплатное обучение
    • Учебные курсы
    • Сертификация Qlik
    • Аудит приложений
  • Курсы
    • Учебный курс по Qlik Sense
    • Учебный курс по Tableau
    • Учебный курс по Microsoft Power BI
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс по NPrinting
    • Учебный курс по Azure Databricks
    • Учебный курс по Google BigQuery
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
  • Функциональные решения
    • Продажи
    • Финансы
    • Склад
    • HR
    • S&OP и прогнозная аналитика
    • Внутренний аудит
    • Геоаналитика
    • Категорийный менеджмент
    • Построение хранилища данных
    • Система управления KPI и BSC
    • Управление цепочками поставок
    • Маркетинг
    • Цифровая трансформация
    • Сквозная аналитика
    • Process Mining
QlikView Partner
LinkedInYouTubeVkontakteFacebook
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru