SAP Изглед за изчисление на HANA: Видове и как да се създаде
⚡ Умно обобщение
Изглед на изчислението в SAP HANA е най-мощният информационен изглед. Той комбинира таблици, колонни изгледи, аналитични изгледи и други изгледи за изчисление чрез възли за свързване, обединение, проекция, агрегиране и рангиране.

Какво е Изглед на изчисление?
SAP Изгледът HANA Calculation е мощен информационен изглед.
SAP Мярката за аналитичен изглед на HANA може да бъде избрана само от една таблица с факти. Когато има нужда от таблица с повече факти в информационния изглед, тогава се появява изгледът за изчисление. Изгледът за изчисление поддържа сложно изчисление.
Основата на данните на изгледа на изчисление може да включва таблици, изгледи на колони, аналитични изгледи и изгледи на изчисления.
Ние можем да творим Се присъедини към, съюзи, агрегиране и прогнози за източници на данни.
Изгледът за изчисление може да съдържа множество мерки и може да се използва за многоизмерно отчитане или без мярка, която се използва при отчитане тип списък.
Характерно за SAP Изчисление на HANA Вижте по-долу –
- Поддръжка на комплексно изчисление.
- Поддържа OLTP и OLAP модели.
- Поддръжка Работа с клиенти, език, конвертиране на валута.
- Съюз за поддръжка, проекция, агрегиране, ранг и др.
SAP HANA Calculation View са два вида –
- SAP Графичен изглед за изчисление на HANA (Създаден от SAP HANA Studio Графичен редактор).
- SAP HANA базирани на скрипт изчисления Изгледи (Създадени от SQL скриптове от SAP Студио ХАНА).
Графичен спрямо скриптов изглед за изчисление
Двата варианта създават един и същ вид обект, но са изградени и поддържани по много различен начин и изборът е труден за отмяна, след като изгледът е в процес на производство.
| Параметър | графически | Базиран на скрипт |
|---|---|---|
| Изграден с | Плъзгане и пускане на възли в редактора | 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 на брой обекти.
- проектиране: Това се използва за избиране на колони, филтриране на данните и създаване на допълнителни колони, преди да го използваме в следващите възли като обединение, агрегиране и ранг. Забележка: Можем да добавим само един обект-източник в проекционен възел.
- агрегиране: Това се използва за извършване на агрегиране на конкретни колони въз основа на избраните атрибути.
- Rank: Това е точният заместител на функцията RANK в SQL. Можем да дефинираме разделянето и реда по клауза въз основа на изискването.
Стъпка 2)
- Щракнете върху възела на проекцията от палитрата и плъзнете и пуснете в областта на сценария от аналитичния изглед на поръчката за покупка. Преименува го на „Projection_PO“.
- Щракнете върху възела на проекцията от палитрата и плъзнете и пуснете в областта на сценария за аналитичен изглед на документ на FI. Преименува го на „Projection_FI“.
- Плъзнете и пуснете аналитичния изглед „AN_PURCHASE_ORDER“ и „AN_FI_DOCUMENT“ от папката „Съдържание“ съответно във възлите „Projection_PO“ и „Projection_FI“.
- Щракнете върху Join Node от Palette и плъзнете и пуснете в областта на сценария.
- Присъединете възел Projection_PO към възел Join_1.
- Присъединете възел Projection_FI към възел Join_1.
- Щракнете върху Възел за агрегиране от палитрата и плъзнете и пуснете в областта на сценария.
- Присъединете Join_1 възел към възел Aggregation.
Добавихме два аналитични изгледа за създаване на изглед на изчисление.
Стъпка 3) Щракнете върху Join_1 възел под агрегиране и можете да видите, че се показва секцията с подробности.
- Изберете всички колони от Projection_PO Node за изход.
- Изберете всички колони от възела Projection_FI за изход.
- Свържете възела Projection_PO с възела Projection_FI в колоната Projection_PO.PO_Number = Projection_FI.PO_NO.
Стъпка 4) В този етап,
- Щракнете върху възела за агрегиране и подробностите ще се покажат от дясната страна на панела.
- Изберете Колона за изход от Join_1, показан от дясната страна в прозореца с подробности.
Стъпка 5) Сега щракнете върху Semantics Node.
Ще се покаже екранът с подробности, както е показано по-долу. Дефинирайте атрибут и тип мярка за колоната и също така маркирайте ключ за този изход.
- Дефинирайте атрибут и мярка.
- Маркирайте 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функция tor
Чрез използване на релационни Operator, потребителят може да заобиколи SQL процесор по време на оценката и комуникира директно с изчислителния механизъм. По-долу са дадени някои релационни Operator Списък с функции –
- CE_JOIN (Използва се за извършване на вътрешно съединение между два източника и четене на необходимите колони/данни.)
- CE_RIGHT_OUTER_JOIN (Използва се за извършване на дясно външно съединение между двата източника и показване на заявените колони на изхода.)
- CE_LEFT_OUTER_JOIN (Използва се за извършване на ляво външно съединение между източниците и показване на заявените колони на изхода).
- CE_PROJECTION (Тази функция показва конкретни колони от източника и прилага филтри за ограничаване на данните. Тя предоставя и функции за псевдоними на имена на колони.)
- CE_CALC (Използва се за изчисляване на допълнителни колони въз основа на бизнес изискванията. Това е същото като изчисляемата колона в графичните модели.)
По-долу е даден списък с SQL с функция CE с някои примери
| Име на заявката | SQL заявка | CE-вградена функция |
|---|---|---|
| Заявка за избор на таблица с колони | ИЗБЕРЕТЕ 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” Групирайте по C,D | CE_CALC_VIEW(“ИЗЧИСЛЕНИЕ_ИЗГЛЕД”,[C,D]) |
| Къде има | SELECT C, D, SUM(E) от „ANALYTIC_VIEW“, където C = „стойност“ | var1 = CE_COLUMN_TABLE(„COLUMN_TABLE“); CE_PROJECTION(:var1,[C,D],'"C" = ”стойност"') |
Видове изгледи за изчисление: Размер, Куб и Куб със звездообразно съединение
АКТУАЛНО SAP Изданията на HANA изискват категория данни, когато се създава изглед за изчисление, а изборът определя какво може да прави изгледът и как инструментите за отчитане го третират.
| Категория данни | Съдържа мерки | Налично е звездно присъединяване | Заменя |
|---|---|---|---|
| Измерение | Не | Не | Изглед на атрибути |
| куб | Да | Не | Прости аналитични сценарии |
| Куб със звездно съединение | Да | Да | Аналитичен изглед |
Ето защо текущите проекти често изграждат само изгледи за изчисление. Изгледът от категорията Размер върши работата на изглед на атрибутии Cube със Star Join върши работата на аналитичен поглед, така че един тип обект покрива целия модел. Съществуващите атрибутни и аналитични изгледи продължават да работят, а концепциите се съпоставят директно с категориите по-горе.
Съвети за производителност на изчисленията
Изчислителният изглед е достатъчно гъвкав, за да бъде изграден лошо, а един и същ сценарий може да се изпълни за секунда или минута, в зависимост от това как са подредени възлите. Шест правила покриват по-голямата част от разликата.
- Филтрирайте възможно най-рано. Поставете филтър в проекцията, най-близка до източника. Филтрирането след агрегиране означава, че първо целият набор от данни е агрегиран, а след това по-голямата част от него е отхвърлена.
- Агрегирайте преди да се присъедините, където е възможно. Съединяването на два големи набора от детайли и последващото им агрегиране премества много повече редове, отколкото агрегирането първо от всяка страна.
- Изберете само колоните, от които се нуждаете. Всяка колона, пренасяна през възел, се съхранява в паметта за цялото изпълнение, а неизползваните колони блокират отрязването на възли.
- Предпочитайте обединение пред присъединяване за комбиниране на подобни данни. Натрупването на действителни стойности и план е обединение. Изразяването му като съединение умножава редове и след това се нуждае от филтър, за да се отстранят щетите.
- Следете кардиналността на съединението. Декларирането на 1..1, където данните са 1..N, дублира редове и завишава всяка мярка, което е най-честата причина за грешни суми.
- Избягвайте прекалено дълбокото натрупване на изгледи. Изчислителният изглед в аналитичен изглед е легален, но е труден за оптимизиране и по-труден за отстраняване на грешки. Две нива обикновено са достатъчни.
Използвайте инструментите за анализ на производителността в редактора, вместо да гадаете. ПланирайтеViz показва кой възел е изразходвал времето, а отговорът често е филтър, поставен с един възел твърде късно. По-широкият подход е описан в SAP HANA моделиране уроци и процедурни алтернативи в SQL скрипт.








