Pular para o conteúdo

Utilizado para converter tabelas de dados longas e estreitas em tabelas de dados curtas e largas. As colunas selecionadas são transpostas, com os nomes das colunas convertidos em valores ao longo de várias colunas.

Talvez o exemplo mais fácil de compreender seja pensar numa tabela de dados com meses listados como linhas:

Pivotar esta tabela de dados converteria todas as linhas de meses em colunas.

longa (antes)ProductMonthValueWidgetJan10WidgetFeb20GadgetJan5GadgetFeb8pivotarlarga (depois)ProductJanFebWidget1020Gadget58
O Pivot converte longo em largo — os valores de Month tornam-se colunas Jan/Feb, o inverso do Melt.

Ao especificar quais as colunas a transpor e quais as colunas a deixar intactas, esta torna-se uma ferramenta poderosa. Fazer esta conversão noutras ferramentas de ETL poderia exigir uma dúzia de passos adicionais.

Table Pivot Source Target

Para definir a origem e o destino, selecione primeiro, na lista pendente, a tabela de dados de onde extrair.

Tabela de destino

Tabela de destino

Para definir a tabela de destino, selecione uma tabela existente através da lista pendente Tabela de destino ou clique no sinal “+” verde para criar uma nova tabela como destino.

Criação de tabelas

Ao criar uma nova tabela, pode criá-la como Vista ou como Tabela.

Vistas:

As vistas são úteis porque o tempo necessário para executar um passo é significativamente inferior ao de uma tabela. A desvantagem das vistas é que não são adequadas para a exploração de dados no modo Detalhes da tabela.

Tabelas:

Quando se utiliza uma tabela como destino, a execução de um passo demora mais, mas a exploração de dados no modo Detalhes é muito mais rápida do que com uma vista.

A Coluna de categoria a transformar em cabeçalhos de coluna é onde especifica a coluna da tabela de origem que será pivotada para linhas.

A Coluna de valor a pivotar para valores de coluna é a coluna que contém os valores na tabela de origem.

A Opção de agregação de valores é onde especifica como pretende agregar os dados.

Ambas as colunas têm de estar entre as colunas de saída do passo no separador Seleção de dados da tabela. Caso contrário, a gravação é recusada, por exemplo com The category column ‘month’ isn’t one of the step’s output columns.

O formulário tem ainda estes campos:

  • Coluna com a posição de cada categoria (column_order) — uma coluna de origem que contém a posição de cada categoria. As colunas pivotadas surgem por ordem ascendente dessa posição, em vez de ordenadas por nome. Não é agrupada nem escrita.
  • Modelo de nome das colunas dinâmicas (column_name_template) — dá a cada coluna pivotada o nome deste texto, com {value} substituído pelo valor da categoria, como {value}+Sum.

Table Pivot Data Selection

O separador Seleção de dados da tabela serve para mapear colunas da tabela de dados de origem para a tabela de dados de destino. Todas as colunas de origem no lado esquerdo da janela são mapeadas automaticamente para a tabela de dados de destino representada no lado direito da janela. Com o botão de menu Inspecionar origem, existem algumas formas adicionais de mapear colunas da origem para o destino:

  • Preencher ambas as tabelas de mapeamento: propaga todos os valores da tabela de dados de origem para a tabela de dados de destino. É a opção predefinida.
  • Preencher apenas a tabela de mapeamento de origem: mapeia apenas todos os valores na tabela de dados de origem. É útil ao modificar um fluxo de trabalho existente quando a estrutura das colunas de origem mudou.
  • Preencher apenas a tabela de mapeamento de destino: propaga todos os valores apenas para a tabela de dados de destino.

Além de cada uma destas opções, cada escolha oferece a possibilidade de pré-visualizar os dados de origem.

Ao guardar com uma tabela de origem escolhida mas sem colunas de origem ou sem colunas de destino, o lado vazio é preenchido a partir da origem, tal como faria Preencher ambas as tabelas de mapeamento.

Se as opções de colunas de origem e de destino não forem suficientes, é possível adicionar outras colunas à tabela de dados de destino de várias formas:

  • Propagar tudo insere todas as colunas de origem na tabela de dados de destino, quer já existissem ou não.
  • Propagar selecionadas insere apenas as colunas de origem selecionadas.
  • Clique com o botão direito do rato no lado do destino e selecione Inserir linha para inserir uma linha imediatamente acima da linha atualmente selecionada.
  • Clique com o botão direito do rato no lado do destino e selecione Acrescentar linha para inserir uma linha no fim (extrema direita) da tabela de dados de destino.

Para eliminar colunas da tabela de dados de destino, selecione as colunas pretendidas, clique com o botão direito do rato e selecione Eliminar.

Para reorganizar as colunas na tabela de dados de destino, selecione as colunas pretendidas, clique com o botão direito do rato e selecione Mover para o início, Mover para cima, Mover para baixo ou Mover para o fim.

Para devolver apenas opções distintas, selecione a opção de menu Distinto. Isto ativa um conjunto de caixas de verificação para cada coluna da origem. Basta assinalar a caixa junto à coluna correspondente para devolver apenas resultados distintos.

Para agregar resultados, selecione a opção de menu Resumir. Isto ativa um conjunto de listas pendentes para cada coluna da tabela de dados de destino. Estão disponíveis as seguintes opções de resumo:

  • Agrupar por (definição predefinida)
  • Soma
  • Mínimo
  • Máximo
  • Primeiro
  • Último
  • Contagem
  • Média
  • Mediana
  • Moda
  • Desvio-padrão
  • Variância
  • Produto
  • Valor absoluto
  • Quantil
  • Assimetria
  • Curtose
  • Desvio absoluto médio
  • Soma cumulativa
  • Mínimo cumulativo
  • Máximo cumulativo
  • Produto cumulativo

Para permitir a máxima flexibilidade, estão disponíveis filtros de dados nos dados de origem e nos dados de destino. Para conjuntos de dados maiores, pode ser especialmente vantajoso filtrar linhas na origem, para que as restantes operações sejam realizadas sobre um conjunto de dados mais pequeno.

Qualquer expressão Python válida é aceite para criar o subconjunto dos dados. Consulte Expressões

para mais detalhes e exemplos.

Qualquer expressão Python válida é aceite para criar o subconjunto dos dados. Consulte Expressões para mais detalhes e exemplos

Para limitar os dados, basta assinalar a caixa Aplicar segmentador de linhas e especificar o seguinte:

  • Linhas iniciais a ignorar: linhas de dados a ignorar (a linha de cabeçalho das colunas não é incluída na contagem)
  • Terminar na linha: última linha de dados a incluir. É diferente de simplesmente contar linhas no fim para as descartar