Power BI + Dynamics 365: análisis profundo de la integración nativa
Ninguna integración de BI en el ecosistema de Microsoft es más estrecha que Power BI y Dynamics 365. Ambos productos comparten la misma infraestructura de nube, modelo de autenticación y plataforma de datos (Dataverse). Microsoft ha invertido mucho para que esta integración sea perfecta, hasta el punto en que los informes de Power BI integrados aparecen de forma nativa en los formularios, paneles y vistas de Dynamics 365 sin necesidad de iniciar sesión por separado.
Sin embargo, muchas organizaciones de Dynamics 365 solo tocan la superficie de esta integración. Esta guía cubre todos los patrones de integración, desde la conexión básica de Dataverse hasta informes integrados, análisis de Dynamics 365 Sales, diseño de paneles de finanzas y análisis entre módulos en CRM, ERP y Field Service.
Conclusiones clave
- El conector Dataverse es el método de conexión nativo preferido para todos los datos de Dynamics 365.
- Los informes de Power BI integrados aparecen dentro de los formularios y paneles de D365 sin salir de la interfaz de usuario
- Microsoft Fabric y Dataverse comparten la misma infraestructura de Azure: los accesos directos de Fabric eliminan el movimiento de datos
- Dynamics 365 Sales tiene una aplicación de análisis nativa (aplicación de plantilla de Power BI) que se puede implementar en minutos
- Finance and Operations utiliza la integración de Azure Data Lake para análisis a gran escala
- El análisis entre módulos (Ventas + Finanzas, Servicio + Inventario) requiere unir tablas de Dataverse con datos de Finanzas
- La seguridad a nivel de fila refleja las unidades de negocio y roles de seguridad de Dynamics 365
- Los informes paginados de Power BI se integran con D365 Finance para informes regulatorios/estatutarios
Productos de Dynamics 365 y sus fuentes de datos
Comprender qué producto de Dynamics 365 utiliza qué plataforma de datos es esencial para el diseño de integración:
| Producto D365 | Plataforma de datos | Conector primario |
|---|---|---|
| Ventas | Datosverso | Conector de datos versos |
| Servicio al cliente | Datosverso | Conector de datos versos |
| Servicio de campo | Datosverso | Conector de datos versos |
| Comercialización | Datosverso | Conector de datos versos |
| Finanzas y Operaciones | Azure SQL/ADLS | Conector de Finanzas y Operaciones / ADLS |
| Central de Negocios | Azure SQL | Conector de Business Central |
| Comercio | Dataverse + Azure SQL | Múltiples |
| Recursos Humanos | Datosverso | Conector de datos versos |
| Operaciones del Proyecto | Datosverso | Conector de datos versos |
Distinción clave: las aplicaciones de Dynamics 365 creadas en Dataverse (ventas, servicio, servicio de campo, marketing) utilizan el conector de Dataverse. Dynamics 365 Finance & Operations utiliza bases de datos Azure SQL independientes alojadas en la nube con un conector Power BI dedicado y exportación de Azure Data Lake.
Conector 1: Dataverse (conector principal)
El conector de Dataverse es la ruta de integración recomendada para todas las aplicaciones D365 basadas en Dataverse. Proporciona:
- Tablas estándar: todas las entidades estándar de D365 (Cuentas, Contactos, Oportunidades, Casos, etc.)
- Tablas personalizadas: cualquier tabla personalizada creada por su organización
- Columnas de elección: valores de búsqueda con etiquetas (no solo códigos internos)
- Relaciones: navegable a través de la expansión de relaciones de Power Query
- Datos en tiempo real: sin movimiento de datos: las consultas van directamente a Dataverse
Configuración
- En Power BI Desktop: Obtener datos → Dataverse
- URL del entorno:
https://{your-environment}.crm.dynamics.com - Inicie sesión con sus credenciales de Dynamics 365 (o entidad de servicio para una actualización programada)
- Explore tablas y seleccione las entidades requeridas
Tablas clave para D365 Sales Analytics
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
Manejo de conjuntos de opciones de Dataverse
Los conjuntos de opciones de Dataverse (columnas de elección) almacenan códigos enteros internamente. El conector de Dataverse devuelve tanto el código como la etiqueta, pero esto debe controlarse en 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")
Mejor práctica: utilice el campo [email protected] que Dataverse devuelve automáticamente con etiquetas formateadas.
Conector 2: Dynamics 365 Finance & Operations
D365 Finance and Operations utiliza un conector independiente que se conecta a la capa de entidad virtual de Finance o directamente a Azure Data Lake (recomendado para análisis a gran escala).
Opción A: Conector de finanzas y operaciones (tienda de entidades)
El conector Dynamics 365 Finance de Power BI consulta el almacén de entidades financieras, una base de datos separada optimizada para lectura y actualizada por los procesos por lotes de Finance.
- Obtener datos → Dynamics 365 (en línea) → Finanzas
- URL del entorno:
https://{env}.operations.dynamics.com - Conéctese a cubos de Entity Store y entidades de datos
Entidades disponibles (ejemplos):
RetailSalesLine— Detalles de la transacción de ventasVendTransaction— Transacciones de pago de proveedoresCustTransaction— Transacciones de clientesLedgerTransactionEntity— Asientos del libro mayorBudgetTransactionEntity— Entradas de presupuesto
Opción B: Exportación de Azure Data Lake (recomendado)
Para análisis financieros a gran escala (más de 10 millones de transacciones), configure la función "Exportar a Azure Data Lake" de Finanzas:
- En el administrador de Finanzas y Operaciones: Espacio de trabajo → Administración de datos → Configurar Azure Data Lake
- Conéctese a su cuenta de Azure Data Lake Storage Gen2
- Seleccione tablas para exportar (incrementales o completas)
- Power BI lee directamente desde ADLS a través del conector Azure Data Lake Storage
Esta arquitectura maneja datos de Finanzas a cualquier escala sin afectar el rendimiento de la aplicación de Finanzas.
Opción C: Microsoft Fabric (recomendado para nuevas implementaciones)
Con Microsoft Fabric, los datos de D365 Finance en ADLS se convierten en un acceso directo a Fabric, accesible a Power BI a través del modo Direct Lake sin movimiento de datos adicional:
D365 Finance → ADLS Gen2 (via Export) → Fabric OneLake (Shortcut) → Power BI Direct Lake
No se requiere canalización ETL. Fabric lee datos ADLS como si fueran contenido nativo de OneLake.
Informes de Power BI integrados en Dynamics 365
Esta es una de las funciones de integración de Dynamics 365 más valiosas de Power BI: informes integrados directamente en formularios y paneles de D365.
Configuración de informes integrados
- Publique el informe de Power BI en un espacio de trabajo Premium o PPU (los usuarios gratuitos necesitan capacidad Premium para verlo)
- En Configuración de Dynamics 365: Administración → Configuración del sistema → pestaña Informes
- Habilite: "Visualizaciones en Power BI"
- En cualquier panel de D365: Agregar componente → Panel de Power BI → Seleccione su informe/panel
- En formularios D365: Abra el editor de formularios → Insertar → Subcuadrícula o recurso web → PowerBI
Filtrado de contexto (filtros de informes del registro D365)
El escenario integrado más potente: un informe de Power BI que filtra automáticamente el registro D365 actual.
Por ejemplo, al abrir un registro de cuenta D365 se muestra un informe de Power BI integrado que muestra solo el historial de ingresos, los casos abiertos y la canalización de esa cuenta, sin necesidad de filtrado por parte del usuario.
Configure a través del recurso web JavaScript que pasa el GUID del registro actual al filtro de informe de 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álisis entre módulos: ventas + finanzas + servicio
El verdadero poder analítico de D365 + Power BI surge cuando une datos entre módulos. Estos son los patrones clave de análisis entre módulos:
Panel de control 360 del cliente
Únase a Dataverse (ventas, servicio) con datos financieros:
| Dimensión | Fuente | Campos |
|---|---|---|
| Cuenta/Cliente | Dataverse (cuenta) | Nombre, industria, región, gerente de cuentas |
| Canal de ventas | Dataverse (oportunidad) | Oportunidades abiertas, ingresos esperados |
| Pedidos | Dataverse (pedido de venta) | Pedidos confirmados, Ingresos |
| Casos de soporte | Dataverse (incidente) | Casos abiertos, estado del SLA, tiempo de resolución |
| Pagos | Finanzas D365 | Facturas pendientes, Historial de pagos |
| Contratos | Dataverse (contrato) | Contratos activos, fechas de renovación |
// 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álisis de ventas a efectivo
Realice un seguimiento del recorrido desde la oportunidad hasta el recibo de efectivo:
Lead → Opportunity → Quote → Order → Invoice → Payment
Medidas DAX para la conversión de etapas:
// 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)
)
Seguridad: duplicación de funciones de seguridad de D365
Dynamics 365 utiliza un modelo de seguridad sofisticado: unidades de negocio, roles de seguridad, equipos y seguridad a nivel de campo. El RLS de Power BI puede reflejar este modelo.
RLS basado en unidades de negocio
// RLS filter — restrict data to user's business unit hierarchy
[OwningBusinessUnit] IN
PATHCONTAINS(BusinessUnit[BusinessUnitPath],
LOOKUPVALUE(
SystemUser[BusinessUnitId],
SystemUser[Email],
USERPRINCIPALNAME()
)
)
Aislamiento de datos a nivel 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 jerarquías de seguridad complejas de D365, sincronice diariamente las asignaciones de roles de seguridad de D365 con una tabla de dimensiones de Power BI y luego aplique RLS en función de esa asignación.
Paneles financieros de D365
KPI del panel financiero del director financiero
// 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]
Preguntas frecuentes
¿Power BI funciona con Dynamics 365 Business Central?
Sí, Microsoft proporciona un conector Business Central dedicado para Power BI. Business Central incluye informes de Power BI integrados en sus páginas del Centro de funciones de forma predeterminada. El conector utiliza API de OData y expone las páginas API de Business Central (entradas financieras, artículos, clientes, proveedores). La actualización de datos de Business Central requiere una licencia Power BI Pro o Premium y admite hasta 48 actualizaciones por día en Premium.
¿Puedo usar DirectQuery con Dataverse?
Sí, el conector de Dataverse admite el modo DirectQuery. Las consultas de Dataverse se ejecutan en el servicio Dataverse en tiempo real. Para la mayoría de los análisis de servicios y ventas de D365 (millones de registros), DirectQuery en Dataverse funciona bien. Para entornos de Dataverse muy grandes (más de 100 millones de filas), considere importar datos a un Lakehouse de Fabric para obtener un mejor rendimiento.
¿Cómo manejo la seguridad de Dynamics 365 en Power BI para usuarios externos?
Los usuarios externos (clientes, socios) que acceden a informes integrados de Power BI necesitan un manejo especial. Las opciones incluyen: cuentas de invitado de Azure AD B2B con licencias de Power BI Pro o Power BI Embedded (A SKU) con autenticación de entidad de servicio y seguridad de nivel de fila aplicada por su aplicación. Nunca exponga datos D365 sin filtrar en escenarios integrados; aplique siempre RLS estricto para aislar los datos de cada usuario externo.
¿Qué es la integración de Dynamics 365 Sales Insights con Power BI?
Dynamics 365 Sales Insights (Viva Sales) genera análisis predictivos (puntuación de oportunidades, estado de las relaciones, pronóstico de canalizaciones) de forma nativa dentro de D365. Estos datos se almacenan en Dataverse y se pueden conectar a Power BI para una visualización personalizada. Power BI puede mejorar los datos de Sales Insights con puntos de referencia externos, análisis de tendencias históricas y correlaciones entre módulos que no están disponibles en los análisis nativos de D365.
¿Puede Power BI reemplazar los paneles integrados de Dynamics 365?
Power BI amplía significativamente lo que pueden hacer los paneles integrados de D365: visualizaciones personalizadas, medidas DAX complejas, análisis entre módulos e informes paginados no están disponibles en el editor de gráficos nativo de D365. Sin embargo, los paneles de D365 siguen siendo útiles para las vistas operativas diarias dentro de la aplicación. El enfoque recomendado es: paneles nativos D365 para vistas operativas rápidas, Power BI para informes analíticos y ejecutivos.
Próximos pasos
La integración de Power BI + Dynamics 365 es la integración de BI más nativa y rica en funciones del mercado de software empresarial. Las organizaciones que invierten en esta integración obtienen una visibilidad unificada en las operaciones de CRM, ERP y servicios que antes era imposible sin un desarrollo personalizado.
El equipo de Power BI de ECOSIRE se especializa en análisis de Dynamics 365, desde simples paneles integrados hasta complejos análisis de Customer 360 y Sales-to-Cash entre módulos. Aportamos experiencia en Power BI y Dynamics 365 para garantizar que la integración sea segura, eficaz y esté alineada con su modelo de seguridad D365.
Explore nuestros servicios de integración de Power BI ERP para obtener detalles de implementación de Dynamics 365, o comuníquese con nuestro equipo de análisis para diseñar una arquitectura de Power BI que maximice su inversión en Dynamics 365.
Escrito por
ECOSIRE Research and Development Team
Construyendo productos digitales de nivel empresarial en ECOSIRE. Compartiendo perspectivas sobre integraciones Odoo, automatización de eCommerce y soluciones empresariales impulsadas por IA.
Artículos 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.