← Todos los artículos/ blog ·

Power BI con Business Central: apps, conector y APIs propias

Las tres formas de llevar los datos de Business Central a Power BI, cuándo usar cada una y cómo evitar informes lentos que además compiten con tus usuarios.

Conectar Power BI con Business Central es fácil. Lo difícil es elegir bien desde dónde leer los datos para que el informe sea rápido, no se rompa en la siguiente actualización y no frene a quien está trabajando en el ERP.

Hay tres caminos. Van de menos a más trabajo, y conviene agotar cada uno antes de pasar al siguiente.

1. Las apps de Power BI de Microsoft

Microsoft publica apps de Power BI listas para usar por área funcional: finanzas, ventas, compras, inventario, valoración de inventario, proyectos y fabricación, y en las últimas versiones también sostenibilidad y facturación de suscripciones. Llegaron en la versión 25.1 y sustituyen a las antiguas apps de CRM, Finance y Sales, que se retiraron en 2026.

  • Se instalan desde Power BI (Aplicaciones → Obtener aplicaciones) o desde Microsoft Marketplace, y se conectan indicando el nombre completo de la empresa (el de la página Empresas, no el nombre para mostrar) y el entorno.
  • Funcionan por empresa: si tienes varias, instalas y configuras una por cada una, cada una en su área de trabajo.
  • Se integran en Business Central: los informes aparecen dentro del propio ERP, en la página de inicio de cada rol.
  • Leen de la Analytics API, una API de solo lectura pensada para informes (/api/microsoft/analytics/v1.0/).

Las apps no tienen coste. Lo que necesitas son licencias de Power BI Pro (o capacidad Premium) para quien instale la app, actualice los datos y vea los informes, además de su licencia de Business Central; revisa qué incluye tu tenant.

Si tus indicadores son los habituales (ventas por cliente, márgenes, antigüedad de saldos, rotación de stock...), empieza aquí. Te ahorras semanas de modelado y Microsoft las mantiene con cada versión.

2. Power BI Desktop con el conector de Business Central

Cuando quieres tu propio modelo o combinar Business Central con otras fuentes:

  1. En Power BI Desktop, Obtener datos → Servicios en línea → Dynamics 365 Business Central.
  2. Inicia sesión con tu cuenta de organización.
  3. En el navegador aparecen tus entornos, dentro de cada uno sus empresas, y dentro de cada empresa tres carpetas: Advanced APIs, Standard APIs v2.0 y los servicios web publicados (legacy).

Microsoft recomienda usar las APIs y no los servicios web. Hay un motivo más: a partir de la versión 30 (primavera de 2027) ya no se podrán publicar páginas de Microsoft como servicio OData, así que un informe construido sobre, por ejemplo, la página de movimientos de clientes publicada en Servicios web dejará de actualizarse. Lo explico con más detalle en OData y API en Business Central.

3. APIs propias para informes

Cuando necesitas campos de tus extensiones, tablas propias o datos agregados que la API estándar no trae, la herramienta adecuada es una consulta de tipo API en AL. A diferencia de una página, una consulta puede unir tablas y agregar en el servidor: Power BI recibe el resultado ya resumido en lugar de millones de movimientos.

query 50110 "CM Sales By Customer API"
{
    QueryType = API;
    APIPublisher = 'cristianmartinez';
    APIGroup = 'reporting';
    APIVersion = 'v1.0';
    EntityName = 'customerSale';
    EntitySetName = 'customerSales';
    DataAccessIntent = ReadOnly;

    elements
    {
        dataitem(CustLedgerEntry; "Cust. Ledger Entry")
        {
            column(customerNumber; "Customer No.") { }
            column(postingYear; "Posting Date") { Method = Year; }
            column(postingMonth; "Posting Date") { Method = Month; }
            column(salesAmount; "Sales (LCY)") { Method = Sum; }
        }
    }
}

Esta consulta devuelve las ventas por cliente, año y mes ya sumadas. Una vez instalada la extensión, la ves en el navegador del conector de Power BI, en Advanced APIs, bajo el APIPublisher y el APIGroup que hayas definido.

DataAccessIntent = ReadOnly indica que la consulta puede leer de la réplica de solo lectura de la base de datos, así que un informe pesado no compite con los usuarios que están registrando pedidos. El conector de Power BI ya pide esa réplica por defecto, pero dejarlo declarado en la consulta protege también al resto de clientes que la usen.

Que el informe no tarde una eternidad

  • Trae solo las columnas que usas. Quita en Power Query todo lo que no vaya al modelo, lo antes posible.
  • Filtra por fecha. Los movimientos de cinco años atrás rara vez hacen falta en el informe diario.
  • Agrega en Business Central, con consultas API, en lugar de traerte todos los movimientos para sumarlos en Power BI.
  • Usa la actualización incremental de Power BI en las tablas grandes de movimientos: solo se recargan los últimos días.
  • Ojo con los límites. Power BI hace peticiones como cualquier otra integración y cuenta para el límite de 6.000 peticiones cada 5 minutos por usuario. Si programas muchos informes a la misma hora con el mismo usuario, repártelos.

Qué opción elegir

  • KPIs estándar de finanzas, ventas, compras o inventario → apps de Power BI de Microsoft.
  • Modelo propio con datos estándar → Power BI Desktop con las Standard APIs v2.0.
  • Campos de extensiones, tablas propias o grandes volúmenes → consultas API propias con DataAccessIntent = ReadOnly.
  • Informes sobre páginas de Microsoft publicadas como servicio web → toca migrarlos antes de la versión 30.

Si necesitas una consulta API a medida o revisar por qué un informe tarda tanto, escríbeme.

¿Te encaja en tu proyecto?

Si quieres aplicar algo de esto en tu web o en tu Business Central, hablemos.