Оформление
Как моделирование тем обеспечивает целостность данных
1. Обзор
1.1 Сценарии применения
В режиме Left-Right Merge мы вручную выбираем Left Merge, Right Merge, Concatenate Merge и Intersection Merge, чтобы подтвердить, какая таблица должна быть сохранена, левая или правая.
В операторе SQL мы выбираем левое соединение, правое соединение, внешнее соединение, внутреннее соединение, чтобы подтвердить, какая таблица должна быть полной.
Однако при использовании тематической модели не требуется настраивать ее вручную, и хотя это избавляет нас от необходимости делать выбор, мы не можем не задаться вопросом, сохранились ли данные? Сохранились ли данные, которые мы хотим сохранить?
Не волнуйтесь, в модели темы есть более умный способ справиться с этим, не заставляя нас вручную подтверждать левое и правое слияние, о чем мы расскажем в этой статье.
1.2 Функциональный профиль
При тематическом моделировании целостность данных обеспечивается следующими двумя принципами:
- Если поле индикатора используется в компоненте, таблица, в которой находится индикатор, остается нетронутой
- Если в компоненте используется только поле размерности, то таблица, в которой находится размерность, принимает пересечение
2. Как объединение левого и правого каналов обеспечивает целостность данных
Вспомните, как объединение слева направо обеспечивает целостность данных.
В обеих таблицах есть данные, которых нет в другой, и данные, которые мы выбираем для слияния слева, слияния справа, слияния пересечения и слияния конкатенации, чтобы сохранить, дают разные результаты.

3. Как тематическая модель обеспечивает целостность данных
При объединении левой и правой частей мы получаем фиксированную таблицу данных.
В тематической модели мы хотим, чтобы сохранение данных также было динамическим. Вы можете определить, будет ли слияние пересечений или слияние слева направо, основываясь на полях, которые мы перетаскиваем в компонент.
Скачать образец технического паспорта: Data Integrity.xlsx
Создайте новую тему, загрузите данные примера и смоделируйте отношения между таблицей "Продажи" и таблицей "Региональный менеджер".

Принцип 1: Данные по перетаскиваемому показателю должны быть полными
Если поле индикатора перетаскивается в компонент, таблица, в которой находится поле индикатора, должна быть сохранена.
1) В компоненте используется индикаторное поле "Продажи" внутри "Таблицы продаж", поэтому поля "Таблицы продаж" в компоненте остаются нетронутыми.

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

Принцип 2: Задействованы только размерные поля, возьмите пересечения
Если в компоненте есть только размерные поля, то пересечением будет таблица, в которой расположены эти размерные поля.
Например, в компоненте используются только размерные поля "Таблица продаж" и "Таблица региональных менеджеров", поэтому эти две таблицы будут пересекаться.

4. Модели обеспечивают большую уверенность в целостности данных
При слиянии слева направо нам нужно вручную выбрать, что именно объединить - лево, право или перекресток.
Однако если мы не знаем таблицу данных достаточно хорошо, у нас могут возникнуть проблемы с вычислениями.
В качестве примера можно привести сценарий, с которым столкнулись две таблицы ниже:
- В списке региональных менеджеров нет слова "Ханчжоу": Ханчжоу - это головной офис, поэтому здесь нет регионального менеджера.
- В таблице продаж нет "Сучжоу": Сучжоу - недавно созданный регион, и ответственное лицо уже назначено, но данных о продажах пока нет.
Если мы не знаем особенностей таблицы, мы можем воспользоваться наиболее часто используемым левым слиянием. Когда мы используем объединенную таблицу для подсчета количества сотрудников, мы обнаруживаем, что данные отсутствуют, что приводит к неправильным итоговым значениям.
Выбор "Слияние слева", "Слияние справа" и "Слияние на перекрестках" привел к разной степени потери данных.

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