SAP Подання обчислень HANA: типи та як створити

⚡ Розумний підсумок

Перегляд розрахунку в SAP HANA — це найпотужніший інформаційний вигляд. Він поєднує таблиці, стовпці, аналітичні вигляди та інші обчислювальні вигляди за допомогою вузлів об'єднання, об'єднання, проекції, агрегації та ранжування.

  • 🧩 Основна мета: Обробляє сценарії, що потребують вимірювань з кількох таблиць фактів, що недоступно в аналітичному поданні.
  • 🗂️ дані Foundation: Таблиці, стовпцеві подання, аналітичні подання та інші подання обчислень можуть бути джерелами.
  • 🔧 П'ять типів вузлів: Об'єднання, об'єднання, проекція, агрегація та ранг побудують сценарій графічно.
  • 🇧🇷 Обмеження вузлів: Вузол об'єднання приймає рівно два джерела; проекція приймає одне; об'єднання приймає багато.
  • 🌐 Вбудована обробка: Конвертація клієнта, мови та валюти підтримується вбудовано.
  • ✍️ Два смаки: Графічні представлення створюються в редакторі; представлення на основі скриптів пишуться на SQLScript.
  • 📊 Гнучкість звітності: Представлення обчислення може містити кілька показників або взагалі жодного для звітності у стилі списку.

SAP Перегляд розрахунків HANA

Що таке перегляд розрахунків?

SAP Обчислення HANA — це потужне інформаційне представлення.

SAP Показник аналітичного перегляду HANA можна вибрати лише з однієї таблиці фактів. Якщо в інформаційному поданні потрібна додаткова таблиця фактів, з’являється зображення обчислень. Перегляд розрахунків підтримує складні розрахунки.

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

Ми можемо творити з'єднання, об’єднання, агрегація та прогнози щодо джерел даних.

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

Характерно для SAP Розрахунок HANA Перегляньте, як показано нижче –

  • Підтримка комплексного розрахунку.
  • Підтримка моделей OLTP і OLAP.
  • Підтримка обслуговування клієнтів, мова, конвертація валют.
  • Об’єднання підтримки, проекція, агрегація, ранг тощо.

SAP Перегляд розрахунків HANA буває двох типів –

  1. SAP Графічний режим обчислення HANA (Створено SAP Графічний редактор HANA Studio).
  2. SAP Обчислення на основі сценарію HANA. Перегляди (Створено сценаріями SQL SAP Студія HANA).

Графічний та сценарний вигляд обчислень

Ці два варіанти створюють однаковий тип об'єкта, але будуються та обслуговуються дуже по-різному, і вибір важко скасувати, коли представлення вже у виробництві.

Параметр Графічний На основі сценаріїв
Побудований с Перетягування вузлів у редакторі 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. Проекція: Це використовується для вибору стовпців, фільтрації даних і створення додаткових стовпців перед використанням у наступних вузлах, таких як об’єднання, агрегація та ранг. Примітка: Ми можемо додати лише один вихідний об’єкт у вузол Projection.
  4. Агрегування: Це використовується для агрегування певних стовпців на основі вибраних атрибутів.
  5. Рейтинг: Це точна заміна функції RANK у 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 до вузла Aggregation.

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) Тепер натисніть Semantics Node.

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Функція tor

За допомогою Relational Operator, користувач може обійти SQL процесор під час оцінювання та безпосередньо взаємодіяти з обчислювальним механізмом. Нижче наведено деякі реляційні Operator Список функцій –

  • CE_JOIN (Використовується для виконання внутрішнього об'єднання між двома джерелами та зчитування необхідних стовпців/даних.)
  • CE_RIGHT_OUTER_JOIN (Використовується для виконання правого зовнішнього об'єднання між двома джерелами та відображення запитуваних стовпців на виході.)
  • CE_LEFT_OUTER_JOIN (Використовується для виконання лівого зовнішнього об'єднання між джерелами та відображення запитуваних стовпців на виході).
  • CE_PROJECTION (Ця функція відображає певні стовпці з джерела та застосовує фільтри для обмеження даних. Вона також надає функції псевдонімів назв стовпців.)
  • CE_CALC (Використовується для обчислення додаткових стовпців на основі бізнес-вимог. Це те саме, що й обчислюваний стовпець у графічних моделях.)

Нижче наведено список SQL з функцією CE з деякими прикладами-

Назва запиту SQL Query Функція CE-Build in
Вибірковий запит у таблиці стовпців ВИБЕРІТЬ C, D із “COLUMN_TABLE”. CE_COLUMN_TABLE(“COLUMN_TABLE”,[C,D])
Вибрати запит у поданні атрибутів ВИБРАТИ C, D з “ATTRIBUTE_VIEW” CE_JOIN_VIEW(“ПЕРЕГЛЯД_АТРИБУТУ”,[C,D])
Виберіть Запит в аналітичному поданні ВИБРАТИ C, D, SUM(E) з «ANALYTIC_VIEW» Групувати за C, D CE_OLAP_VIEW("ANALYTIC_VIEW",[C,D])
Виберіть Запит у поданні обчислень ВИБЕРІТЬ C, D, SUM(E) з “CALCULATION_VIEW” Group By C,D CE_CALC_VIEW("ВИГЛЯД_ОБЧИСЛЕННЯ",[C,D])
Де Маючи SELECT C, D, SUM(E) З “ANALYTIC_VIEW”, де C = 'значення' змінна1 = CE_СТОЛОНЦЯ_ТАБЛИЦЯ(“СТОЛОНЦЯ_ТАБЛИЦЯ”);
CE_PROJECTION(:var1,[C,D],'”C” = ”значення”')

Типи переглядів розрахунків: розмірність, куб та куб із зіркоподібним з'єднанням

Поточний SAP У випусках HANA запитується категорія даних під час створення подання обчислення, і цей вибір визначає, що може робити подання та як його обробляють інструменти звітності.

Категорія даних Містить заходи Зіркове приєднання доступне Замінює
Розмір Немає Немає Перегляд атрибутів
Куб Так Немає Прості аналітичні сценарії
Куб із зірковим з'єднанням Так Так Аналітичний вигляд

Ось чому в поточних проектах часто створюються лише розрахункові представлення. Представлення категорії «Вимір» виконує роботу перегляд атрибутіва Cube із зірковим з'єднанням виконує роботу аналітичний погляд, таким чином один тип об'єкта охоплює всю модель. Існуючі атрибутивні та аналітичні подання продовжують працювати, а концепції безпосередньо пов'язані з категоріями вище.

Поради щодо продуктивності перегляду розрахунків

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

  1. Фільтруйте якомога раніше. Встановіть фільтр у проєкції, найближчій до джерела. Фільтрація після агрегації означає, що спочатку агрегується весь набір даних, а потім більша його частина відкидається.
  2. По можливості об’єднуйте дані перед приєднанням. Об'єднання двох великих наборів деталей та подальше агрегування переміщує набагато більше рядків, ніж агрегування кожної сторони спочатку.
  3. Виберіть лише потрібні стовпці. Кожен стовпець, що передається через вузол, зберігається в пам'яті протягом усього виконання, а невикористані стовпці блокують обрізання вузлів.
  4. Для поєднання подібних даних краще використовувати об'єднання, ніж з'єднання. Об'єднання фактичних значень та планів – це об'єднання. Вираження його як об'єднання множить рядки, а потім потребує фільтра, щоб усунути пошкодження.
  5. Зверніть увагу на кардинальність об'єднання. Оголошення 1..1, де дані дорівнюють 1..N, дублює рядки та завищує кожен показник, що є найпоширенішою причиною неправильних підсумків.
  6. Уникайте занадто глибокого накладання переглядів. Вид розрахунку в аналітичному вигляді є допустимим, але його важко оптимізувати та важче налагоджувати. Двох рівнів зазвичай достатньо.

Використовуйте інструменти аналізу продуктивності в редакторі, а не здогадуйтеся. ПлануйтеViz показує, який вузол спожив час, і відповідь часто є фільтром, розміщеним на один вузол занадто пізно. Ширший підхід описано в SAP Моделювання HANA навчальні та процедурні альтернативи в Сценарій SQL.

Поширені запитання

Об'єднання — це бінарна операція, тому вузол її відображає. Об'єднання трьох джерел означає з'єднання двох вузлів об'єднання, що також робить порядок обчислення явним.

Ні. Оператори плану обчислювальної системи застаріли. Існуючий код продовжує працювати, але стандартний SQL є рекомендованим підходом і зазвичай створює кращий план виконання.

Так. Читання плануViz На виході ШІ визначає вузол, який споживає час, і зазвичай рекомендує перемістити фільтр раніше або виконати агрегацію перед об'єднанням.

Так. Кожен оператор CE_ має прямий еквівалент у SQL, тому ШІ може перекласти блок і виділити кілька випадків, коли поведінка відрізняється. Порівняйте результати перед заміною продакшн-коду.

Так. Подання категорії даних «Вимір» містить лише атрибути та використовується для звітності у стилі списку або як джерело основних даних повторного використання для інших подання.

Підсумуйте цей пост за допомогою: