Lerne, wie du Daten in einer internen ABAP-Tabelle aggregierst und gruppierst.
Deine Klasse erhält eine interne Tabelle namens initial_numbers. Sie hat zwei Spalten: GROUP und 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.
Die Daten in dieser Tabelle bestehen aus drei Gruppen: A, B und C. In jeder Gruppe gibt es mehrere Datensätze.
| GROUP | NUMBER |
|---|---|
| A | 10 |
| B | 5 |
| A | 6 |
| C | 22 |
| A | 13 |
| C | 500 |
Deine Aufgabe ist es, eine interne Tabelle mit einem Datensatz pro Gruppe zurückzugeben. Dieser Datensatz soll die Anzahl der Datensätze in der ursprünglichen Tabelle pro Gruppe (COUNT), die Summe aller NUMBER-Werte in dieser Gruppe (SUM), den kleinsten Wert der Gruppe (MIN), den größten Wert der Gruppe (MAX) und den Durchschnitt aller Werte in dieser Gruppe (AVERAGE) enthalten.
Die erwartete Rückgabetabelle hat die folgende Definition:
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.
Es gibt viele Wege, diese Aufgabe in ABAP zu lösen. Wie effizient kannst du sie erledigen? Schaffst du es, dabei jeden Datensatz der Tabelle nur einmal zu lesen?
Melde dich bei Exercism an, um ABAP mit 54 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.