SAP Типы и способы создания представлений вычислений HANA.

⚡ Умное резюме

Просмотр вычислений в SAP HANA — это наиболее мощная система представления информации. Она объединяет таблицы, столбцовые представления, аналитические представления и другие представления для вычислений посредством узлов объединения, проекции, агрегирования и ранжирования.

  • 🧩 Основная цель: Обрабатывает сценарии, требующие получения показателей из нескольких таблиц фактов, чего не может сделать аналитическое представление.
  • 🇧🇷 Данные Foundation: В качестве источников могут выступать таблицы, столбчатые представления, аналитические представления и другие представления для вычислений.
  • 🔧 Пять типов узлов: Функции Join, Union, Projection, Aggregation и Rank графически отображают сценарий.
  • Ограничения на количество узлов: Узел соединения принимает ровно два источника; проекция принимает один; объединение принимает много.
  • 🌐 Встроенная обработка: Поддержка конвертации клиента, языка и валюты реализована изначально.
  • ✍️ Два вкуса: Графические представления создаются в редакторе; представления на основе скриптов пишутся на SQLScript.
  • 📊 Гибкость отчетности: В представлении для расчетов может содержаться несколько показателей, или же ни одного, если используется формат списка.

SAP Просмотр расчетов HANA

Что такое представление вычислений?

SAP Представление вычислений HANA — это мощное информационное представление.

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

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

Мы можем создать Играя, Объединения, Агрегация и Прогнозы по источникам данных.

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

Характеристика SAP Представление расчета HANA, как показано ниже:

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

SAP Представление расчета HANA бывает двух типов:

  1. SAP Графическое представление вычислений HANA (автор: SAP Графический редактор HANA Studio).
  2. SAP Представления вычислений на основе сценариев HANA (создано SQL Scripts SAP HANA Studio).

Графический и скриптовый способы вычисления

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

Параметр Графический на основе скриптов
Построен с Перетаскивайте узлы в редакторе. SQLScript в блоке CE_ или SQL
Оптимизация сайта Движок может удалять неиспользуемые узлы во время выполнения. Выполняется в том виде, в котором написано, меньше возможностей для оптимизации.
читабельность Схема сценария документирует сам себя. Всё зависит от автора.
Возможности Соответствует большинству требований Обрабатывает логику, которую не может выразить ни одна комбинация узлов.
Обслуживание Любой моделист сможет это понять. Требуются навыки работы с SQLScript.
Рекомендация Выбор по умолчанию Только в тех случаях, когда графическое решение действительно невозможно.

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

SAP Графическое представление вычислений HANA

In SAP Аналитическое представление HANA, мы можем выбрать меру только из одной таблицы.

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

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

Мы собираемся создать графическое представление расчета «CA_FI_LEDGER», объединив два аналитических представления «AN_PURCHASE_ORDER» и «AN_FI_DOCUMENT».

CA_FI_LEDGER отобразит детали финансового документа, связанные с заказом на поставку.

Шаг 1) На этом этапе

  1. Перейдите в пакет (Здесь Моделирование) и щелкните правой кнопкой мыши.
  2. Выберите «Новый вариант».
  3. Выберите «Просмотр расчета».

SAP Графическое представление вычислений HANA

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

SAP Графическое представление вычислений HANA

Детали панели сценариев приведены ниже:

Палитра: В этом разделе представлены узлы, которые можно использовать в качестве источника для построения наших вычислительных представлений. У нас есть 5 различных типов узлов:

  1. Регистрация: Этот узел используется для объединения двух исходных объектов и передачи результата следующему узлу. Типы соединений могут быть внутренними, левыми внешними, правыми внешними и текстовыми соединениями. Примечание: Мы можем добавить только два исходных объекта в узел соединения.
  2. Союз: Это используется для выполнения объединения всех операций между несколькими источниками. Источником может быть n объектов.
  3. Проекция: Это используется для выбора столбцов, фильтрации данных и создания дополнительных столбцов, прежде чем мы будем использовать их в следующих узлах, таких как объединение, агрегирование и ранжирование. Примечание: Мы можем добавить только один исходный объект в узел проекции.
  4. Агрегация: Это используется для выполнения агрегирования по определенным столбцам на основе выбранных атрибутов.
  5. Ранг: Это точная замена функции РАНГ в SQL. Мы можем определить раздел и упорядочить предложения в зависимости от требований.

Шаг 2)

  1. Щелкните узел «Проекция» на палитре и перетащите его в область сценария из аналитического представления заказа на закупку. Переименовал его в «Projection_PO».
  2. Нажмите «Узел проекции» на палитре и перетащите его в область сценария для аналитического представления документа FI. Переименовал его в «Projection_FI».
  3. Перетащите аналитические представления «AN_PURCHASE_ORDER» и «AN_FI_DOCUMENT» из папки «Content» на узел «Projection_PO» и узел «Projection_FI» соответственно.
  4. Нажмите «Присоединиться к узлу» на палитре и перетащите его в область сценария.
  5. Присоедините узел Projection_PO к узлу Join_1.
  6. Присоедините узел Projection_FI к узлу Join_1.
  7. Щелкните узел «Агрегация» на палитре и перетащите его в область сценария.
  8. Присоедините узел Join_1 к узлу агрегации.

SAP Графическое представление вычислений HANA

Мы добавили два аналитических представления для создания представления вычислений.

Шаг 3) Нажмите на узел Join_1 в разделе агрегации, и вы увидите, что отображается раздел подробностей.

  1. Выберите все столбцы из узла Projection_PO для вывода.
  2. Выберите все столбцы из узла Projection_FI для вывода.
  3. Соедините узел Projection_PO с узлом Projection_FI по столбцу Projection_PO.PO_Number = Projection_FI.PO_NO.

SAP Графическое представление вычислений HANA

Шаг 4) На этом этапе

  1. Нажмите на узел «Агрегация», и в правой части панели отобразится подробная информация.
  2. Выберите столбец для вывода из соединения Join_1, отображаемого справа в окне сведений.

SAP Графическое представление вычислений HANA

Шаг 5) Теперь нажмите «Узел семантики».

SAP Графическое представление вычислений HANA

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

  1. Определите атрибут и меру.
  2. Отметьте PO_Number и COMPANY как ключ.
  3. Отметьте ACC_DOC_NO как ключ.

SAP Графическое представление вычислений HANA

Шаг 6) Подтвердите и активируйте представление расчета в верхней панели окна.

SAP Графическое представление вычислений HANA

  1. Нажмите значок «Подтвердить».
  2. Нажмите на значок активации.

Представление расчета будет активировано и отобразится в разделе «Пакет моделирования», как показано ниже:

SAP Графическое представление вычислений HANA

Выберите режим просмотра вычислений и щелкните правой кнопкой мыши -> Предварительный просмотр данных

Мы добавили два аналитических представления и выбрали показатель (TAX_AMOUNT, GROSS_AMOUNT) из обоих аналитических представлений.

Экран предварительного просмотра данных будет отображаться, как показано ниже:

SAP Графическое представление вычислений HANA

Функции CE в представлениях на основе скриптов

⚠️ Примечание к версии: Операторы плана вычислительного механизма, функции CE_, описанные ниже, устарели. SAPОни остаются здесь задокументированными, потому что большая часть существующего кода их использует, но в новых разработках следует использовать стандартный SQL, который оптимизатор теперь обрабатывает как минимум так же хорошо. Смешивание функций CE_ и SQL в одном запросе также является известной причиной некорректного планирования.

Функции CE, также известные как план механизма вычислений. Operaтор (CE Operators) являются альтернативой операторам SQL.

Функция CE бывает двух типов –

Функция доступа к источнику данных

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

  • CE_COLUMN_TABLE
  • CE_JOIN_VIEW
  • CE_OLAP_VIEW
  • CE_CALC_VIEW

реляционный OperaТор Функция

Используя реляционный Operator, пользователь может обойти SQL Процессор во время вычисления напрямую взаимодействует с вычислительным движком. Ниже приведена некоторая реляционная структура. Operaсписок функций –

  • CE_JOIN (Используется для выполнения внутреннего объединения двух источников и чтения необходимых столбцов/данных.)
  • CE_RIGHT_OUTER_JOIN (Используется для выполнения правого внешнего соединения между двумя источниками и отображения запрошенных столбцов в выходных данных.)
  • CE_LEFT_OUTER_JOIN (Используется для выполнения левого внешнего соединения между источниками и отображения запрошенных столбцов в выходных данных).
  • CE_PROJECTION (Эта функция отображает определенные столбцы из источника и применяет фильтры для ограничения данных. Она также предоставляет возможности создания псевдонимов имен столбцов.)
  • CE_CALC (Используется для вычисления дополнительных столбцов в соответствии с требованиями бизнеса. Это то же самое, что и вычисляемый столбец в графических моделях.)

Ниже приведен список SQL с функцией CE с некоторым примером-

Имя запроса SQL-запрос CE-Build в функциональности
Выберите запрос по столбцам таблицы ВЫБЕРИТЕ C, D из «COLUMN_TABLE». CE_COLUMN_TABLE("COLUMN_TABLE",[C,D])
Выберите запрос в представлении атрибутов. ВЫБЕРИТЕ C, D из «ATTRIBUTE_VIEW» CE_JOIN_VIEW("ATTRIBUTE_VIEW",[C,D])
Выберите запрос в аналитическом представлении ВЫБРАТЬ C, D, SUM(E) из группы «ANALYTIC_VIEW» по C, D CE_OLAP_VIEW("АНАЛИТИЧЕСКИЙ_ПРОСМОТР",[C,D])
Выберите запрос в представлении расчета ВЫБРАТЬ C, D, SUM(E) из группы «CALCULATION_VIEW» по C, D CE_CALC_VIEW("CALCULATION_VIEW",[C,D])
Где иметь SELECT C, D, SUM(E) From “ANALYTIC_VIEW” Where C = 'value' var1 = CE_COLUMN_TABLE(“COLUMN_TABLE”);
CE_PROJECTION(:var1,[C,D],'”C” = ”value”')

Типы представлений для вычислений: измерение, куб и куб с соединением «звезда».

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

Категория данных Содержит меры Доступно присоединение по программе Star Join Заменяет
Размеры Нет Нет Представление атрибутов
Cubo,en Да Нет Простые аналитические сценарии
Куб со звездным соединением Да Да Аналитический вид

Именно поэтому в современных проектах часто создаются только представления для вычислений. Представление категории «Измерение» выполняет работу... представление атрибутова функция Cube with Star Join выполняет работу аналитический взглядТаким образом, один тип объекта охватывает всю модель. Существующие представления атрибутов и аналитики продолжают работать, а концепции напрямую соответствуют категориям, указанным выше.

Советы по повышению производительности при просмотре результатов вычислений

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

  1. Фильтруйте как можно раньше. Примените фильтр к проекции, ближайшей к источнику. Фильтрация после агрегирования означает, что сначала был агрегирован весь набор данных, а затем большая его часть была отброшена.
  2. По возможности, перед присоединением объединяйте данные в группы. Объединение двух больших наборов данных с последующим агрегированием перемещает гораздо больше строк, чем агрегирование каждой стороны по отдельности.
  3. Выберите только необходимые столбцы. Каждый столбец, проходящий через узел, хранится в памяти на протяжении всего выполнения, а неиспользуемые столбцы блокируют процесс очистки узла.
  4. Для объединения похожих данных предпочтительнее использовать объединение (union). Объединение фактических и плановых данных образует операцию объединения (union). Выражение этого в виде объединения (join) приводит к умножению строк, после чего требуется фильтр для исправления ошибок.
  5. Обратите внимание на количество элементов в объединении. Объявление диапазона 1..1 там, где данные равны 1..N, приводит к дублированию строк и завышению всех показателей, что является наиболее распространенной причиной неверных итоговых значений.
  6. Избегайте слишком глубокого наложения представлений. Представление для вычислений, расположенное на другом представлении для вычислений, расположенном на третьем представлении, и аналитическое представление, являются допустимыми, но их сложно оптимизировать и ещё сложнее отлаживать. Обычно достаточно двух уровней.

Используйте инструменты анализа производительности в редакторе, вместо того чтобы гадать. Планируйте.Viz Это показывает, какой узел занял больше времени, и часто ответом является фильтр, установленный на один узел позже. Более широкий подход описан в SAP Моделирование HANA учебные пособия и процедурные альтернативы в SQL-скрипт.

Часто задаваемые вопросы (FAQ)

Операция объединения — это бинарная операция, поэтому узел её отражает. Объединение трёх источников означает соединение двух узлов объединения, что также делает порядок вычисления явным.

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

Да. Ознакомление с планом.Viz В результате выполнения ИИ определяет узел, потребляющий больше всего времени, и обычно рекомендует переместить фильтр на более ранний этап или выполнить агрегирование перед объединением.

Да. Каждый оператор CE_ имеет прямой SQL-эквивалент, поэтому ИИ может перевести блок и выделить те немногие случаи, когда поведение отличается. Сравните результаты, прежде чем заменять производственный код.

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

Подведем итог этой публикации следующим образом: