Tanuld meg, hogyan lehet adatokat aggregálni és csoportosítani egy ABAP belső táblában.
Az osztályod kap egy initial_numbers nevű belső táblát. Két oszlopa van: GROUP és 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 táblában lévő adatok három csoportot alkotnak: A, B és C. Mindegyik csoportban több rekord található.
| GROUP | NUMBER |
|---|---|
| A | 10 |
| B | 5 |
| A | 6 |
| C | 22 |
| A | 13 |
| C | 500 |
A feladatod, hogy visszaadj egy belső táblát, amelyben csoportonként egy rekord szerepel. Ennek a rekordnak tartalmaznia kell, hogy az eredeti táblában hány rekord tartozik az adott csoporthoz (COUNT), a csoport összes NUMBER értékének összegét (SUM), a csoport legkisebb értékét (MIN), a csoport legnagyobb értékét (MAX) és a csoport összes értékének átlagát (AVERAGE).
A várt visszatérési tábla definíciója a következő:
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-ban sokféleképpen meg lehet oldani ezt a feladatot. Mennyire tudod hatékonyan elvégezni? Meg tudod oldani úgy, hogy a tábla minden rekordját csak egyszer olvasod el?
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) ABAP nyelvet 54 feladat segítségével, valódi emberi mentorálással, mindez ingyen.