Criar agregações

Aplique funções de agregação a grupos de valores em uma ou mais colunas para gerar dados agregados. Dependendo de como você configura a transformação "Group By", a saída dessas transformações é uma nova tabela ou uma ou mais colunas no conjunto de dados atual.

Limitações

  • A transformação "Group By" não aceita expressões aninhadas. Não insira várias expressões aninhadas no valor calculado.
  • A transformação "Group By" só aceita funções de agregação. Para saber mais informações, consulte Funções de agregação.

Dados de exemplo

A tabela a seguir contém dados de pontuação de teste de um grupo de alunos para quatro testes separados, distribuídos em dois dias:

StudentTestDateTestNumTestScore
Anna08/09/2018184
Ben08/09/2018171
Caleb08/09/2018176
Danielle08/09/2018187
Anna08/09/2018292
Ben08/09/2018286
Caleb08/09/2018299
Danielle08/09/2018273
Anna15/09/2018386
Ben15/09/2018399
Caleb15/09/2018386
Danielle15/09/2018380
Anna15/09/2018485
Ben15/09/2018487
Caleb15/09/2018479
Danielle15/09/2018493

Como agregar em todas as linhas (sem agrupamento)

Realize cálculos básicos em todas as linhas do conjunto de dados. Por exemplo, a transformação a seguir cria uma nova coluna contendo a pontuação média de teste de todos os alunos:

Nome da transformação New formula
Parâmetro: tipo de fórmula Single row formula
Parâmetro: fórmula ROUND(AVERAGE(Score),2)
Parâmetro: nome da nova coluna avg_TestScore

Os resultados acima resultam em uma nova coluna chamada average_TestScore, contendo o valor único 85.19, a média das pontuações dos testes de todos os alunos arredondadas para duas casas decimais.

OBSERVAÇÃO: esses tipos de agregações são conhecidos como agregações planas. Em conjuntos de dados maiores, realizar agregações planas pode exigir muito computacionalmente. Tome cuidado ao calcular todas as funções de agregação em um grande número de linhas.

Agregar linhas agrupadas

Para os dados de exemplo acima, suponhamos que você tenha interesse na pontuação média de cada aluno. Nesse caso, você precisa calcular a média de (AVERAGE(TestScore)) de cada aluno.

No exemplo anterior, você usou a transformação "New Formula". Ao calcular agregações entre grupos de valores em uma coluna, você precisa usar a transformação "Group By":

Nome da transformação Group By
Parâmetro: agrupar por Student
Parâmetro: valores AVERAGE(TestScore)
Parâmetro: tipo Group by as new column(s)

A transformação acima não contém a função de arredondamento. As expressões aninhadas não são compatíveis na transformação "Group By". Para arredondar os valores, adicione a seguinte transformação como o próximo passo:

Nome da transformação Edit column with formula
Parâmetro: colunas average_TestScore
Parâmetro: fórmula ROUND(average_TestScore,2)

Convém renomear a coluna recém-gerada para algo como average_TestScorePerStudent. Consulte Renomear colunas.

Os dados de saída têm a seguinte aparência:

StudentTestDateTestNumTestScoreaverage_TestScorePerStudentaverage_TestScore
Anna08/09/201818486,7585,19
Ben08/09/201817185,7585,19
Caleb08/09/20181768585,19
Danielle08/09/201818783,2585,19
Anna08/09/201829286,7585,19
Ben08/09/201828685,7585,19
Caleb08/09/20182998585,19
Danielle08/09/201827383,2585,19
Anna15/09/201838686,7585,19
Ben15/09/201839985,7585,19
Caleb15/09/20183868585,19
Danielle15/09/201838083,2585,19
Anna15/09/201848586,7585,19
Ben15/09/201848785,7585,19
Caleb15/09/20184798585,19
Danielle15/09/201849383,2585,19

Gerar nova tabela de agregação

Suponhamos que você queira calcular as pontuações mínima, máxima e média de cada teste. Nesse caso, pode ser mais útil criar uma nova tabela em que os nomes dos alunos foram removidos:

Nome da transformação Group By
Parâmetro: agrupar por TestNum
Parâmetro: valores 1 MAX(TestScore)
Parâmetro: valores 2 MIN(TestScore)
Parâmetro: valores 3 AVERAGE(TestScore)
Parâmetro: tipo Group by as new table

Os dados resultantes são semelhantes aos seguintes:

TestNummax_TestScoremin_TestScoreaverage_TestScore
1877179,5
2997387,5
3998087,75
4937986

Dica: neste caso, quando você substitui a tabela atual por uma tabela completamente nova, os dados não incluídos na agregação são perdidos. Adicione colunas à lista de valores caso você queira colocar colunas não tocadas na nova tabela. Pense também em criar tabelas de agregação em um roteiro que seja uma extensão do roteiro anterior. Dessa maneira, será possível continuar trabalhando com as outras colunas do conjunto de dados.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Google Cloud Dataprep
Precisa de ajuda? Acesse nossa página de suporte.