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

Что такое представление вычислений?
SAP Представление вычислений HANA — это мощное информационное представление.
SAP Аналитическое представление HANA может быть выбрано только из одной таблицы фактов. Когда в информационном представлении требуется больше таблиц фактов, то в игру вступает представление расчета. Представление расчета поддерживает сложные вычисления.
Основание данных представления расчета может включать таблицы, представления столбцов, аналитические представления и представления вычислений.
Мы можем создать Играя, Объединения, Агрегация и Прогнозы по источникам данных.
Представление расчета может содержать несколько показателей и может использоваться для многомерных отчетов, а также не использовать показатель, который используется в отчетах типа списка.
Характеристика SAP Представление расчета HANA, как показано ниже:
- Поддержка сложных расчетов.
- Поддержка моделей OLTP и OLAP.
- Поддержка обработки клиентов, языка, конвертации валюты.
- Поддержка союза, проекции, агрегации, ранга и т. д.
SAP Представление расчета HANA бывает двух типов:
- SAP Графическое представление вычислений HANA (автор: SAP Графический редактор HANA Studio).
- 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) На этом этапе
- Перейдите в пакет (Здесь Моделирование) и щелкните правой кнопкой мыши.
- Выберите «Новый вариант».
- Выберите «Просмотр расчета».
Появится редактор представления вычислений, в котором панель сценариев будет отображаться, как показано ниже:
Детали панели сценариев приведены ниже:
Палитра: В этом разделе представлены узлы, которые можно использовать в качестве источника для построения наших вычислительных представлений. У нас есть 5 различных типов узлов:
- Регистрация: Этот узел используется для объединения двух исходных объектов и передачи результата следующему узлу. Типы соединений могут быть внутренними, левыми внешними, правыми внешними и текстовыми соединениями. Примечание: Мы можем добавить только два исходных объекта в узел соединения.
- Союз: Это используется для выполнения объединения всех операций между несколькими источниками. Источником может быть n объектов.
- Проекция: Это используется для выбора столбцов, фильтрации данных и создания дополнительных столбцов, прежде чем мы будем использовать их в следующих узлах, таких как объединение, агрегирование и ранжирование. Примечание: Мы можем добавить только один исходный объект в узел проекции.
- Агрегация: Это используется для выполнения агрегирования по определенным столбцам на основе выбранных атрибутов.
- Ранг: Это точная замена функции РАНГ в SQL. Мы можем определить раздел и упорядочить предложения в зависимости от требований.
Шаг 2)
- Щелкните узел «Проекция» на палитре и перетащите его в область сценария из аналитического представления заказа на закупку. Переименовал его в «Projection_PO».
- Нажмите «Узел проекции» на палитре и перетащите его в область сценария для аналитического представления документа FI. Переименовал его в «Projection_FI».
- Перетащите аналитические представления «AN_PURCHASE_ORDER» и «AN_FI_DOCUMENT» из папки «Content» на узел «Projection_PO» и узел «Projection_FI» соответственно.
- Нажмите «Присоединиться к узлу» на палитре и перетащите его в область сценария.
- Присоедините узел Projection_PO к узлу Join_1.
- Присоедините узел Projection_FI к узлу Join_1.
- Щелкните узел «Агрегация» на палитре и перетащите его в область сценария.
- Присоедините узел Join_1 к узлу агрегации.
Мы добавили два аналитических представления для создания представления вычислений.
Шаг 3) Нажмите на узел Join_1 в разделе агрегации, и вы увидите, что отображается раздел подробностей.
- Выберите все столбцы из узла Projection_PO для вывода.
- Выберите все столбцы из узла Projection_FI для вывода.
- Соедините узел Projection_PO с узлом Projection_FI по столбцу Projection_PO.PO_Number = Projection_FI.PO_NO.
Шаг 4) На этом этапе
- Нажмите на узел «Агрегация», и в правой части панели отобразится подробная информация.
- Выберите столбец для вывода из соединения Join_1, отображаемого справа в окне сведений.
Шаг 5) Теперь нажмите «Узел семантики».
Подробный экран будет отображаться, как показано ниже. Определите атрибут и тип меры для столбца, а также отметьте ключ для этого вывода.
- Определите атрибут и меру.
- Отметьте PO_Number и COMPANY как ключ.
- Отметьте ACC_DOC_NO как ключ.
Шаг 6) Подтвердите и активируйте представление расчета в верхней панели окна.
- Нажмите значок «Подтвердить».
- Нажмите на значок активации.
Представление расчета будет активировано и отобразится в разделе «Пакет моделирования», как показано ниже:
Выберите режим просмотра вычислений и щелкните правой кнопкой мыши -> Предварительный просмотр данных
Мы добавили два аналитических представления и выбрали показатель (TAX_AMOUNT, GROSS_AMOUNT) из обоих аналитических представлений.
Экран предварительного просмотра данных будет отображаться, как показано ниже:
Функции 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 выполняет работу аналитический взглядТаким образом, один тип объекта охватывает всю модель. Существующие представления атрибутов и аналитики продолжают работать, а концепции напрямую соответствуют категориям, указанным выше.
Советы по повышению производительности при просмотре результатов вычислений
Представление для вычислений достаточно гибкое, чтобы его можно было построить неправильно, и один и тот же сценарий может выполниться за секунду или минуту в зависимости от расположения узлов. Шесть правил охватывают большую часть этих различий.
- Фильтруйте как можно раньше. Примените фильтр к проекции, ближайшей к источнику. Фильтрация после агрегирования означает, что сначала был агрегирован весь набор данных, а затем большая его часть была отброшена.
- По возможности, перед присоединением объединяйте данные в группы. Объединение двух больших наборов данных с последующим агрегированием перемещает гораздо больше строк, чем агрегирование каждой стороны по отдельности.
- Выберите только необходимые столбцы. Каждый столбец, проходящий через узел, хранится в памяти на протяжении всего выполнения, а неиспользуемые столбцы блокируют процесс очистки узла.
- Для объединения похожих данных предпочтительнее использовать объединение (union). Объединение фактических и плановых данных образует операцию объединения (union). Выражение этого в виде объединения (join) приводит к умножению строк, после чего требуется фильтр для исправления ошибок.
- Обратите внимание на количество элементов в объединении. Объявление диапазона 1..1 там, где данные равны 1..N, приводит к дублированию строк и завышению всех показателей, что является наиболее распространенной причиной неверных итоговых значений.
- Избегайте слишком глубокого наложения представлений. Представление для вычислений, расположенное на другом представлении для вычислений, расположенном на третьем представлении, и аналитическое представление, являются допустимыми, но их сложно оптимизировать и ещё сложнее отлаживать. Обычно достаточно двух уровней.
Используйте инструменты анализа производительности в редакторе, вместо того чтобы гадать. Планируйте.Viz Это показывает, какой узел занял больше времени, и часто ответом является фильтр, установленный на один узел позже. Более широкий подход описан в SAP Моделирование HANA учебные пособия и процедурные альтернативы в SQL-скрипт.








