Треки
/
ABAP
ABAP
/
Вправи
/
Агрегація ITAB
Агрегація ITAB

Агрегація ITAB

Легка

Вказівки

Навчімося агрегувати та групувати дані у внутрішній таблиці ABAP.

Наш клас отримає внутрішню таблицю з назвою initial_numbers. У ній два стовпці: GROUP і NUMBER.

TYPES: BEGIN OF initial_numbers_type,
        group  TYPE group,
        number TYPE i,
       END OF initial_numbers_type,
       initial_numbers TYPE STANDARD TABLE OF initial_numbers_type WITH EMPTY KEY.

Дані в цій таблиці складаються з трьох груп: A, B і C. У кожній групі є кілька записів.

GROUP NUMBER
A 10
B 5
A 6
C 22
A 13
C 500

Наше завдання - повернути внутрішню таблицю з одним записом на кожну групу. Цей запис має містити кількість записів у початковій таблиці для кожної групи (COUNT), суму всіх значень NUMBER у цій групі (SUM), мінімальне значення в групі (MIN), максимальне значення в групі (MAX) і середнє всіх значень у цій групі (AVERAGE).

Очікувана таблиця, яку треба повернути, має таке визначення:

TYPES: BEGIN OF aggregated_data_type,
        group   TYPE group,
        count   TYPE i,
        sum     TYPE i,
        min     TYPE i,
        max     TYPE i,
        average TYPE f,
       END OF aggregated_data_type,
       aggregated_data TYPE STANDARD TABLE OF aggregated_data_Type WITH EMPTY KEY.

Бонус

У ABAP є багато способів виконати це завдання. Наскільки ефективно ми можемо його виконати? Чи вдасться нам зробити це, прочитавши кожен запис у таблиці лише один раз?


Джерело

ABAP Internal TablesПосилання відкривається в новому вікні або вкладці
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
ABAP Exercism

Час розпочати Агрегація ITAB?

Зареєструйтеся на Exercism, щоб вивчати й опановувати ABAP, а також 54 вправи та справжнє наставництво від людей, і все це безкоштовно.