Pular para o conteúdo

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

Talvez o exemplo mais fácil de compreender seja pensar numa tabela de dados com meses listados como cabeçalhos de coluna:

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

larga (antes)ProductJanFebWidget1020Gadget58despivotarlonga (depois)ProductMonthValueWidgetJan10WidgetFeb20GadgetJan5GadgetFeb8
O Melt (despivotagem) converte largo em longo — as colunas Jan/Feb são condensadas em linhas Month + Value, identificadas pelas colunas que deixa intactas.

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 Melt Source Target

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

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.

Table Pre-Melt

Esta secção é um pouco diferente da Seleção de dados da tabela habitual. Basicamente, serve para especificar quais as colunas a utilizar na operação de despivotagem. Isto inclui as colunas de ID e as colunas de variável/valor.

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.

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

Table Melt Layout

Existe um botão Deduzir esquema que permite ao Analyze fazer uma primeira tentativa de especificar as colunas de ID. Por predefinição, todas as colunas de texto (tipo de dados Cadeia de carateres) são colocadas na secção Chaves. As colunas numéricas não são colocadas em Chaves por predefinição, mas podem estar lá consoante as necessidades do modelo.

As colunas de ID são as colunas que permanecem intactas. Estas colunas são efetivamente repetidas para cada instância de uma combinação de variável/valor. Numa tabela mensal, isto resultaria em 12 repetições das colunas de ID.

As colunas de ID podem ser adicionadas automática ou manualmente. Para adicionar as colunas automaticamente, utilize o botão Deduzir esquema mencionado acima. Para adicionar manualmente colunas adicionais, clique com o botão direito do rato em qualquer ponto da secção e selecione Inserir linha ou Acrescentar linha, para adicionar uma linha antes da linha atualmente selecionada ou no fim, respetivamente. Em seguida, escreva o nome da coluna a utilizar como ID.

Para remover um campo dos IDs, clique com o botão direito do rato e selecione Eliminar.

Nomenclatura das colunas de resultado da despivotagem

Seção intitulada “Nomenclatura das colunas de resultado da despivotagem”

Existem 2 valores a especificar. Ambos se tornam nomes de colunas na tabela de dados de destino.

  • Nome da coluna de variável: conforme especificado na transformação, os nomes das variáveis são derivados dos nomes atuais das colunas de origem. Essencialmente, especifique um nome de coluna que represente os dados originalmente representados nas colunas da tabela de dados de origem.
  • Nome da coluna de valor: especifique um nome de coluna para representar os dados contidos na tabela de dados de origem. Normalmente será uma unidade numérica: dólares, libras, graus, percentagem, etc.

Mais opções de despivotar tem estes campos:

  • Despivotar também todas as outras colunas que a tabela tenha quando o passo é executado (melt_all_columns) — despivota também todas as colunas que a tabela de origem tenha quando o passo é executado e que o passo não liste e que não sejam colunas de ID, pela ordem em que a tabela as tem.
  • Nome da coluna de posição (position_name) — escreve também uma coluna com este nome que contém a posição, a partir de 0, da coluna de valor de cada linha entre as colunas de valor.
  • Nome da coluna de tipo (type_name) — escreve também uma coluna com este nome que contém o tipo de dados da coluna de valor de cada linha, como integer, numeric, text, boolean, date ou timestamp.

Na documentação acima.