Power BI + Dynamics 365: Aprofundamento da integração nativa
Nenhuma integração de BI no ecossistema da Microsoft é mais estreita do que o Power BI e o Dynamics 365. Ambos os produtos compartilham a mesma infraestrutura de nuvem, modelo de autenticação e plataforma de dados (Dataverse). A Microsoft investiu pesadamente para tornar essa integração perfeita, a ponto de os relatórios incorporados do Power BI aparecerem nativamente nos formulários, painéis e exibições do Dynamics 365, sem a necessidade de login separado.
No entanto, muitas organizações do Dynamics 365 apenas arranham a superfície desta integração. Este guia abrange todos os padrões de integração, desde a conexão básica do Dataverse até relatórios incorporados, análise do Dynamics 365 Sales, design de painel financeiro e análise de módulos cruzados em CRM, ERP e Field Service.
Principais conclusões
- O conector do Dataverse é o método de conexão nativo preferido para todos os dados do Dynamics 365
- Os relatórios incorporados do Power BI aparecem dentro de formulários e painéis D365 sem sair da IU
- O Microsoft Fabric e o Dataverse compartilham a mesma infraestrutura do Azure — os atalhos do Fabric eliminam a movimentação de dados
- O Dynamics 365 Sales tem um aplicativo de análise nativo (aplicativo de modelo do Power BI) implantável em minutos
- O Finance and Operations usa a integração do Azure Data Lake para análises em grande escala
- A análise entre módulos (Vendas + Finanças, Serviços + Estoque) exige a união de tabelas do Dataverse com dados financeiros
- A segurança em nível de linha espelha unidades de negócios e funções de segurança do Dynamics 365
- Os relatórios paginados do Power BI integram-se ao D365 Finance para relatórios regulatórios/estatutários
Produtos do Dynamics 365 e suas fontes de dados
Compreender qual produto Dynamics 365 usa qual plataforma de dados é essencial para o design de integração:
| Produto D365 | Plataforma de dados | Conector Primário |
|---|---|---|
| Vendas | Dataverso | Conector do Dataverse |
| Atendimento ao Cliente | Dataverso | Conector do Dataverse |
| Serviço de campo | Dataverso | Conector do Dataverse |
| Comercialização | Dataverso | Conector do Dataverse |
| Finanças e Operações | SQL do Azure/ADLS | Conector de Finanças e Operações / ADLS |
| Central de Negócios | SQL do Azure | Conector Central de Negócios |
| Comércio | Dataverse + SQL do Azure | Múltiplo |
| Recursos Humanos | Dataverso | Conector do Dataverse |
| Operações do Projeto | Dataverso | Conector do Dataverse |
Principal distinção: os aplicativos Dynamics 365 criados no Dataverse (Sales, Service, Field Service, Marketing) usam o conector do Dataverse. O Dynamics 365 Finance & Operations usa bancos de dados SQL do Azure hospedados na nuvem separados com um conector Power BI dedicado e exportação do Azure Data Lake.
Conector 1: Dataverse (Conector Primário)
O conector do Dataverse é o caminho de integração recomendado para todos os aplicativos D365 baseados no Dataverse. Ele fornece:
- Tabelas padrão: Todas as entidades padrão do D365 (Contas, Contatos, Oportunidades, Casos, etc.)
- Tabelas personalizadas: quaisquer tabelas personalizadas criadas pela sua organização
- Colunas de escolha: valores de pesquisa com rótulos (não apenas códigos internos)
- Relacionamentos: navegável por meio da expansão do relacionamento do Power Query
- Dados em tempo real: sem movimentação de dados — as consultas vão diretamente para o Dataverse
Configuração
- No Power BI Desktop: Obter dados → Dataverse
- URL do ambiente:
https://{your-environment}.crm.dynamics.com - Entre com suas credenciais do Dynamics 365 (ou entidade de serviço para atualização agendada)
- Navegue pelas tabelas e selecione as entidades necessárias
Tabelas principais para análise de vendas D365
account — Customer/Prospect organizations
contact — Individual contacts
opportunity — Sales deals with stage, probability, close date
quote — Formal price quotes linked to opportunities
salesorder — Confirmed sales orders
invoice — Invoices from orders
lead — Incoming leads pre-qualification
activitypointer — All activities (emails, calls, meetings)
systemuser — Sales reps and users
team — Sales teams and territories
Tratamento de conjuntos de opções do Dataverse
Os conjuntos de opções do Dataverse (colunas de escolha) armazenam códigos inteiros internamente. O conector do Dataverse retorna o código e o rótulo, mas você deve lidar com isso no Power Query:
// Expand opportunity status code to label
Source = Dataverse.EntitySet("https://org.crm.dynamics.com", "opportunity"),
AddLabel = Table.AddColumn(Source, "Stage Label",
each if [statuscode] = 1 then "In Progress"
else if [statuscode] = 2 then "Won"
else if [statuscode] = 3 then "Cancelled"
else "Unknown")
Prática recomendada: use o campo [email protected] que o Dataverse retorna automaticamente com rótulos formatados.
Conector 2: Dynamics 365 Finance & Operations
O D365 Finance and Operations usa um conector separado que se conecta à camada de entidade virtual do Finance ou diretamente ao Azure Data Lake (recomendado para análises em grande escala).
Opção A: Conector de Finanças e Operações (Loja de Entidades)
O conector Dynamics 365 Finance do Power BI consulta o Repositório de Entidades Financeiras — um banco de dados separado, otimizado para leitura, atualizado pelos processos em lote do Finance.
- Obter dados → Dynamics 365 (online) → Finanças
- URL do ambiente:
https://{env}.operations.dynamics.com - Conecte-se a cubos e entidades de dados do Entity Store
Entidades disponíveis (exemplos):
RetailSalesLine— Detalhes da transação de vendasVendTransaction— Transações de pagamento do fornecedorCustTransaction— Transações do clienteLedgerTransactionEntity— Lançamentos do razão geralBudgetTransactionEntity— Lançamentos de orçamento
Opção B: Exportação do Azure Data Lake (recomendado)
Para análises financeiras em grande escala (mais de 10 milhões de transações), configure o recurso "Exportar para Azure Data Lake" do Finance:
- No administrador de Finanças e Operações: Workspace → Gerenciamento de Dados → Configurar Azure Data Lake
- Conecte-se à sua conta do Azure Data Lake Storage Gen2
- Selecione tabelas para exportar (incremental ou completa)
- O Power BI lê diretamente do ADLS por meio do conector Azure Data Lake Storage
Essa arquitetura lida com dados financeiros em qualquer escala sem afetar o desempenho do aplicativo financeiro.
Opção C: Microsoft Fabric (recomendado para novas implantações)
Com o Microsoft Fabric, os dados do D365 Finance no ADLS se tornam um atalho do Fabric — acessível ao Power BI por meio do modo Direct Lake sem movimentação de dados adicional:
D365 Finance → ADLS Gen2 (via Export) → Fabric OneLake (Shortcut) → Power BI Direct Lake
Nenhum pipeline ETL é necessário. O Fabric lê dados ADLS como se fossem conteúdo nativo do OneLake.
Relatórios do Power BI incorporados no Dynamics 365
Este é um dos recursos de integração do Dynamics 365 mais valiosos do Power BI: relatórios incorporados diretamente em formulários e painéis do D365.
Configurando relatórios incorporados
- Publique o relatório do Power BI em um espaço de trabalho Premium ou PPU (usuários gratuitos precisam de capacidade Premium para visualização)
- Nas Configurações do Dynamics 365: Administração → Configurações do sistema → guia Relatórios
- Habilite: “Visualizações no Power BI”
- Em qualquer painel do D365: Adicionar componente → Bloco do Power BI → Selecione seu relatório/painel
- Em formulários D365: Abra o editor de formulário → Inserir → Subgrade ou recurso da Web → PowerBI
Filtragem de contexto (filtros de relatório do registro D365)
O cenário incorporado mais poderoso: um relatório do Power BI que filtra automaticamente o registro D365 atual.
Por exemplo, a abertura de um registro de conta D365 mostra um relatório do Power BI incorporado que mostra apenas o histórico de receita, os casos abertos e o pipeline dessa conta — sem a necessidade de filtragem por parte do usuário.
Configure via recurso web JavaScript que passa o GUID do registro atual para o filtro de relatório do Power BI:
// D365 form JavaScript — pass account ID to Power BI filter
function passRecordToReport(executionContext) {
const formContext = executionContext.getFormContext();
const accountId = formContext.data.entity.getId();
// The Power BI report uses this parameter for row filtering
const filterValue = accountId.replace(/[{}]/g, '');
// Update the Power BI visual's filter via PostMessage
const powerBiFrame = document.getElementById('powerBiReport');
powerBiFrame.contentWindow.postMessage(
JSON.stringify({ action: 'filter', accountId: filterValue }),
'https://app.powerbi.com'
);
}
Análise entre módulos: vendas + finanças + serviços
O verdadeiro poder analítico do D365 + Power BI surge quando você une dados entre módulos. Aqui estão os principais padrões de análise entre módulos:
Painel do Cliente 360
Junte-se ao Dataverse (vendas, serviços) com dados financeiros:
| Dimensão | Fonte | Campos |
|---|---|---|
| Conta/Cliente | Dataverso (conta) | Nome, Indústria, Região, Gerente de Contas |
| Pipeline de vendas | Dataverse (oportunidade) | Operações abertas, receita esperada |
| Encomendas | Dataverse (pedido de venda) | Pedidos confirmados, Receita |
| Casos de suporte | Dataverse (incidente) | Casos abertos, status do SLA, tempo de resolução |
| Pagamentos | D365 Finanças | Faturas pendentes, Histórico de pagamentos |
| Contratos | Dataverse (contrato) | Contratos ativos, datas de renovação |
// Customer Health Score (composite measure)
Customer Health Score =
VAR PaymentScore = SWITCH(TRUE(),
[Avg Days to Pay] <= 30, 40,
[Avg Days to Pay] <= 60, 25,
[Avg Days to Pay] <= 90, 10,
0
)
VAR SupportScore = SWITCH(TRUE(),
[Open Cases] = 0, 30,
[Open Cases] <= 2, 20,
[Open Cases] <= 5, 10,
0
)
VAR PipelineScore = IF([Open Pipeline Value] > 10000, 30, 15)
RETURN PaymentScore + SupportScore + PipelineScore
Análise de vendas em dinheiro
Acompanhe a jornada desde a oportunidade até o recebimento do dinheiro:
Lead → Opportunity → Quote → Order → Invoice → Payment
Medidas DAX para conversão de estágio:
// Lead-to-Opportunity Conversion Rate
Lead to Opp Rate =
DIVIDE(
CALCULATE(COUNTROWS(Lead), Lead[statuscode] = 3), -- 3 = Qualified
COUNTROWS(Lead),
0
)
// Quote-to-Order Conversion Rate
Quote Win Rate =
DIVIDE(
CALCULATE(COUNTROWS(Quote), Quote[statecode] = 1), -- 1 = Won
COUNTROWS(Quote),
0
)
// Average Days from Opportunity to Invoice
Avg Sales Cycle Days =
AVERAGEX(
FILTER(Opportunity, Opportunity[statecode] = 1), -- Won
DATEDIFF(Opportunity[createdon], Opportunity[actualclosedate], DAY)
)
Segurança: espelhamento de funções de segurança D365
O Dynamics 365 usa um modelo de segurança sofisticado: unidades de negócios, funções de segurança, equipes e segurança em nível de campo. O RLS do Power BI pode espelhar esse modelo.
RLS baseado em unidade de negócios
// RLS filter — restrict data to user's business unit hierarchy
[OwningBusinessUnit] IN
PATHCONTAINS(BusinessUnit[BusinessUnitPath],
LOOKUPVALUE(
SystemUser[BusinessUnitId],
SystemUser[Email],
USERPRINCIPALNAME()
)
)
Isolamento de dados em nível de vendedor
// Opportunities visible to current user (their own + manager's team)
CALCULATE(
[Total Pipeline Value],
FILTER(
Opportunity,
Opportunity[OwnerEmail] = USERPRINCIPALNAME() ||
Opportunity[OwnerManagerEmail] = USERPRINCIPALNAME()
)
)
Para hierarquias de segurança complexas do D365, sincronize diariamente as atribuições de funções de segurança do D365 com uma tabela de dimensões do Power BI e, em seguida, aplique o RLS com base nesse mapeamento.
Painéis financeiros D365
KPIs do painel financeiro do CFO
// Accounts Receivable Turnover
AR Turnover =
DIVIDE([Total Revenue], AVERAGE(Balance_Sheet[AR_Balance]))
// Days Payable Outstanding
DPO =
DIVIDE(
CALCULATE(SUM(VendTransaction[AmountCur]), VendTransaction[TransType] = "Purch"),
DIVIDE([Total COGS], 365),
0
)
// Working Capital
Working Capital =
[Total Current Assets] - [Total Current Liabilities]
// Operating Cash Flow (indirect method)
Operating Cash Flow =
[Net Income] +
[Depreciation & Amortization] +
[Change in Working Capital]
Perguntas frequentes
O Power BI funciona com o Dynamics 365 Business Central?
Sim — a Microsoft fornece um conector Business Central dedicado para Power BI. O Business Central inclui relatórios incorporados do Power BI em suas páginas do Role Center por padrão. O conector usa APIs OData e expõe as páginas da API do Business Central (entradas financeiras, itens, clientes, fornecedores). A atualização de dados do Business Central requer uma licença do Power BI Pro ou Premium e suporta até 48 atualizações por dia no Premium.
Posso usar o DirectQuery com o Dataverse?
Sim — o conector do Dataverse dá suporte ao modo DirectQuery. As consultas do Dataverse são executadas no serviço Dataverse em tempo real. Para a maioria das análises de vendas e serviços do D365 (milhões de registros), o DirectQuery no Dataverse tem um bom desempenho. Para ambientes muito grandes do Dataverse (mais de 100 milhões de linhas), considere importar dados para um Fabric lakehouse para obter melhor desempenho.
Como lidar com a segurança do Dynamics 365 no Power BI para usuários externos?
Os usuários externos (clientes, parceiros) que acessam relatórios incorporados do Power BI precisam de tratamento especial. As opções incluem: contas de convidado B2B do Azure AD com licenças do Power BI Pro ou Power BI Embedded (A SKU) com autenticação principal de serviço e segurança em nível de linha imposta pelo seu aplicativo. Nunca exponha dados D365 não filtrados em cenários incorporados — sempre aplique RLS estrito para isolar os dados de cada usuário externo.
O que é a integração do Dynamics 365 Sales Insights com o Power BI?
O Dynamics 365 Sales Insights (Viva Sales) gera análises preditivas (pontuação de oportunidades, integridade do relacionamento, previsão de pipeline) nativamente no D365. Esses dados são armazenados no Dataverse e podem ser conectados ao Power BI para visualização personalizada. O Power BI pode aprimorar os dados do Sales Insights com benchmarks externos, análise de tendências históricas e correlações entre módulos não disponíveis na análise nativa do D365.
O Power BI pode substituir os painéis integrados do Dynamics 365?
O Power BI amplia significativamente o que os painéis integrados do D365 podem fazer: visualizações personalizadas, medidas DAX complexas, análises entre módulos e relatórios paginados estão indisponíveis no editor de gráficos nativo do D365. No entanto, os painéis do D365 continuam úteis para visualizações operacionais diárias dentro do aplicativo. A abordagem recomendada é: painéis nativos D365 para visualizações operacionais rápidas, Power BI para relatórios analíticos e executivos.
Próximas etapas
A integração Power BI + Dynamics 365 é a integração de BI mais nativa e rica em recursos do mercado de software empresarial. As organizações que investem nesta integração ganham visibilidade unificada em operações de CRM, ERP e serviços que antes eram impossíveis sem o desenvolvimento personalizado.
A equipe de Power BI da ECOSIRE é especializada em análises do Dynamics 365 — desde painéis integrados simples até análises complexas do Customer 360 entre módulos e Sales-to-Cash. Trazemos experiência em Power BI e Dynamics 365 para garantir que a integração seja segura, eficiente e alinhada com seu modelo de segurança D365.
Explore nossos serviços de integração do Power BI ERP para obter detalhes de implementação do Dynamics 365 ou entre em contato com nossa equipe de análise para projetar uma arquitetura do Power BI que maximize seu investimento no Dynamics 365.
Escrito por
ECOSIRE Research and Development Team
Construindo produtos digitais de nível empresarial na ECOSIRE. Compartilhando insights sobre integrações Odoo, automação de e-commerce e soluções de negócios com IA.
Artigos Relacionados
Building Financial Dashboards with Power BI
Step-by-step guide to building financial dashboards in Power BI covering data connections to accounting systems, DAX measures for KPIs, P&L visualisations, and best practices.
Case Study: Power BI Analytics for Multi-Location Retail
How a 14-location retail chain unified their reporting in Power BI connected to Odoo, replacing 40 spreadsheets with one dashboard and cutting reporting time by 78%.
GoHighLevel + Power BI: Advanced Reporting and Analytics
Connect GoHighLevel to Power BI for advanced marketing analytics. Build executive dashboards, track multi-channel ROI, and create automated reports that go beyond GHL's native reporting.