Todos nós tivemos a necessidade de baixar os dados de um site, o principal problema que enfrentamos é que é um processo manual, temos que entrar no site, encontrar o arquivo correto e baixá-lo e depois prepará-lo no Excel.
Seria ótimo se pudéssemos automatizar o processo e até preparar os dados com um clique, não acham?
Não só seria, é excelente e podemos fazer isso facilmente usando o Alteryx.
Neste artigo irei mostrar os passos para configurá-lo e também compartilhar o fluxo finalizado para que você possa segui-lo passo a passo ou modificá-lo para usá-lo com seus dados.
Este é o processo completo, vou descrevê-lo passo a passo para torná-lo mais claro.
Primeiro você deve localizar onde o arquivo que deseja baixar está localizado.
Para este exemplo, será um arquivo com casos confirmados de coronavírus do site github.com
Como você pode ver no link acima, é um arquivo separado por vírgulas e contém semanalmente as informações de casos COVID19 verificados por país.
Se quiséssemos ter esses dados para atualizar nossos relatórios, teríamos que entrar no site, encontrar o arquivo e baixá-lo manualmente, em seguida, alterar o formato ou intervalo no Excel para poder criar um novo relatório que inclui uma nova semana ; Este processo é trabalhoso e demorado e está sujeito a erros.
Para começar, baixamos o arquivo no formato CSV para usá-lo como um modelo no fluxo de trabalho que será criado posteriormente.
Com o Alteryx, podemos usar a poderosa e simples ferramenta Download para fazer isso automaticamente.
Começaremos com o arquivo que queremos baixar, para este exemplo será um arquivo com casos confirmados de coronavírus do site github.com
A sua configuração é muito simples e requer mais dois elementos para funcionar de forma otimizada e de fácil manutenção.
Primeiro, exigimos uma entrada de texto onde colocaremos o endereço da página à qual queremos nos conectar e o nome do arquivo que queremos baixar.
Um campo é adicionado para o URL e outro para o nome do arquivo.
No download.
As configurações são selecionadas como na tela.
Em URL, o campo URL da entrada de texto que colocamos é selecionado.
Na saída, um campo é selecionado, como String.
Na guia de cabeçalhos.
O nome do arquivo é selecionado e isso é tudo que você precisa configurar para fazer o download automático.
A saída do download são os cabeçalhos HTML, se funcionar deve indicar um código 200, OK:
Se der qualquer código diferente da faixa de 200 é um erro, os erros são padrão e é devido a uma variedade de condições, para consultá-los eles podem entrar aqui:
https://www.restapitutorial.com/httpstatuscodes.html
Os dados estarão no campo DownloadData, em um único registro.
Como vemos na mensagem, o campo possui novas linhas incorporadas e caracteres truncados. Para preparar isso, usaremos um bloco de Texto em Colunas.
Selecionamos o campo DownloadData que possui o conteúdo que procuramos, pois possui novas linhas usamos o delimitador \ n com o qual dividiremos o conteúdo cada vez que houver uma nova linha.
A última opção a selecionar é dividir em linhas, desta forma podemos garantir que independentemente da quantidade de registros que você possui, sem especificá-los, esta opção os dividirá, independentemente de variarem a cada vez.
Finalmente, usamos um selecionar para ocultar as colunas que não usaremos mais tarde.
Ao marcar a caixa de seleção à esquerda dos campos, vamos descartar colunas que não serão úteis no processo.
Como pode ser visto no fluxo, cada processo é agrupado dentro de um contêiner, que atende a várias funções.
A primeira é classificar os itens do fluxo e separá-los para facilitar a manutenção e a documentação.
A segunda é que podemos desativar os processos que estão dentro para tornar a execução mais rápida ou se for uma parte do processo que não é necessário rodar sempre.
A terceira é que podemos simplificar o fluxo ocultando os processos que você possui ao clicar na guia à direita. Nesta opção, os blocos analíticos que estão dentro do container continuarão sendo executados.
A próxima etapa, uma vez que temos os dados no Alteryx, será dar a eles um formato que possamos usar para analisar, já que ele faz o download como uma página da web com tags html que não serão úteis para nós. Para isso separaremos o conteúdo em 2, de um lado, os cabeçalhos e de outro os registros que posteriormente uniremos para ter o arquivo pronto.
Conteúdo baixado com tags HTML
A primeira etapa é adicionar um filtro para ter todos os cabeçalhos das colunas.
A condição a ser avaliada será se ele contém Province/State que é o campo para indicar que é o título de cada categoria.
Adicionamos expressões regulares para limpar os caracteres de que não precisamos.
A coluna a ser analisada é selecionada.
A expressão regular que fará a limpeza é colocada.
<\ s * [^>] *>
Sem entrar em grandes detalhes, o que ele faz é substituir tudo entre <> e entre [], com isso removemos as tags html e temos apenas os dados que estamos procurando.
Se você quiser aprender mais sobre expressões regulares e como usá-las, recomendo este curso interativo e muito simples que encontrei.
Na Saída, o método que neste caso é substituir é selecionado para alterar esse texto e colocar um espaço.
Antes da regex:
Após a regex:
Usamos a limpeza de dados para remover os espaços em branco no início e no final do campo.
Como os campos estão em uma coluna e para nosso formato exigimos que sejam títulos de colunas, temos que fazer um pivô ou girá-los, função semelhante ao que se faz no Excel com uma tabela dinâmica.
Para fazer isso, a primeira etapa é adicionar uma ID automática.
Esse processo adiciona um campo de numeração automática incremental que nos permitirá girar o conteúdo, mesmo se novas colunas forem adicionadas automaticamente.
Este bloco não precisa de configuração.
A tabulação cruzada é a próxima etapa.
Para poder girar os dados, altere-os de colunas para linhas. Desta forma, faremos os títulos das colunas da maneira correta.
Se seleciona o campo que permanecerá como cabeçalho, RecordID, que criamos na etapa anterior, é selecionado; os valores das colunas são os de DownloadData.
Quando é girado, tem a seguinte aparência:
Já temos os títulos das colunas prontos.
Agora você deve preparar o conteúdo dos registros.
Filtramos os campos que possuem a tag <td>.
Em seguida, aplicamos as mesmas três etapas do processo que usamos para os cabeçalhos.
Com o regex, removemos as tags html, limpamos os espaços em branco extras e adicionamos um id aos registros para uni-los novamente mais tarde.
Para isso, utilizaremos um resumo que obterá o último registro cada vez que for executado. Como nesta etapa as informações ainda estão em linhas, ao contar as linhas nos dará o número de colunas que o arquivo terá.
Selecionamos o RecordID e a opção Último para nos dar o registro final e desta forma não importa se os registros aumentam ou diminuem, sempre teremos o número total dinamicamente.
Para utilizar esse registro, adicionaremos um append para uni-lo com o conteúdo dos registros e poder calcular um ID para transpor os dados e que o conteúdo de cada registro seja dividido corretamente.
A única opção a ser selecionada é Permitir que todas as operações de acréscimo replicem o valor em cada um dos registros.
Com o valor do último registro.
Utilizamos uma fórmula para poder dividir o total de registros pelo número de cabeçalhos que o arquivo possui, de forma a separar o conteúdo de cada registro.
Para isso, usamos uma fórmula.
Selecionamos a coluna que queremos calcular, é uma já existente.
Digitamos a divisão dos registros pelo total de cabeçalhos com o operador teto que se comporta da mesma forma que a função de arredondamento do Excel.
O resultado desta fórmula será que cada linha terá o mesmo número de identificação para que, ao girá-las, elas se fixem no lugar correto.
Se você deseja conhecer todas as funções disponíveis na fórmula e na descrição, pode consultar o seguinte artigo:
https://help.alteryx.com/current/designer/math-functions
O próximo ponto necessário para acomodar os dados é adicionar uma fórmula de várias linhas que criará um ID para cada grupo de registros que acabamos de fazer com a fórmula.
Vamos criar um novo campo; Selecionamos um agrupamento porque o número começará a cada vez que eu atingir o número de colunas que o arquivo possui, neste caso 333. Ao final é colocada a expressão que irá criar o id, neste caso é [Linha-1: Novo campo] + 1, irá adicionar um ao campo imediatamente anterior que é zero e irá zerá-lo toda vez que eu atingir o final do valor do campo que selecionamos no agrupamento.
Agora vamos girar os dados de maneira semelhante à que fizemos com os títulos usando uma crosstab.
A única diferença neste caso será que iremos selecionar um campo para agrupar os valores, isto porque temos várias linhas que se repetem e desta forma serão colocadas corretamente no resultado.
Agrupamos por recordID para que ele distribua os dados em cada registro de acordo.
Os cabeçalhos serão o conteúdo do novo campo e os valores de cada coluna o conteúdo dos dados de download.
Dessa forma, passamos de ter os dados em linhas para colunas.
A próxima etapa é ocultar o id que não será mais útil posteriormente.
Para isso, usaremos um bloco de seleção.
Agora que preparamos os cabeçalhos e o conteúdo do arquivo, devemos unir os dois para ter as informações completas.
Para isso, usaremos um bloco de junção.
Selecionamos a opção Configurar automaticamente por posição para que empilhe o conteúdo de cada coluna de acordo com a ordem em que aparece no arquivo.
O resultado da união é o seguinte:
O conteúdo já faz sentido e está em um formato que podemos usar.
A única coisa que resta a fazer é renomear cada coluna que agora tem números consecutivos enquanto o nome aparece como o primeiro registro.
Para fazer isso, você deve trabalhar com uma mudança de nome dinâmica, que pode ser encontrada na aba do desenvolvedor.
Com este bloco é possível alterar o nome das colunas, com a opção de Tirar nome dos campos da primeira linha de dados.
O que deixará o arquivo no formato correto.
Foi assim que baixamos e preparamos o arquivo que estava no formato de página da web (HTML) com o Alteryx.
Qual é a vantagem de fazer isso com o Alteryx?
Espero que este artigo seja útil para você, se você tiver alguma dúvida sobre o processo, pode perguntar nos comentários.
Você deve ser um usuário registrado para adicionar um comentário aqui. Se você já estiver registrado, faça logon. Se você ainda não estiver registrado, registre-se e faça logon.