Neste Connected Learning Path, pegaremos uma extração de dados de um sistema e realizaremos uma série de transformações para preparar o arquivo de dados para ser carregado em outro sistema.
| Objetivo principal de aprendizado | Para destacar alguns dos comandos simples, porém poderosos, do Tabular Transformation Connector que podem ser usados para atender às necessidades comuns de transformação |
| Pré-requisitos | Configurar HTTP, Utilitários de arquivo e Transformação tabular Conexões de conector |
| Modelo de cadeia de suporte | CLP | Transformações tabulares |
Etapa 1: Criar uma corrente
- Adicionar uma nova corrente
- Nome da cadeia: CLP | Transformações tabulares
- Criar uma variável de cadeia
- Nome: cv-TT-SampleData
- Valor: https://cs-sftp-training-bucket.s3.amazonaws.com/cs-training/transformation-qs/sample.txt
- Salvar a corrente
Etapa 2: Recuperar dados de um sistema de origem
Use o Conector HTTP para ilustrar como recuperar dados de uma fonte de dados para a qual não existe um Conector Workiva.
- Adicionar um comando GET do conector HTTP ao nó Start
- Configure o comando com o seguinte:
Etapa 3: Atualizar os cabeçalhos no arquivo de dados
Atualize os cabeçalhos no arquivo para que correspondam aos nomes de campo do sistema no qual o arquivo de dados será carregado após a conclusão das transformações. O comando Map Headers nos permite atualizar o nome do campo com base no índice, permitindo que o comando seja mais flexível caso o nome do campo seja alterado no futuro.
- Adicione um comando Map Headers do conector de transformação tabular à cadeia
- Conecte o nó inicial (HTTP - Get Source System Data) ao comando Map Headers
- Editar o comando:
- Dê um nome ao comando: Map Headers (Mapear cabeçalhos)
- Clique no parâmetro Input file. O painel de seleção de variáveis é aberto à esquerda. Na seção Command, expanda o comando Get - Source System Data e selecione Response Saída
- Deixe o parâmetro Arquivo de saída em branco
- Marque a caixa para Visualizar resultados
- Deixe o Delimitador como Vírgula, pois o arquivo de dados do sistema de origem é delimitado por vírgulas
- No parâmetro Input Headers, insira um número de zero (0) a sete (7), pois o arquivo tem oito campos e as listas são baseadas em zero. Não se esqueça de pressionar a tecla Enter após digitar cada número!
- Marque a caixa para Use Indexes. Isso informa ao Command que os cabeçalhos de entrada são baseados na posição no arquivo, e não no nome real da coluna.
- Nos cabeçalhos de saída, especifique o nome dos novos campos a serem criados. A ordem é importante, pois a primeira entrada da lista substituirá o nome do cabeçalho do primeiro campo no arquivo do sistema de origem e assim por diante para cada uma das entradas restantes. Digite os seguintes cabeçalhos e pressione a tecla Enter após cada um deles:
- Produto
- Mercado
- Mês
- Cenário
- Vendas
- CPV
- Despesas
- Receita operacional
- Salvar o comando
Etapa 4: mover colunas de dados para linhas
Em seguida, atualize o arquivo de dados para transpor as várias colunas de dados em linhas e criar uma única coluna de dados. Essa operação é chamada de unpivot. A operação de desdobramento alinha os dados no formato esperado, uma única coluna contendo todos os dados, do sistema downstream.
- Adicione um comando Unpivot do conector de transformação tabular à cadeia
- Conecte o comando Map Headers ao comando Unpivot
- Editar o comando
- Dê um nome ao comando: Unpivot - Mover medidas para linhas
- Selecione o parâmetro Map Headers Saída para o arquivo de entrada
- A saída dos cabeçalhos do mapa ainda é delimitada por vírgulas, portanto, deixamos o delimitador como Comma
- No parâmetro Agregação, selecione Soma. Ao escolher Sum (Soma), todas as linhas resultantes criadas pelo desdobramento que sejam iguais em todas as colunas agregarão os valores de dados em um único ponto de dados.
- No parâmetro New Column Label, digite Measures. Esse é o cabeçalho da nova coluna que será criada e preenchida com os valores de cabeçalho das colunas que estão sendo desvinculadas.
- No parâmetro Data Column Label, digite Amount
- Os campos Data Headers, Starting Pivot Column Name, Ending Pivot Column Name, Starting Pivot Column Index e Ending Pivot Column Index são usados para executar a operação de pivô. Nem todos esses parâmetros precisam ser especificados.
- Se estiver usando o parâmetro Data Headers, os parâmetros restantes deverão ser deixados em branco. O parâmetro Data Headers permite que o nome das colunas seja especificado. Esse parâmetro é útil para campos que não são simultâneos/lado a lado.
- Os parâmetros Starting/Ending Column Name permitem que o nome da primeira e da última coluna (para um intervalo simultâneo) seja especificado. Se estiver usando esses parâmetros, o parâmetro Data Headers e o parâmetro Starting/Ending Column Index devem ser deixados em branco. Se o Ending Column Name for deixado em branco, o desdobramento será realizado para todos os campos após (e incluindo) o Starting Column Name.
- Os parâmetros Starting/Ending Column Index permitem que a posição da primeira e da última coluna (para um intervalo simultâneo) seja especificada. Se estiver usando esses parâmetros, o parâmetro Data Headers (Cabeçalhos de dados) e o parâmetro Starting/Ending Column Name (Nome da coluna inicial/extremidade) devem ser deixados em branco. Se o Ending Column Index for deixado em branco, o desdobramento será realizado para todos os campos após (e incluindo) o Starting Column Index. Usamos esses parâmetros neste exercício.
- Em Starting Pivot Column Index, digite 4. Isso diz ao Command para fazer o pivô a partir da quinta coluna, já que o índice é baseado em zero.
- Deixe em branco a coluna dinâmica final Index.
- Marque a opção Visualizar resultados
- Salvar o comando
Etapa 5: Atualizar o cenário
Em seguida, altere o nome do cenário. Isso ilustra uma transformação simples e única que se presta bem ao Integration Studio. Transformações de renomeação mais extensas ou complexas são significativamente simplificadas pelo Data Prep.
- Adicione um comando Encontrar e substituir do conector de transformação tabular à cadeia
- Conecte o comando Unpivot ao comando Find and Replace
- Editar o comando:
- Dê um nome ao comando: Localizar e substituir - Orçamento por Plano
- No parâmetro Input file (Arquivo de entrada), selecione o parâmetro Pivoted Result Saída from the Unpivot Command (Resultado pivotado)
- Deixe o parâmetro Output file em branco
- Marque a caixa para Visualizar resultados
- O arquivo não dinamizado ainda é delimitado por vírgulas, portanto, especifique o delimitador como Comma
- Vamos encontrar o texto Budget e substituí-lo pelo texto Plan. No parâmetro Find pattern, digite Budget.
- No parâmetro Match Pattern Value, selecione Exact
- Exato significa que estamos procurando o texto inteiro especificado nos parâmetros do padrão Find. Para pesquisar substrings ou curingas, precisaríamos usar o tipo de padrão Expressão regular (regex).
- No parâmetro Replacement Value (Valor de substituição), digite Plan (Plano). Qualquer instância do texto Budget será substituída pelo texto Plan.
- O parâmetro Replace matches only não é aplicável a correspondências exatas e pode ser deixado desmarcado, pois é o padrão.
- Deixe a opção Case Insensitive desmarcada. Isso torna a operação Localizar e Substituir sensível a maiúsculas e minúsculas, de modo que Budget será substituído por Plan, mas budget não será.
- A coluna Cenário, onde o padrão de localização (Budget) está localizado na quarta coluna. No parâmetro Columns, insira um três (3) numérico, pois o parâmetro é baseado em zero.
- Salvar o comando
Etapa 6: Manter somente os dados do plano de Nova York
Em seguida, mantenha apenas o plano de Nova York usando o comando Smart Filter. Esse filtro inteligente nos permite especificar condições com base nos dados que serão usados para manter ou excluir determinadas linhas do conjunto de dados.
- Adicione um comando Smart Filter Rows do conector de transformação tabular à cadeia
- Conecte o comando Smart Filter Rows ao comando Find and Replace
- Editar o comando:
- Nome do comando: Filtro inteligente de linhas - somente no plano de Nova York
- No parâmetro do arquivo de entrada, selecione Find & Replace Output no comando Find and Replace
- Deixe o parâmetro Output file em branco
- Especifique Comma como o delimitador
- Na seção Filters (Filtros), é possível usar os filtros Text (Texto), Number (Número) e Date (Data). Várias condições de filtro podem ser especificadas. Se estiver aplicando filtros a tipos diferentes (Texto, Número, Data), o Operador no canto superior esquerdo precisa ser especificado de acordo. Se estiver aplicando várias condições em um determinado tipo (por exemplo, Texto), será necessário especificar o Operador para esse tipo de filtro.
- Neste exercício, aplicaremos filtros baseados em texto para que o operador global possa ser And ou Or.
- Se necessário, defina o Operador Geral como AND
- Clique no botão Add (Adicionar) nos filtros Text
- No parâmetro Column name, digite Scenario
- Deixar a opção Case Insensitive desmarcada
- No menu suspenso Condition, selecione Equals
- No parâmetro Compare Text, digite Actual
- Deixe as caixas de seleção Not e Trim desmarcadas
- Esse filtro será usado para remover qualquer registro em que o campo Scenario contenha um valor de Actual
- Clique no botão Add (Adicionar) novamente na seção Text filters (Filtros de texto)
- Defina o operador de filtros de texto como OR
- Selecione a combinação OR para filtrar Actual e New York
- Na segunda condição, especifique Market como o nome da coluna
- Defina a condição para Equals
- Especifique o texto Compare como New York
- Por fim, marque a opção Not
- Defina o operador de filtros de texto como OR
- Deixe a opção Preview Result (Visualizar resultado) marcada
- Se necessário, defina o Operador Geral como AND
- Neste exercício, aplicaremos filtros baseados em texto para que o operador global possa ser And ou Or.
- A opção Inverse (Inverso) permite que o Smart Filter mantenha (marcado) ou remova (desmarcado) todas as linhas que correspondem aos critérios do filtro. Neste exercício, queremos remover todas as linhas em que o Cenário é igual a Real ou o Mercado não é igual a Nova York. Para isso, desmarcamos a opção Inverse.
- Salvar o comando
Etapa 7: Adicionar uma coluna de ano
Por fim, adicione uma coluna adicional ao conjunto de dados para indicar o ano dos dados.
- Adicionar um comando Inserir coluna do conector de transformação tabular à cadeia
- Conectar o comando Insert Column ao comando Smart Filter Rows
- Edite o comando e configure-o com o seguinte:
| Nome | Inserir coluna - Ano do plano |
| Arquivo de entrada | Saída de linha de filtro inteligente |
| Arquivo de saída | <deixar em branco> |
| Resultados preliminares | Verificado |
| Deliimitador | Vírgula |
| Texto do cabeçalho | Ano |
| Valor dos dados | 2022 |
| Inserir índice | 3 |
- Salvar o comando
Etapa 8: Teste o exercício
Agora que a cadeia está concluída, teste o resultado.
- Publicar a cadeia
- Clique em Executar e selecione Run Chain
- Quando a cadeia estiver concluída, clique no nó Inserir coluna - Ano do plano
- Na guia Saídas (Saídas), confirme que os registros 385 foram emitidos
- Clique na guia Logs e confirme os dados de acordo com a imagem abaixo
Guia Saída
Guia Registros
Para saber mais sobre transformação de dados usando cadeias, confira Connected Learning Paths - Transformation Introduction!