Casos de uso - Português

Obter a cotação de moeda diretamente do site do Banco Central

AlteryxAdvocacy
Alteryx
Alteryx
Created
Autor: Carlos Alexandre Teixeira 
Cargo: Consultor Business Intelligence
 
Visão geral do caso de uso
Nesse caso de uso, vamos explicar como você pode obter a cotação oficial de moedas estrangeiras diretamente do site do Banco Central do Brasil. O processo é relativamente simples, as instruções aqui mostradas podem ajudar você a utilizar as mesmas configurações para outros workflows e para outros sites.
 
Descreva sua solução

Primeiro passo é obter o link de acesso de onde você quer retirar as cotações, neste nosso exemplo acessamos o site do Banco Central do Brasil. Dentro do site do Banco Central identificamos a página onde está a cotação da moeda que queremos obter a cotação, neste exemplo estamos utilizando a cotação do Dólar e simulamos a obtenção da cotação de 1 semana

 

Neste ponto da consulta após a pesquisa ser efetuada o próprio site disponibiliza o download de um arquivo csv com a cotação (em amarelo na imagem acima)Neste ponto da consulta após a pesquisa ser efetuada o próprio site disponibiliza o download de um arquivo csv com a cotação (em amarelo na imagem acima)

 

Ao passar o mouse sobre o arquivo em csv conseguimos identificar o link de download da pesquisa efetuada, é este link que iremos utilizar em nosso workflow. 
https://ptax.bcb.gov.br/ptax_internet/consultaBoletim.do?method=gerarCSVFechamentoMoedaNoPeriodo&Chk...

Antes de mais nada temos que preparar o link acima para receber as datas que queremos pesquisar, em nosso exemplo estamos montando um workflow que irá nos trazer uma quantidade de dias específicos olhando sempre para a data do sistema. Este é um parâmetro que você poderá configurar conforme a sua necessidade específica.


Para isso alteramos o link acima da seguinte forma: 
https://ptax.bcb.gov.br/ptax_internet/consultaBoletim.do?method=gerarCSVFechamentoMoedaNoPeriodo&Chk...' 
Com esse link pronto já iniciamos a construção de nosso workflow utilizando a ferramenta 'Entrada de Texto'.

 

Entrada de Texto 

 
imagem_4_blog.jpg

 

Após essa etapa precisamos criar uma fórmula que vai contar a quantidade de dias entre a DATA INICIAL e a DATA FINAL, para que isso funcione da maneira correta vamos criar 2 novos campos com os nomes de DATA INICIAL e DATA FINAL utilizando a ferramenta 'Fórmula', e vamos utilizar 15 dias para obter os dados.
 
Fórmula
Lembrem-se de alterar o tipo de dados (Data Type) para o tipo Date.Lembrem-se de alterar o tipo de dados (Data Type) para o tipo Date.

 

 

A partir deste ponto vamos precisar adaptar o formato da data de YYYY-MM-DD para o formato que o site entende DD/MM/YYYY, para isso vamos utilizar a ferramenta 'DataHora' 2 vezes para converter as 2 datas (DATA INICIAL e DATA FINAL).

 

imagem_6_blog.jpg

 

Após a conversão chegou a hora de substituir os dados XX/XX/XXXX e YY/YY/YYYY do primeiro link pelas Datas Formatadas e calculadas nas ferramentas anteriores, para isso utilizamos novamente a ferramenta 'Fórmula' criando um novo campo chamado NEWLINK, ficando assim o nosso link:
https://ptax.bcb.gov.br/ptax_internet/consultaBoletim.do?method=gerarCSVFechamentoMoedaNoPeriodo&Chk...

 

imagem_7_blog.jpg

 
Feita a substituição podemos efetuar o download das informações de cotação com as datas incluídas no NEWLINK, para isso vamos utilizar a ferramenta de "Baixar" do próprio Alteryx para fazer o download dos dados.
 
Baixar
Vamos configurar esta ferramenta para pegar o novo campo criado e utilizar o método GET(or FTP) disponível na aba PAYLOAD (Carga).

 

imagem_8_blog.jpg
 
Como o site do Banco Central é público, o mesmo não exige autenticação, por isso não há a necessidade de configurar a aba CONNECTION. Se no seu caso você necessitar de autenticação utilizando usuário e senha, basta entrar nessa aba e efetuar a inclusão dos dados de acesso de usuário e senha. 
Detalhe: O pessoal de segurança da informação não gosta muito dessa ferramenta, ela deixa a senha bem vulnerável, cuidado ao utilizar essa configuração para não ferir as informações de compliance da sua empresa. 

Se você executar o seu workflow neste ponto você verá que vamos obter 2 novos campos: 
DownloadData e DownloadHeaders.
 
imagem_17_blog.jpg

No primeiro já temos todos os dados obtidos no site, estão todos em apenas 1 linha. No segundo temos a confirmação de que a conexão foi efetuada com sucesso (este campo é importantíssimo para saber se as configurações que fizemos está funcionando).

Vamos agora trabalhar os dados que vieram no campo DownloadData, vamos formata-los de modo a obter a cotação dia a dia, em colunas e linhas distintas (lembrem-se eles estão todos em uma única linha neste momento). Para isso vamos utilizar a ferramenta 'RegEX'.

 

RegEX

Neste ponto precisamos identificar as quebras de linhas existentes dentro do campo DownloadData, notem que nos dados temos um caracter diferente (em amarelo na imagem abaixo) que identifica que há uma quebra de linha neste ponto. Assim precisamos substituir esse caracter por algum outro, no nosso exemplo vamos substituir por ‘|’.
 
Nesta imagem já vemos o caracter substituído por ‘|’.Nesta imagem já vemos o caracter substituído por ‘|’.
 

Após a troca pelo caracter chegou a hora de efetuarmos as quebras de linhas, para isso vamos utilizar a ferramenta Texto para Colunas (Text to Columns) configurando a mesma para quando encontrar o ‘|’ dividir em linhas (Split to Rows).

 

Texto para Colunas

 
Descreva os benefícios que você alcançou
Pronto! Temos então a lista com os últimos 15 dias de cotação do dólar! 
Viu como é simples integrar esta informação valiosa com o Alteryx? Agora pense que há maneiras de automatizar este processo, integrá-lo com suas bases de dados e extrair insights para seus relatórios de maneira simples. 
 
Recursos disponíveis
 
Você encontra o workflow deste exemplo para download aqui
Comments
Felipe_Holz
5 - Atom
Olá @AlteryxAdvocacy, Estou fazendo o fluxo na mão apra poder treinar e durante o processo ocorreu um erro e queria tirar uma dúvida. Por acaso você está utilizando/conectado ao Alteryx server? Por que nós não estamos e está vindo sempre o erro "Error transfering data: Couldn't connect to server". Também tentamos utilizar o seu arquivo XML e não deu certo. Alguma ideia do que podemos estar fazendo errado? Att.
carlosteixeira
15 - Aurora
15 - Aurora

Olá @Felipe_Holz você pode entrar contato diretamente comigo, autor do case, posso ajudar você.

Me envie e-mail em carlosteixeira@uol.com.br terei prazer em ajudá-lo.

Não esta conectado ao Alteryx Server não, todo o fluxo foi montado e utilizado apenas no Alteryx Designer.

Em qual objeto você está obtendo o erro?

Pode me dizer?

 

Obrigado

 

Carlos A Teixeira

vroque
8 - Asteroid

Dá pra fazer isso pra vários informações públicas, a maioria é baixada por FTP. Vou ver se escrevo um caso onde é feito o webscraping da página pra localização do link e a partir disso o download. 

AlteryxAdvocacy
Alteryx
Alteryx

@vroque Oi Vitor, obrigada pela mensagem! Caso tenha interesse em fazer um caso de uso entre em contato com a gente que nós te ajudamos! 

rod_ortega
5 - Atom

Muito bom o case Carlos!

Precisei montar um case financeiro e o teu exemplo me ajudou bastante nesse processo. 

 

carlosteixeira
15 - Aurora
15 - Aurora

@rod_ortega Obrigado Ortega, fico feliz em ter ajudado ter alguma forma.

Grande abraço 

cpmonteiro
10 - Fireball

Muito legal,

rodei aqui e funcionou.

Excelente contribuição!

 

carlosteixeira
15 - Aurora
15 - Aurora

Obrigado @cpmonteiro feliz em ajudar a comunidade.

 

Abraços

Mariana_Ferreira95
6 - Meteoroid

Carlos, estou com algumas dúvidas relacionadas ao seu fluxo. Te mandei um e-mail. Podemos falar sobre?

carlosteixeira
15 - Aurora
15 - Aurora

Oi @Mariana_Ferreira95 Claro que podemos...

Já respondi seu e-mail.

 

😉

 

cristhiano
6 - Meteoroid

Boa tarde, gostaria que me ajudassem, pois no momento em que inseri a ferramenta de Download o fluxo processado retorna a informação "Erro ao transferir dados: Failure when receiving data from the peer". Fora do Alteryx eu consegui extrair o arquivo então não acredito que seja algum bloqueio da nossa rede. Conferi se a configuração da ferramenta está igual ao que nosso colega colocou no fluxo e me parece que está igual, pois as outras abas não sofreram alteração, somente a aba "Basico" 

cristhiano_0-1645707639577.png

Alguém tem alguma idéia do que pode estar ocorrendo?

carlosteixeira
15 - Aurora
15 - Aurora

@cristhiano Bom dia tudo bem?

Qual é a URL final que ele tá criando? consegue postar aqui?

 

Abraços

cristhiano
6 - Meteoroid
carlosteixeira
15 - Aurora
15 - Aurora

Se vc jogar essa URL no seu brwoser ele retorna o arquivo ou ele dá erro?

 

Abraços

cristhiano
6 - Meteoroid

Retorna o arquivo.

carlosteixeira
15 - Aurora
15 - Aurora

Excelente, isso quer dizer que a URL está sendo criada de forma certa.

Duas coisas:

1 - Da uma olhada na configuração na aba Conteúdo se está configurada como GET

2 - verifique se não há nenhum campo checado nas outras janelas.

 

Se precisar me encaminha uma mensagem no privado (aqui pela comunidade mesmo) que tentarei ajudar você mais detalhadamente

 

Abraços

cristhiano
6 - Meteoroid

me parece que não há nada "setado" nas outras abas:

 

cristhiano_0-1645714920872.png

 

 

cristhiano_1-1645714929685.png

 

 

cristhiano_2-1645714944301.png

 

carlosteixeira
15 - Aurora
15 - Aurora

@cristhiano Parece estar tudo certo mesmo.

Você pode compartilhar seu workflow aqui com a gente?

 

Obrigado

cristhiano
6 - Meteoroid

Como faço para anexar o fluxo aqui?

 

Não achei a opção para anexar arquivo.

 

 

carlosteixeira
15 - Aurora
15 - Aurora

@cristhiano Posta um novo tópico aqui nesse link, nele você consegue anexar o workflow

 

https://community.alteryx.com/t5/Forum-Portugues/bd-p/discussions-pt-br

 

Abraços