Pular para o conteúdo

Usada para extrair dados de uma tabela de dados do Analyze existente para outra tabela de dados. Os exemplos incluem, entre outros, os seguintes:

  • Ordenação
  • Agrupamento
  • Sumarização
  • Filtro/subconjunto de linhas
  • Remoção de colunas extras
  • Operações matemáticas
  • Operações com strings

Origem e Destino

Origem e destino

Para definir as tabelas de origem e de destino, primeiro selecione a tabela de dados da qual extrair usando o menu suspenso Tabela de origem. Em seguida, selecione uma tabela existente como tabela de destino usando o menu suspenso 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 é significativamente menor do que quando se usa uma tabela. A desvantagem das visões é que elas não são úteis para a exploração de 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.

Configuração do Data Mapper

Data Mapper de tabela

O Data Mapper é usado para mapear as colunas dos dados de origem para a tabela de dados de destino.

Inspeção e Preenchimento do Mapeador

O botão de menu Inspecionar origem oferece 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. Este é o comportamento padrão.
  • Preencher somente a tabela de mapeamento de origem: mapeia apenas todos os valores da tabela de dados de origem. Isso é útil ao modificar um fluxo de trabalho existente quando a estrutura de colunas da origem mudou.
  • Preencher somente a tabela de mapeamento de destino: propaga todos os valores apenas para a tabela de dados de destino.

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

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

Exclusão de Colunas

Para excluir colunas da tabela de dados de destino, selecione as colunas desejadas, clique com o botão direito e selecione Excluir.

Colunas de Origem que Não Estão Mais Listadas

Uma linha de destino pode indicar uma Coluna de origem que a tabela de dados de origem não lista mais, por exemplo depois que a origem foi inspecionada novamente. A etapa nunca remove essa linha por você. Em vez disso, o nome da coluna aparece em vermelho, após um sinal de aviso ⚠, e ao passar o mouse sobre ele é exibida a informação de que a coluna não está nas colunas de origem. Em uma etapa com várias tabelas, como uma união, cada tabela é verificada em relação às suas próprias colunas de origem.

Uma linha com resumo Constante, Expressão ou Contagem (incluindo nulos) nunca é sinalizada, porque a etapa não lê a coluna de origem dela. Nada é sinalizado enquanto a tabela de dados de origem não listar nenhuma coluna, por exemplo antes de a origem ser inspecionada pela primeira vez.

Ao salvar uma etapa que ainda tem linhas sinalizadas, uma caixa de diálogo Colunas obsoletas encontradas as lista sob a guia ou a tabela em que estão e oferece três opções:

  • Remover todas e salvar — remove as linhas sinalizadas e, em seguida, salva.
  • Salvar mesmo assim — salva a etapa como está.
  • Cancelar — volta para a etapa sem salvar.

Para manter uma linha e eliminar o aviso dela, adicione a coluna de volta à tabela de dados de origem ou escolha uma coluna que a tabela de dados de origem liste.

Colunas ausentes na tabela de origem

Ao salvar, a própria tabela de dados de origem é verificada no estado atual. Uma coluna que a etapa lista nas colunas de origem, mas que a tabela não tem, por exemplo uma que uma etapa anterior renomeou ou removeu, significa que as colunas da etapa estão desatualizadas, e uma etapa que lê essa coluna falha ao ser executada. Nesse caso, ao salvar, abre-se uma caixa de diálogo Colunas de origem ausentes que informa cada tabela e as colunas que faltam nela, com duas opções:

  • Salvar mesmo assim — salva a etapa como está.
  • Cancelar — volta para a etapa sem salvar.

Nada é removido automaticamente, porque o problema pode estar na tabela, e ela pode mudar de novo antes da execução da etapa. Quando há também linhas sinalizadas como não listadas, ambas aparecem juntas na caixa de diálogo Colunas obsoletas encontradas, e Remover todas e salvar remove apenas as linhas sinalizadas. Enquanto a lista de colunas de origem estiver vazia, são verificadas as colunas que a etapa mapeia, exceto as linhas com resumo Constante, Expressão ou Contagem (incluindo nulos), que não leem nenhuma coluna.

Uma origem nomeada com uma variável, como {year}/Sales, é verificada com o valor da variável no momento em que você salva, e a caixa de diálogo informa a tabela verificada, como 2026/Sales (from {year}/Sales). Uma variável definida por um loop contém o valor da última iteração, portanto um loop sobre tabelas com estruturas diferentes pode alertar sobre uma tabela que a próxima execução não vai ler. Não são verificadas uma tabela que ainda não existe, por exemplo uma criada por uma etapa anterior do fluxo de trabalho, uma origem cuja variável não tem valor, uma tabela que a etapa localiza por pesquisa durante a execução ou uma tabela que não pode ser lida no momento.

Tipo de Dados da Coluna

Toda coluna de destino tem um Tipo. Uma coluna propagada da origem mantém o tipo da coluna de origem; uma linha que você adiciona manualmente começa como Texto, e você define o Tipo para indicar o que ela deve realmente ser — uma coluna que você pretende somar ou ordenar precisa do tipo numérico ou de data, porque texto é ordenado e somado como texto.

Uma etapa salva com uma coluna sem nenhum tipo ainda é executada. O tipo é determinado quando a etapa é iniciada, a partir da coluna de origem que essa coluna lê. Onde não há de onde lê-lo, ele é tratado como texto: as colunas de uma etapa Extrair SQL vêm da consulta que você escreveu, e não de uma origem mapeada, e onde várias origens têm o mesmo nome de coluna com tipos divergentes, usa-se texto em vez de adivinhar um deles — um palpite errado gera uma conversão que o data warehouse pode rejeitar, e qualquer coisa pode ser convertida em texto.

Definir o Tipo você mesmo continua sendo a forma de dizer o que uma coluna deve ser. Deixá-lo sem definição significa aceitar o tipo que a coluna de origem tiver.

Alteração da Ordem das Colunas

Para reorganizar as colunas na tabela de dados de destino, selecione as colunas desejadas. Você pode usar:

  • Setas de movimentação em massa: selecione a opção de movimentação desejada nas setas no canto superior direito
  • Menu de contexto: clique com o botão direito e selecione Mover para o início, Mover para cima, Mover para baixo ou Mover para o final.

Reduzir o Resultado a Registros Distintos

Para retornar apenas opções distintas, selecione a opção de menu Distintos. Isso exibe um conjunto de caixas de seleção para cada coluna da origem. Basta marcar a caixa ao lado da coluna correspondente para retornar apenas resultados distintos.

Dependendo da situação, talvez seja melhor considerar o uso de resumo.

O processo de distinção mantém o primeiro registro exclusivo encontrado e descarta os demais. Talvez você queira aplicar uma ordenação aos dados se a consistência entre execuções for importante.

Agregação e Agrupamento

Para agregar resultados, selecione a opção de menu Resumir. Isso exibe um conjunto de caixas de seleção para cada coluna da tabela de dados de destino. Escolha um método de resumo adequado para cada coluna.

Quando Inspecionar origem preenche as colunas, uma coluna numérica começa como Agrupar por em vez de Soma se o nome dela se parecer com um identificador, como id, customer_id, Order No ou CustomerKey, se a tabela dela a definir como chave ou se a junção a usar como chave.

  • Agrupar por
  • Soma
  • Mínimo
  • Máximo
  • Primeiro
  • Último
  • Contagem
  • Contagem (incluindo nulos)
  • Média
  • Desvio padrão
  • Desvio padrão amostral
  • Desvio padrão populacional
  • Variância
  • Variância amostral
  • Variância populacional
  • Avançado sem Agrupar por

Para uso avançado do Data Mapper, como expressões, limpeza e constantes, consulte Uso avançado do Data Mapper

Selecione Levar também colunas nomeadas durante a execução para repassar, sem alterações, todas as colunas de origem que a etapa não lista, do jeito que a tabela as tem quando a etapa é executada. Use essa opção quando uma etapa anterior cria colunas cujos nomes dependem dos dados, como uma tabela dinâmica (pivot), e você não pode listá-las ao montar a etapa. Deixe-a desativada para gravar somente as colunas que você listar.

Quando ela está ativada, aparece a seção Colunas carregadas, e a seção Colunas nomeadas pelos dados está sempre disponível. Elas têm estes campos:

  • Carregar como (carry_expression) — grava cada coluna carregada como esta expressão, em vez de sem alterações, com __column__ representando a coluna carregada. É assim que uma etapa que agrupa incorpora colunas que só a execução nomeia; uma etapa que agrega não carrega nada sem isso. Tipo das colunas carregadas (carry_dtype) define o tipo de dados de cada coluna carregada (por padrão, o próprio tipo dela), e Agregação das colunas carregadas (carry_agg) define como uma etapa de agregação trata essa coluna (dont_group quando a expressão agrega).
  • Renomear colunas transportadas (carry_rename) — renomeia cada coluna carregada cujo nome corresponde à expressão regular pattern e não corresponde a keep, colocando replacement no lugar de cada correspondência (\1 para um grupo; as primeiras max correspondências, quando definido). __index__ em replacement é a posição da coluna entre as colunas renomeadas, contada a partir de start. Um nome já em uso recebe (#n) no final.
  • Colunas dinâmicas (dynamic_columns) — colunas de destino nomeadas pelos dados, um conjunto para cada valor distinto que a etapa lê de sua origem, gravadas quando a etapa é executada. Cada entrada informa rows (expressões key, label, where e order sobre a origem), uma coluna target ou lista de colunas que usa __key__, __label__ e __index__, e after, a coluna de destino após a qual as novas são inseridas (por padrão, o final). Os valores devem ser texto, inteiro, booleano ou NULL, a etapa grava no máximo 1.000 colunas e a saída deve ser uma tabela.

Filtros de dados da tabela

Para oferecer o máximo de flexibilidade, há filtros de dados tanto nos dados de origem quanto nos dados de destino. Em conjuntos de dados maiores, filtrar linhas na origem pode ser especialmente vantajoso, pois as demais operações são executadas sobre um conjunto de dados menor.

Selecionar subconjunto de dados

Este tipo de filtro permite filtrar os dados de origem de entrada com base nas condições especificadas.

Aplicar filtro secundário aos dados de resultado

Este tipo de filtro permite aplicar um filtro aos dados de resultado já transformados, com base nas condições especificadas. Aplicar um filtro ao resultado transformado permite fazer exclusões com base em resultados de cálculos complexos, sumarizações ou funções de janela.

Divisão final da tabela de dados (limite)

O recurso de divisão de linhas permite limitar as linhas do conjunto de resultados com base em um intervalo e um ponto de partida.

Sintaxe de filtro

A sintaxe de filtro usa o Python SQLAlchemy, a mesma sintaxe das outras expressões.

Veja exemplos e funções de expressão na área Expressões.