Transformação Pivot

OBSERVAÇÃO: as transformações fazem parte da linguagem subjacente não diretamente acessível aos usuários. Esse conteúdo é mantido apenas para fins de referência.

Quando você representa dinamicamente os dados, os valores de uma coluna selecionada se tornam colunas novas no conjunto de dados. Cada uma contém um cálculo de resumo especificado por você.
  • Esse cálculo pode ser baseado em todas as linhas para totais em todo o conjunto de dados ou ter como base o grupo de linhas que você define na transformação.
  • Quando os dados tiverem sido representados dinamicamente, as colunas não usadas serão descartadas, deixando apenas os dados operacionais para uma avaliação mais rápida.
  • A transformação aceita uma ou mais colunas como entradas para a representação dinâmica.

Dica: esta transformação é muito útil no modo de visualização para descoberta e análise rápidas.

Uso básico

pivot col: Dates value:SUM(Sales) group: prodId

Resultado: o conjunto de dados é remodelado para incluir uma coluna ProdId e novas colunas para cada valor distinto na coluna Dates. Cada valor ProdId distinto é representado por uma linha separada no conjunto de dados remodelado. Dentro de cada linha, as novas colunas contêm uma soma de vendas do produto para cada data no conjunto de dados.

Parâmetros

pivot col:column_ref value: FUNCTION(arg1,arg2) [group: group_col] [limit:int_num]

TokenObrigatório?Tipo de dadosDescrição
pivotStransformaçãoNome da transformação.
colNstringUm ou mais nomes de colunas de origem
valueNstringExpressão contendo uma ou mais funções de agregação usadas para representar dinamicamente os dados da coluna de origem
groupNstringUm ou mais nomes de colunas que contêm os valores de agrupamento do cálculo
limitNinteiro (positivo)Número máximo de valores únicos em um grupo. O padrão é 50.

Para mais informações sobre os padrões de sintaxe, consulte Observações de sintaxe da documentação da linguagem.

col

Identifica as colunas em que a transformação será aplicada.

Exemplo de coluna única:

A coluna especificada contém os valores que se tornam novas colunas no conjunto de dados.

pivot col: autoBrand value:AVERAGE(autoPrice) group:State

Resultado: o conjunto de dados é remodelado para conter a coluna State, seguida de colunas para cada valor distinto na coluna autoBrand. Cada valor nessas colunas é a média na coluna autoPrice, agrupados pelo valor State.

Exemplo de várias colunas:

Para várias colunas de entrada, a transformação gera novas colunas para cada combinação das entradas. Veja o exemplo abaixo.

Observações sobre o uso:

Obrigatório?Tipo de dados
NãoString (nome da coluna)

value

Para esta transformação, o parâmetro value contém a função de agregação e os respectivos parâmetros, que definem o conjunto de linhas ao qual a função é aplicada.

OBSERVAÇÃO: com o parâmetro value, só é possível usar funções de agregação. As funções aninhadas não são compatíveis. Para mais informações, consulte Funções Aggregate.

Observações sobre o uso:

Obrigatório?Tipo de dados
NãoString contendo uma lista de funções de agregação. Cada uma contém uma referência de coluna.

group

Para esta transformação, este parâmetro especifica a coluna cujos valores são usados para agrupar o conjunto de dados antes de aplicar a função especificada. É possível especificar várias colunas como valores separados por vírgula.

OBSERVAÇÃO: as transformações que usam o parâmetro group podem resultar em reordenamento não determinístico na grade de dados.

Observações sobre o uso:

Obrigatório?Tipo de dados
NãoString (nome da coluna)

limit

O parâmetro limit define o número máximo de valores únicos permitidos em um grupo. Se ele não for especificado, o valor padrão para este parâmetro será 50.

OBSERVAÇÃO: tenha cuidado ao definir este parâmetro muito alto. Em alguns casos, o aplicativo pode ficar sem memória ao gerar resultados e seus resultados podem falhar.

Observações sobre o uso:

Obrigatório?Tipo de dados
Não. O valor padrão é 50.Inteiro (positivo)

Exemplos

Exemplo: representação dinâmica básica

Origem:

O conjunto de dados a seguir contém informações sobre vendas em um fim de semana e dois estados para três produtos diferentes.

DateStateProdIdSales
09/03/16CABig Trike 9000500
09/03/16NVFast GoKart 5000200
09/03/16CASuperQuick Scooter700
09/03/16CAFast GoKart 5000900
09/03/16NVBig Trike 9000300
09/03/16NVSuperQuick Scooter250
10/03/16NVFast GoKart 500050
10/03/16NVBig Trike 9000400
10/03/16NVSuperQuick Scooter150
10/03/16CABig Trike 9000600
10/03/16CASuperQuick Scooter800
10/03/16CAFast GoKart 50001.100

Transformação 1: soma de vendas por estado para cada data

Aplique essa transformação somente na visualização para ver os resultados:

pivot col:Date value:SUM(Sales) group:State

Cancele a atualização de transformação.

Statesum_Sales_03/09/2016sum_Sales_03/10/2016
CA2.1002.500
NV750600


Transformação 2:
soma de vendas por data, para cada estado

pivot col:State value:SUM(Sales) group:Date

Datesum_Sales_CAsum_Sales_NV
09/03/20162.100750
10/03/20162.500600

Cancele a atualização de transformação novamente.

Transformação 3: soma de vendas por código de produto para cada estado

pivot col:State value:SUM(Sales) group:ProdId

ProdIdsum_Sales_CAsum_Sales_NV
Big Trike 90001.100700
Fast GoKart 50002.000500
SuperQuick Scooter1.500300

Exemplo: representação dinâmica de várias colunas

A transformação pivot aceita o uso dos valores em várias colunas para especificar as colunas geradas. Quando duas ou mais colunas são usadas na representação dinâmica, as colunas que contêm valores de todas as combinações possíveis das colunas de origem são geradas.

Nos seguintes dados de origem, os dados de vendas de produtos individuais são organizados por marca, nome do produto e mês:

BrandProductMonthSales
AAATowelsJanuary95
AAANapkinsJanuary113
BTowelsJanuary99
BTissuesJanuary88
AAATowelsFebruary108
AAANapkinsFebruary91
BTowelsFebruary85
BTissuesFebruary105
AAATowelsMarch81
AAANapkinsMarch92
BTowelsMarch112
BTissuesMarch104

Transformação:

Se você quer criar informações em "Sales" resumidas para cada produto por mês, é possível optar por criar um pivot na coluna Product. No entanto, se você observar os valores das colunas, pode perceber que o produto Paper towels está disponível para as marcas AAA e B. Nesse caso, execute uma representação dinâmica de várias colunas nessas duas colunas, assim:

pivot col:Brand,Product value:AVERAGE(Sales) group:Month

Resultados:

Monthavg_Sales_B_Towelsavg_Sales_B_Tissuesavg_Sales_AAA_Napkinsavg_Sales_AAA_Towels
January998811395
February8510591108
March1121049281

Exemplo - valores agregados

É possível usar a transformação pivot para executar cálculos de agregação em valores de uma coluna.

Origem:

Na tabela a seguir, é possível avaliar os resultados de 10 alunos, em três testes diferentes:

StudentIdTestIdScore
s001t00198
s001t00298
s001t00387
s002t00192
s002t00296
s002t00379
s003t00199
s003t00276
s003t00394
s004t00193
s004t00299
s004t00380
s005t00179
s005t00280
s005t00384
s006t00193
s006t00274
s006t00389
s007t00186
s007t00281
s007t00397
s008t00182
s008t00273
s008t00379
s009t00196
s009t00297
s009t00379
s010t00180
s010t00279
s010t00375

Transformação:

O objetivo é saber as pontuações média e máxima de cada aluno. Para isso, você cria a seguinte transformação de representação dinâmica, que agrupa os cálculos das colunas de pontuações médias e máximas por valor studentId.

pivot group: StudentId value: average(Score),max(Score) limit: 50

Para a coluna média gerada, você define que os resultados sejam arredondados para duas casas decimais:

set col: average_Score value: round(average_Score, 2)

Resultados:

StudentIdaverage_Scoremax_Score
s00194.3398
s0028996
s00389.6799
s00490.6799
s0058184
s00685.3393
s0078897
s0087882
s00990.6797
s0107880

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.