sexta-feira, 19 de março de 2021

Consulta ao dólar via API do Banco Central no Excel (data dinâmica)

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

    Ao se voltar à planilha, se o botão "Consultas e Conexões" estiver habilitado (Figura 9), o painel direito estará habilitado. Como já apresentado anteriormente, há várias opções disponíveis nesse painel.
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



Nenhum comentário:

Postar um comentário