[PowerBi] Automatizar exportación de informe a PDF con Power Automate

Si hay algo que aman los usuarios es exportar. Exportar imágenes, excel, presentaciones, pdf, etc. En algunos casos podemos potenciar nuestras soluciones si la combinamos con otra que, en este caso, se dedica a automatizar.

En esta oportunidad, vamos a enfocarnos en como podemos automatizar la exportación de un report a PDF bajo reglas y filtros utilizando Power Automate.

Para quienes no conocen Power Automate, es una herramienta de Microsoft que ayuda a automatizar flujos. Similar a Make, N8N, Zappier y muchas más.

Pre requisito: Una capacidad dedicada. Exportar a PDF un informe automáticamente es una característica de capacidad dedicada.

En este caso, la utilizaremos para exportar a PDF un informe de Power Bi. El informe tiene una dimensión de empresas con transacciones en el tiempo, lo que el usuario deseaba era que automáticamente exporte un informe para cada empresa que pertenece a un grupo específico, en un periodo delimitado.

El requerimiento consiste en que el usuario pueda exportar un pdf para una empresa en un periodo. Las empresas deben pertenecer a un cierto grupo, en este caso "Propiedad = Si", sino no debe exportarlas. La exportación puede ser uno a uno o todas las empresas juntas. Para ello, usaremos la visualización de Power Bi sobre Power Automate.

La visual nos permite acceder a Power Automate dando en los tres puntos y "Edit". Los componentes que usaremos son gratuitos, por lo que una cuenta de EntraID u Office 365 podría utilizarlo.

Lo que vamos a construir es un flujo instantánea a partir de un Botón de Power Bi que se vería así:

Fíjense primero en el menú de filtros y visualizaciones de la derecha. A la visual le hemos puesto dos columnas, empresa y periodo que son las combinaciones que vamos a filtrar en el informe y en el panel de filtros nos aseguramos que solo funcione para las empresas con propiedad igual a Si.

El proceso es bastante simple. Delimitamos un bucle que recorra cada empresa. El apply to each recorrerá la lista de Empresas. Luego por cada una de ellas haremos un export to file que tiene la siguiente característica:

El area, el report, el formato y los filtros. En report level filter las cajas que dice "Power Bi data" tiene el texto acortado. Ahi la herramienta nos permite poner lo que pasamos en la visual. Entonces el primero es "Power Bi data Empresa" y el segundo es "Power Bi data Periodo". De esa forma exportamos a pdf el informe con dichas características. Un archivo PDF por empresa en el periodo delimitado.

Solo restaría definir que hacemos con este archivo. Podríamos guardarlos en sharepoint, one drive, mandar por teams o en este caso enviarlo por correo. La acción de Power Bi botón tiene algunos parametros adicionales que fortalecen la experiencia de usuario como lo es el "User email". La persona que da click a la visual sobre Power Bi. Entonces podríamos disparar los correos para dicho usuario:

Podemos usar información en el subject, body o nombre de archivo para que sea una mejor experiencia.

El resultado podría verse así:

Como habíamos mencionado, no todas las empresas son de propiedad = si. Por ello aunque las seleccionemos en ese filtro, no se creará el pdf al clicker el botón. Solo recorrerá las empresas seleccionadas que cumplan esa condición puesto que las otras no llegarán al flujo que creamos por el filtro en la visual de power automate. Los correos llegarían así:

La visual de power automate no es visible en un export. Entonces, para mejorar la experiencia de usuario podemos crear un bookmark/marcador que oculte la visual de power automate y ponga un botón exactamente igual sin función. Este bookmark normalmente no tendría forma de activarse, pero lo activaremos al hacer el export to file para que quede así:

La configuración del export está basada en IDs que podemos ver en las URL. Por ejemplo, al seleccionar un bookmark del menú en service nuestra URL sería la siguiente:

https://app.powerbi.com/groups/83f0b593-6d09-43c1-8786-1862ed67e38c/reports/fdf4a4eb-1621-40a4-9d8d-2a0c05a671dc/6c8cf0e4e904d1de471d?experience=power-bi&bookmarkGuid=59cb3699ae4d2d3c6260

En la misma encontramos en negrita el id de la página y del bookmark que podemos cargar en el item de power automate bajo su nombre.

Si quisieramos hacer más seguro esto y solo permitirlo a usuarios especificos, podríamos tener una página de exportación oculta y solo permitirle la navegación a usuarios específicos. Entonces el botón que vimos antes, en realidad es solo una navegación a otra página que podría verse así:

Para el botón que nos trae a esta página oculta podemos utilizar de acción de navegación de página una fx a partir de una medida que se vería así:

De ese modo, solo esos dos correos podrían ejecutar una dirección a la página PageExport. Esto puede seguir mejorando si ponemos un tooltip que le diga "usted no tiene permisos" o si generamos una redirección a otra página que le aclare que no tiene permisos para ejecutar la acción.

Y así podemos ir mejorando distintas formas de la experiencia de usuario que no vienen al caso de este posteo. Lo importante aquí es que tenemos un flujo automático para exportar a pdf y enviar por correo un informe de Power Bi para determinados y específicos filtros. Espero que les sirva.