Aprenda a agregar e agrupar dados em uma tabela interna do ABAP.
Sua classe vai receber uma tabela interna chamada initial_numbers. Ela 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 dessa tabela são formados por três grupos: A, B e C. Há vários registros em cada grupo.
| GROUP | NUMBER |
|---|---|
| A | 10 |
| B | 5 |
| A | 6 |
| C | 22 |
| A | 13 |
| C | 500 |
Sua tarefa é retornar uma tabela interna com um registro por grupo. Esse registro deve conter o número de registros da tabela original por grupo (COUNT), a soma de todos os valores de NUMBER nesse grupo (SUM), o menor valor do grupo (MIN), o maior valor do grupo (MAX) e a média de todos os valores nesse 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 maneiras de realizar essa tarefa em ABAP. Com que eficiência você consegue completar a tarefa? Você consegue fazer isso lendo cada registro da tabela apenas uma vez?
Crie sua conta no Exercism para aprender e dominar ABAP com 54 exercícios e mentoria humana de verdade, tudo de graça.