В этой статье речь пойдет о существующих в SAP HANA представлениях. Для понимания того, что это такое в качестве аналогии предлагаю использовать термин «ракурс» из «классической» системы SAP R/3.

Оригинал статьи:

View the HANA Views from different angles

Представления.

Представления являются неотъемлемой частью моделирования данных в HANA. Но что означает «представление» для человека, далекого от IT?

На языке реляционных баз данных «представление» — это виртуальная таблица, то есть таблица, которая на самом деле физически не хранит какие-либо данные, а показывает данные, полученные из одной или нескольких других таблиц.

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

Какие типы представлений существуют в SAP HANA?

1. Представления атрибутов

2. Аналитические представления

3. Представления вычислений

Прежде чем мы перейдем к описанию этих типов представлений, позвольте мне задать простой вопрос. Зачем нам эти три типа представлений? Пофантазируем немного..🙂

Знаете ли вы, с какой стороны (США или Канада) Ниагарский водопад выглядит лучше? «Какое отношение Ниагарский водопад имеет к HANA Views» — скажите Вы..😛

Почему некоторые люди посещают Ниагару с американской стороны, а другие прилагают усилия, чтобы отправиться в Канаду, а третьи и вовсе посещают его с обеих сторон?

Ответ — «Вид». Да, посмотрите на него под разными углами. 

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

Но, если вы хотите дешевую парковку и возможность подобраться близко к водопадам (включая Американский и Свадебный водопады, а также пещеру Ветров), то американская сторона для вас.

Если вы хотите потратить еще немного денег, то вы можете быть немного более предприимчивыми, взять лодку «Дева тумана» и получить более подробный вид падения, который вы не получите, просто стоя возле края.

«Данные» — это то же самое, что Ниагарский водопад. Но вы смотрите на него и оцениваете в соответствии с вашими потребностями, доступностью, выбором и предпочтением.

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

Читайте также: SAP HANA с космического уровня

Чтож, после нашей экскурсии в Ниагару вернемся к работе. 🙂

Представление атрибутов:

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

Пожалуйста, не путайте числовые символы с цифрами, такими как количество, сумма, валюта. Материал/Продавец/Номер клиента может быть «1000101», но он по-прежнему является символом/текстом (NUMC). Таким образом, вы можете использовать их в представлении атрибутов. Можно также просмотреть представление атрибутов для просмотра транзакционных данных, но нет смысла иметь представление атрибутов не поддающихся количественной оценке транзакционных полей.

Числа не предназначены для представления атрибутов.

1

Аналитические представления:

Если вы хотите играть с числами, количествами и валютами, тогда аналитическое представление для вас.

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

Но только цифры не имеют смысла. Если розничный магазин говорит, что что-то было продано за 143.00$, это не дает нам никакой полезной информации. Обычно говорят что материал id ‘PV10001’ стоимостью 143.00 $, называющийся ‘трубы ПВХ’ были проданы клиенту id ‘900499’ по имени ‘SAPYard Groups’.

В приведенном выше гипотетическом примере 143,00 $ является мерой, или фактом, или транзакционными данными, тогда как материальный идентификатор «PV10001», название материала «трубы ПВХ», идентификатор клиента «900499» и имя клиента «SAPYard Groups» — это размеры, характеристики или атрибуты.

Таблица фактов + Представление атрибутов и/или другая Таблица = Аналитическое представление

2

Опять же, представление атрибутов может содержать идентификатор материала и имя. Аналогичным образом, идентификатор и имя поставщика могут быть другим видом атрибутов.

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

Аналитические представления высоко оптимизированы для агрегирования большого количества данных.

Представления вычислений:

Если вы готовы пройти лишнюю милю и выполнить некоторые сложные и/или простые вычисления, то представление вычислений это ваша область для игр. Скажем, вы хотите рассчитать стоимость чего-либо (4500,00 $) после предоставления вам 10,00-процентной скидки. Тогда вам нужно выполнить некоторые математические расчеты (4500 — (10/100 * 4500)), чтобы получить цифру 4050,00 $.

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

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

3

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

Проще говоря, представление вычислений — это представление с SQL скриптом внутри (с логикой вычисления). Оно имеет редактор основанный на графике и скриптах.

Надеюсь, приведенными выше пояснения, помогут вам понять, почему HANA имеет эти три типа представлений.

Читайте также: SAP HANA. Взгляд изнутри

SAP придумал представления очень умно, используя их буквальное значение.

Атрибут = Характеристика/Измерение/Признак => Основные Данные

(Материал/клиент/поставщик и т. д. Изменяется редко)

Аналитика = Факт/Мера/Количество/Числа => Данные транзакции

(Заказы на продажу/Заказы на поставку/Количество поставки/Учетные документы и т. д. Создаются и изменяются каждый день. Набор данных растет быстро)

Вычисление = Математика/Числа => Пользовательские вычисляемые данные

(Например, найти чистую цену после вычета налога)

С вышеуказанной информацией у вас могут остаться некоторые сомнения и вопросы, как показано ниже.

В: Почему мы должны связывать представление атрибутов с транзакционной таблицей (фактом) для создания аналитического представления? В чем преимущество? Почему бы просто не присоединить таблицы непосредственно к таблице транзакций?

О: Да, технически, мы можем присоединять таблицы непосредственно к таблицам фактов. Но создание представления атрибутов имеет больше преимуществ и HANA предлагает моделировать объекты как представления атрибутов вместо таблиц.

Причины:

i) Повторное использование: Представления атрибутов являются многоразовыми строительными блоками и будут полезны в будущих разработках.

ii) Техническое обслуживание: Любое изменение размера или характеристики поля в представлении Атрибутов будет проходить вниз ко всем разрабатываемым объектам и моделям. Нам не нужно изменять/обновлять каждую разработку.

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

iv) Анализ: Для поиска таблиц HANA не использует поиск «где используется». Но мы можем использовать этот поиск для объектов моделирования HANA. Таким образом, легче найти представления, а затем по ним найти таблицы, когда мы хотим сделать какой-то анализ или что-то расследовать.

В: Может ли быть вычисляемое поле/столбец в аналитическом представлении или представлении атрибута?

О: Да, может. Но любой атрибут/аналитическое представление, содержащее вычисляемый атрибут, автоматически станет представлением вычисления.

В: Если представления атрибутов не хранят данные, то как тогда отображать вывод?

О: Когда представления атрибутов вызываются для вывода, механизм Join Engine заботится об обработке данных и предоставлении выходных данных.

В: Какой движок отвечает за аналитический просмотр?

О: Процесс OLAP (аналитическая обработка данных в реальном времени) обрабатывает аналитическое представление.

В: Как работает представление вычислений?

О: После того, как представление вычисления успешно сгенерировано, в схеме _SYS_BIC создается представление столбцов. Это представление столбцов доступно для инструментов отчетности HANA.

В:  Доступно ли представление вычислений для отчетности?

О: Нет. Но представление вычислений может быть доступно для отчетности, если включить функцию «Многомерная отчетность» в разделе «Семантика». После ее включения выполнение происходит с использованием функций CE (Calculation Engine) в сервере индексирования на уровне базы данных.

В: Если сравнивать представление вычислений и аналитическое представление, какое из них имеет лучшую производительность?

О: Аналитическое представление. Представление вычислений выполняется в CE (Calculation Engine), а Аналитическое — в OLAP. Поэтому представление вычислений выполняется не так быстро, как аналитическое представление.

Пожалуйста, обратите внимание:

Аналитические представления с вычисленными атрибутами и представления вычислений запускаются в Calculation Engine (движок вичислений).

Аналитические представления (без выведенных столбцов или вычисляемых столбцов) используют OLAP Engine

В: Аналитическое представление  это термин из SAP BW?

О: Представление атрибутов похоже на BW Dimension, который можно использовать повторно во всей системе, а не только в одной модели.

Инфокубы или информационные наборы в SAP BW являются ближайшими родственниками аналитического представления.

В: Аналитическое представление может иметь представление атрибутов. Так какой механизм будет запущен: Join Engine или OLAP?

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

Известная схема движка, которая завершит этот пост.

4

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

Спасибо вам большое за ваше время!!

 

Серии статей о SAP HANA:

1. SAP HANA с космического уровня

2. SAP HANA. Взгляд изнутри

3. HANA представления с разных углов

Перечень будет обновляться…

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.