Introducción
A muchos de los que llevamos tiempo trabajando con Business Central, el desarrollo de informes nos parece algo “doloroso”. Y esta lesión la arrastramos desde “los tiempos de Navision” …
A alto nivel, la creación de un nuevo informe en BC supone el desarrollo de una nueva extensión desde VS Code. Esta debe incluir el nuevo objeto, definir la estructura de datos y la lógica de negocio en AL (el lenguaje propio de Business Central).
A parte de esto, luego hay que diseñar el layout del informe. Este pude ser en RDLC (Report Definition Language Client Side) o en formato Word. Si se opta, por RDLC, habrá que tener instalado SQL Report Server o las herramientas para el desarrollo de informes de SSRS (SQL Server Reporting Server) en nuestra máquina para definir la presentación.
La cosa mejora con la posibilidad de extender reports (reportextensions) para modificar algún informe existente. Tampoco conviene olvidarnos de la posibilidad de personalizar informes estándar de una manera bastante sencilla simplemente modificando el layout en Word.
Pero, aun así, en muchas ocasiones será más optimo (¡¡¡ y divertido !!!) plantear el desarrollo de informes (que hasta ahora se hacían dentro del propio ERP…) con Power BI.
Conectando Business Central y Power BI
Desde Power BI Desktop se dispone de un conector a Business Central:
Además, este conector se mejoró este verano. Ahora la comunicación se puede establecer desde las API. En la versión anterior del conector, solo se podría conectar a través de los Web Services publicados.
La conectividad a través de Web Services aún se mantiene, pero lo ideal es que, en el momento de desarrollar nuevos informes, la conectividad se realice a través de API. Para aquellos informes ya desplegados, habrá que plantearse modificar la conexión para que los datos se importen utilizando la API de BC, ya que la mejora en rendimiento es más que notable.
Dando un vistazo al conector:
Desplegando Standard APIs se muestran todas las entidades del estándar, mientras que en Advanced APIs podríamos seleccionar aquellas apis personalizadas que se hayan publicado en la instancia de Business Central a la cual hayamos conectado:
Desde aquí ya podemos seleccionar las entidades y transformar los datos para ir trabajando en el modelo.
Con el conector nativo, la conexión entre BC y Power BI es super sencilla, pero esto no quita que haya que poner atención a las buenas prácticas de modelado dimensional.
En el momento de programar los refrescos de datos también hay que tener en cuenta que atacamos a un origen de datos que está en producción y no olvidar que en algunos escenarios puede ser necesario extraer los datos de BC a otro servicio que forme parte de una solución analítica más compleja.
Power BI vs Business Central Reports
Para el desarrollo de cualquier informe en el cual sea necesario cualquier interacción del usuario con los datos, la primera opción siempre debería ser Power BI. Un ejemplo sencillo un dashboard de ventas en el que queramos ver las ventas realizadas por cada uno de nuestros vendedores, o algo más complejo, un cash flow en el que se puedan plantear escenarios “what if”. Power BI ofrece muchas posibilidades para este tipo de informes. Además, dentro de BC, podemos embeber informes de Power BI y de esta manera el usuario de negocio puede consumir la información sin necesidad de salir de Business Central
El informe de Business Central, a pesar del título del artículo, no queda condenado a un ostracismo total. Siempre puede ser una opción válida cuando se trata de desarrollar o personalizar un formato de documento: factura, albarán, pedido…o bien un informe paginado, como por ejemplo un extracto de movimientos contables que se tenga que entregar para una auditoria.
Conclusión
Todo lo anteriormente expuesto ha sido reducido a un enfoque sencillo en el cual trabajamos con Business Central como único origen de datos, pero no olvidar que Power BI, no es solo una herramienta de visualización de datos, es mucho más que eso: el servicio de Power BI es una herramienta full stack de análisis de datos.
Está claro que adquirir conocimientos de Power BI y sobre todo de modelado dimensional y DAX, supone un esfuerzo. No obstante, a medio plazo, cuando ya se disponen de ciertas habilidades y siendo capaces de desplegar una buena base sobre el servicio de Power BI, el desarrollo de informes complejos para explotar la información que genera Business Central, puede ser mucho más eficiente que el desarrollo en AL…
…y aparte de esto, todas las ventajas para compartir y consumir la información que ofrece un servicio como Power BI.