Parte 2 de 2 - Consulta ao dólar via API do Banco Central no Excel (data dinâmica)
No artigo anterior, foi mostrado o uso do Power Query para a consulta do dólar ao Banco Central do Brasil. Portanto, essa é uma continuação, com a adição de consulta utilizando o Power Query utilizando data em uma célula.
Para dar continuação, crie um campo com o nome "Data", e insira a data abaixo (Figura 1).
Figura 1: Campo data |
O próximo passo é se nomear a célula contendo a data. Uma maneira de se fazer isso é selecionar a célula, atribuir o nome da mesma no campo indicado e clicar em Enter. No exemplo, a célula é a C2, e o nome atribuído é "DataConsulta", sem as aspas (Figura 2).
Figura 2: Atribuindo nome à célula |
Abra o editor de consulta (Figura 3). Para isso, habilite "Consultas e Conexões" na aba "Data", posicione o mouse sobre o nome da consulta. No painel flutuante que se abre, clique em "EDITAR".
Figura 3:Acessando a edição de consulta |
Para que tudo funcione corretamente, "Arquivo -> Opções e Configurações -> Opções de Consulta" (Figura 4).
Figura 4: Acessando as opções de consulta |
Na janela que se abre, vá em "Privacidade -> Níveis de Privacidade", e selecione "Ignore os níveis de privacidade e melhore potencialmente o desempenho". Clique em "OK" para fechar a janela e aceitar a opção selecionada (Figura 5).
Figura 5: Ajustando as opções de consulta |
Agora clique no botão "Editor Avançado" (Figura 6).
Figura 6: Abrindo o editor avançado |
Com o editor avançado aberto (Figura 7), há código da Parte 1 desse artigo. Salve-o em algum local de sua preferência, se desejar. Em seguida, substitua com o código a seguir:
let
DataConsulta = Excel.CurrentWorkbook(){[Name="DataConsulta"]}[Content]{0}[Column1],
DataTexto = DateTime.ToText(DataConsulta, "MM-dd-yyyy"),
URLConsulta = Text.Combine({ "https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/odata/CotacaoDolarDia(dataCotacao=@dataCotacao)?@dataCotacao='", DataTeste, "'&$top=1&$format=json&$select=cotacaoVenda"}),
Fonte = Json.Document(Web.Contents("https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/odata/CotacaoDolarDia(dataCotacao=@dataCotacao)?@dataCotacao='"&DataTexto&"'&$top=1&$format=json&$select=cotacaoVenda")),
value = Fonte[value],
value1 = value{0},
#"Convertido para Tabela" = Record.ToTable(value1)
in
#"Convertido para Tabela"
Por fim, clique no botão "Concluído" para fechar a janela.
Figura 7: Editor avançado |
Para se voltar à planilha, clique no botão "Fechar e carregar" (Figura 8):
Figura 8: Voltando à planilha |
Figura 9: Abrindo o painel de consultas e conexões |
Há também o botão "Atualizar Tudo", o qual atualiza todas as consultas se clicado do meio para cima. Ao se clicar do meio para baixo (Figura 10), mais opções aparecem. No exemplo apresentado, bastará clicar do meio para cima (no ícone, por exemplo).
Figura 10: Atualização de consultas |
É possível acionar a consulta ao se alterar a data de forma automatizada, o que está fora do escopo desse artigo. O método se se atualizar ao se clicar no botão "Atualizar Tudo" é bem adequada, pois a cotação oficial é liberada somente após o fechamento da moeda.
A título de curiosidade, hoje somente o dólar é a moeda que o Banco Central se responsabiliza pela correta divulgação.
Obrigado pela leitura. :)
Fontes
Funções do Power Query