Pular para o conteúdo

Usada 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 em várias linhas.

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

Fazer o melt dessa tabela de dados converteria todas as colunas de meses em linhas.

larga (antes)ProductJanFebWidget1020Gadget58meltlonga (depois)ProductMonthValueWidgetJan10WidgetFeb20GadgetJan5GadgetFeb8
O melt (despivotar) transforma o formato largo em longo — as colunas Jan/Feb se reduzem a linhas Month + Value, identificadas pelas colunas que você deixa como estão.

Ao especificar quais colunas transpor e quais deixar como estão, isso se torna uma ferramenta poderosa. Fazer essa conversão em outras ferramentas de ETL pode exigir uma dúzia de etapas a mais.

Table Melt Source Target

Para definir a origem e o destino, primeiro selecione a tabela de dados a ser extraída na lista suspensa Tabela de origem.

Tabela de destino

Tabela de destino

Para definir a tabela de destino, selecione uma tabela existente na lista suspensa Tabela de destino ou clique no sinal verde “+” para criar uma nova tabela como destino.

Criação de tabela

Ao criar uma nova tabela, você pode criá-la como Visão ou como Tabela.

Visões:

As visões são úteis porque o tempo necessário para executar uma etapa é bem menor do que quando se usa uma tabela. A desvantagem das visões é que elas não são úteis para explorar dados no modo Detalhes da tabela.

Tabelas:

Ao usar uma tabela como destino, a etapa leva mais tempo para ser executada, mas a exploração de dados no modo Detalhes é muito mais rápida do que com uma visão.

Table Pre-Melt

Esta seção é um pouco diferente da Seleção de dados da tabela padrão. Basicamente, ela é usada para especificar quais colunas serão usadas na operação de melt. Isso inclui as colunas de ID e as colunas de variável/valor.

Salvar com uma tabela de origem escolhida, mas sem colunas de origem ou sem colunas de destino, preenche o lado vazio a partir da origem, como Preencher ambas as tabelas de mapeamento faria.

Para dar o máximo de flexibilidade, há filtros de dados disponíveis para os dados de origem e de destino. Para conjuntos de dados maiores, pode ser especialmente vantajoso filtrar linhas na origem para que as demais operações sejam executadas em um conjunto de dados menor.

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

para mais detalhes e exemplos.

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

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

  • Linhas iniciais a ignorar: linhas de dados a ignorar (a linha de cabeçalho das colunas não entra na contagem)
  • Terminar na linha: última linha de dados a incluir. Isso é diferente de simplesmente contar linhas no final para descartá-las

Table Melt Layout

Há um botão Guess Layout que permite ao Analyze fazer uma primeira tentativa de especificar as colunas de ID. Por padrão, todas as colunas de texto (tipo de dados String) são colocadas na seção Keys. As colunas numéricas não são colocadas em Keys por padrão, mas podem estar lá conforme as necessidades do modelo.

As colunas de ID são as colunas que permanecem intactas. Essas colunas são, na prática, repetidas para cada ocorrência de uma combinação de variável/valor. Para uma tabela mensal, isso resultaria em 12 repetições das colunas de ID.

As colunas de ID podem ser adicionadas automaticamente ou manualmente. Para adicionar as colunas automaticamente, use o botão Guess Layout mencionado anteriormente. Para adicionar colunas manualmente, clique com o botão direito em qualquer lugar da seção e selecione Inserir linha ou Anexar linha, para adicionar uma linha antes da linha selecionada ou no final, respectivamente. Em seguida, digite o nome da coluna a usar como ID.

Para remover um campo de IDs, basta clicar com o botão direito e selecionar Excluir.

Há 2 valores a especificar. Ambos se tornarão nomes de coluna na tabela de dados de destino.

  • Nome da coluna de variável: conforme especificado na transformação, os nomes de variável são derivados dos nomes atuais das colunas de origem. Em essência, 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, porcentagem etc.

Mais opções de despivotar tem estes campos:

  • Despivotar também todas as outras colunas que a tabela tiver quando a etapa for executada (melt_all_columns) — despivota também todas as colunas que a tabela de origem tiver quando a etapa for executada, que a etapa não liste e que não sejam colunas de ID, na ordem em que a tabela as tem.
  • Nome da coluna de posição (position_name) — grava também uma coluna com este nome contendo a posição, começando em 0, da coluna de valor de cada linha entre as colunas de valor.
  • Nome da coluna de tipo (type_name) — grava também uma coluna com este nome contendo o tipo de dados da coluna de valor de cada linha, como integer, numeric, text, boolean, date ou timestamp.

Na documentação acima.