API do Power BI: Automatizando Relatórios e Dashboards
Integrar dados externos por meio de APIs (Application Programming Interfaces) é fundamental para ampliar a capacidade analítica de um dashboard no Power BI. Em cenários que exigem acompanhamento em tempo real — como monitoramento de métricas de marketing, indicadores financeiros ou dados de IoT — conectar-se diretamente a endpoints da API torna-se indispensável. Neste artigo, você vai aprender:
- Por que usar APIs no Power BI
- Modelos de integração: Import vs. DirectQuery vs. Streaming
- Passo a passo: conectando-se a uma API REST
- Exemplo prático: consumindo a API pública de clima
- Boas práticas e dicas de performance
- Considerações finais
1. Por que usar APIs no Power BI
- Dados sempre atualizados
APIs permitem acesso direto à fonte, sem exportar manualmente planilhas. - Automação completa
Ao agendar a atualização do conjunto de dados, o Power BI busca novas informações automaticamente. - Flexibilidade
Dá para consumir APIs de CRMs, ERPs, plataformas de e-commerce, serviços de dados de mercado etc.
2. Modelos de integração
Modo | Como funciona | Vantagens | Limitações |
---|---|---|---|
Import | Dados copiados para o modelo interno | Ótimo desempenho de consulta | Atualizações periódicas (mínimo 30 min) |
DirectQuery | Consulta em tempo real diretamente na fonte de dados | Informações sempre frescas | Latência dependerá da API |
Streaming | Dados em memória atualizados via push API ou Azure Stream Analytics | Atualização quase instantânea (< 5 s) | Implementação mais complexa |
3. Passo a passo: conectando-se a uma API REST
- Obtenha a URL e as credenciais
Endpoints podem exigir API Key, OAuth ou autenticação básica. - No Power BI Desktop, vá em "Obter Dados" → "Web"
- Insira a URL do endpoint
Para parâmetros dinâmicos, defina Parâmetros no editor. - Configure a autenticação
Escolha "Cabeçalhos HTTP personalizados" ou "API Key" conforme necessário. - Transforme a resposta com Power Query (M)
Converta JSON em tabela, expanda colunas e ajuste tipos de dados. - Carregue no modelo e agende atualizações
No serviço do Power BI, configure o gateway (caso a API não seja pública) e defina o agendamento.
4. Exemplo prático: consumindo a API pública de clima
Endpointhttps://api.openweathermap.org/data/2.5/weather?q=São+Paulo&appid=SEU_API_KEY&units=metric&lang=pt_br
Consulta em Power Query (M)
let
Fonte = Json.Document(Web.Contents(
"https://api.openweathermap.org/data/2.5/weather",
[
Query = [
q = "São Paulo",
appid = "SEU_API_KEY",
units = "metric",
lang = "pt_br"
]
]
)),
Main = Fonte[main],
Tabela = Record.ToTable(Main),
TipoCerto = Table.TransformColumnTypes(Tabela, {{"Value", type number}})
in
TipoCerto
O que acontece?
- Web.Contents
faz a requisição HTTP com parâmetros de query string.
- Json.Document
converte o corpo JSON em registro do Power Query.
- Record.ToTable
transforma o registro em tabela para facilitar a análise.
- Table.TransformColumnTypes
ajusta os tipos de coluna.
5. Boas práticas e dicas de performance
- Minimize chamadas
Agrupe múltiplas consultas em um único endpoint, quando possível. - Use parâmetros
Facilita reutilizar etapas para diferentes cidades, datas ou filtros. - Pré-processamento com Dataflow
Crie Dataflows no Power BI Service para pré-carregar e transformar dados, aliviando o gateway. - Respeite limites de API
Verifique o rate limit do provedor e evite bloqueios por excesso de requisições. - Trate erros
Empreguetry … otherwise
para lidar graciosamente com falhas:let Resultado = try Web.Contents("https://api.exemplo/v1") otherwise null in Resultado
6. Considerações finais
Integrar APIs ao Power BI eleva seus dashboards a um novo patamar de dinamismo e autonomia. Seja para acompanhar campanhas, operações internas ou sensores IoT, essas técnicas tornam suas visualizações mais precisas e menos dependentes de atualizações manuais.
Próximos passos sugeridos:
- Teste a conexão com uma API simples (como a de clima).
- Avalie DirectQuery se aceitar a latência.
- Considere usar Azure Functions como um proxy para consolidar várias APIs.