Aprende a agregar e agrupar dados numa tabela interna ABAP.
A tua classe vai receber uma tabela interna chamada initial_numbers. Tem duas colunas: GROUP e 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.
Os dados desta tabela são constituídos por três grupos: A, B e C. Existem vários registos em cada grupo.
| GROUP | NUMBER |
|---|---|
| A | 10 |
| B | 5 |
| A | 6 |
| C | 22 |
| A | 13 |
| C | 500 |
O teu trabalho é devolver uma tabela interna com um registo por grupo. Este registo deve conter o número de registos da tabela original por grupo (COUNT), a soma de todos os valores de NUMBER neste grupo (SUM), o valor mínimo do grupo (MIN), o valor máximo do grupo (MAX) e a média de todos os valores desse grupo (AVERAGE).
A tabela de retorno esperada tem a seguinte definição:
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.
Há muitas formas de realizar esta tarefa em ABAP. Com que eficiência consegues completar a tarefa? Consegues fazê-lo lendo cada registo da tabela apenas uma vez?
Inscreve-te no Exercism para aprenderes e dominares ABAP com 54 exercícios, e mentoria humana real, tudo grátis.