Si bien es común tener equipos que colaboran en el desarrollo de informes de Power BI, tener varios desarrolladores trabajando en el mismo informe de Power BI puede ser complicado. Para empezar los archivos de informes de Power BI (PBIX) no se pueden difundir directamente, ya que se trata de archivos binarios. Esto significa que los usuarios no pueden seguir fácilmente los cambios realizados por otros desarrolladores, como harían normalmente cuando trabajan en un proyecto de codificación (por ejemplo, utilizando el control de versiones Git en un proyecto de aprendizaje automático en Python). Con OneDrive, Microsoft permite a los usuarios acceder al control de versiones de un determinado archivo PBIX, pero eso no permite a los usuarios ver fácilmente qué cambios se han realizado en los visuales y en el modelo de datos. Existen otras herramientas y extensiones de terceros que podrían utilizarse, como Tabular Editor para guardar el modelo de datos en un formato legible por humanos (y difusible), pero podrían resultar complicadas para los nuevos desarrolladores de Power BI y/o usuarios empresariales.
Afortunadamente, todo esto cambió con el anuncio de Fabric y Power BI Desktop Developer Mode. Esta versión introdujo muchas características importantes para la colaboración, como la adición de Archivos de proyecto de Power BI (PBIP)que, a su vez, permite funciones como el control de versiones (o fuentes) y la integración y entrega continuas (CI/CD). Pero antes de profundizar en los archivos PBIP, ¿qué tal si aprendemos más sobre el control de versiones y CI/CD?
¿Qué es el control de versiones y CI/CD?
El control de versiones es una práctica común en el desarrollo de software que se refiere a la gestión de cambios en archivos y proyectos, como el script de codificación. Entre sus principales características están la posibilidad de corregir errores o restaurar el trabajo anterior volviendo a una versión anterior de un archivo; la posibilidad de que varios desarrolladores trabajen en el mismo proyecto sin sobrescribir el trabajo de los demás; y la creación de ramas para desarrollar posibles nuevas características o para corregir errores. Hoy en día, el sistema más popular para el control de versiones es Gitque permite trabajar utilizando un modelo de repositorio. Diferentes plataformas utilizan Git para el control de versiones, tales como GitHub y Azure DevOps. Es importante destacar que Git y GitHub son cosas diferentes: el primero es el sistema utilizado para el control de versiones, mientras que el segundo es una plataforma para la implementación.
CI/CD se refiere a Integración Continua y Entrega Continua. Se trata de un método que consiste en continuamente desarrollar cambios en la codificación, probarlos y entregarlos en un entorno de producción (es decir, ponerlos a disposición de los usuarios finales). Uno de los principales aspectos de este método es la automatización de los distintos pasos del proceso, lo que agiliza la transición de una nueva función del entorno de desarrollo al de producción y mejora la capacidad de detectar y corregir errores en una fase más temprana del proceso de desarrollo.
Tanto el control de versiones como el CI/CD se utilizan habitualmente en los equipos de desarrollo de software para mejorar la eficiencia del trabajo y la calidad del producto, y es estupendo que ahora puedan implementarse más fácilmente en Power BI.
Habilitar Power BI Project como opción de guardado
Ahora que sabemos más sobre el control de versiones y CI/CD, es el momento de aprender a utilizar estas características con el nuevo Modo Desarrollador de Power BI Desktop. El primer paso es habilitar la opción de guardar PBIP. Esto se puede hacer visitando la página Opciones, como se muestra en la Figura 1. Una vez en el menú Opciones, la opción de guardar PBIP puede activarse visitando el menú Funciones de vista previa panel.
Una vez activada esta nueva función, el usuario puede guardar su informe como archivo PBIP haciendo clic en Archivo > Guardar como, a continuación, seleccione en Examinar este dispositivo para elegir la ubicación de guardado y también cambiando el tipo de archivo a "Power BI project files (*.pbip)", como se muestra en la Figura 2.
Una vez guardado el archivo como proyecto, aparecerán varios artefactos en la carpeta seleccionada. Estos artefactos contienen archivos de texto que definen el informe y el conjunto de datos. Los archivos de texto son modificables y, por lo tanto, estas carpetas se pueden controlar mediante Git en un repositorio para realizar un seguimiento de los cambios que se realizan en el modelo de datos y en el visual (informe).
Uso del control de versiones con un archivo PBIP
Ahora que los archivos de texto que representan el informe de Power BI y el conjunto de datos están disponibles, es posible utilizar un editor de código como Visual Studio Code (VS Code) para realizar cambios en el proyecto. Y lo que es más importante, estos cambios pueden ser rastreados usando Git. Como Power BI Desktop no tiene integración nativa con Git (todavía), también se puede utilizar VS Code para este propósito. En VS Code, se puede inicializar un repositorio utilizando el icono de "control de código fuente" como se muestra en la Figura 4. Tenga en cuenta que en este paso pueden utilizarse otras herramientas además de VS Code.
Una vez inicializado el repositorio, cualquier cambio en el archivo PBIP se reflejará en uno de los archivos de la carpeta del conjunto de datos o del informe. Por ejemplo, formatear un visual en el archivo PBIP, como cambiar el color de la línea en un gráfico de líneas, provoca cambios en el archivo report.json como se muestra en la Figura 5.
Desarrollo conjunto de informes
El uso de un repositorio para realizar un seguimiento de los cambios permite a los equipos de desarrolladores trabajar en un único archivo de proyecto de Power BI y constituye la base del trabajo de CICD. Sus cambios se pueden enviar y fusionar con el uso de herramientas de alojamiento como GitHub o Azure DevOps, que transforma el repositorio local creado en la sección anterior en un repositorio remoto. El uso de DevOps es especialmente interesante, ya que permite integrar el repositorio con un espacio de trabajo de Power BI Service. Para aquellos más familiarizados con GitHub, se puede clonar un repositorio de GitHub en DevOps, y esa copia clonada se puede utilizar para la integración de Power BI Service.
Para configurar la integración de Git, cree un nuevo espacio de trabajo y navegue hasta la página 'Configuración del espacio de trabajo'. Se puede encontrar una nueva hoja de 'Integración Git', donde los detalles para el DevOps necesitan ser introducidos, como se muestra en la Figura 6. Tenga en cuenta que esta función requiere el uso de Fabric en una Premium Premium.
Una vez realizada la conexión entre el repositorio de DevOps y el espacio de trabajo, el espacio de trabajo se rellenará con los archivos de informes y conjuntos de datos correspondientes, como si se hubiera publicado un informe a través de Power BI Desktop. La diferencia en este caso es que Fabric supervisa y rastrea los cambios entre el espacio de trabajo y el repositorio, eliminando la necesidad de volver a publicar un informe. En su lugar, los usuarios con los roles apropiados pueden iniciar el proceso para asegurar que los cambios son aceptados o rechazados, y que la versión del espacio de trabajo tanto del informe como del conjunto de datos están actualizados con el repositorio (Figura 7).
Canalizaciones CI/CD
Dando un paso más en la mejora del rendimiento de los equipos de desarrollo de Power BI, existe una nueva función de Canalizaciones de despliegue que puede promover automáticamente informes de entornos de desarrollo a entornos de prueba, y de entornos de prueba a entornos de producción (tenga en cuenta que esta función también requiere Fabric). De este modo, un gestor puede promover un informe y un conjunto de datos de un espacio de trabajo habilitado para Git a prueba una vez que el proyecto esté listo para ser trasladado al siguiente entorno.
Para empezar, basta con navegar a la sección Canalizaciones de despliegue en la parte izquierda de Power BI Service. Es posible elegir un nombre, añadir una descripción y definir las etapas del pipeline, como puede verse en la Figura 8.
Una vez creado el pipeline, el usuario puede elegir qué espacio de trabajo se utiliza en cada etapa. En la práctica, sólo es necesario configurar el espacio de trabajo de la etapa de desarrollo, ya que los espacios de trabajo de prueba y producción pueden crearse automáticamente haciendo clic en el botón Despliegue (resaltado en la Figura 9). Sin embargo, también se pueden seleccionar manualmente otros espacios de trabajo para el entorno de prueba y producción.
Conclusión
Colaborar en un único informe de Power BI solía ser problemático cuando varios desarrolladores tenían que trabajar al mismo tiempo. Con las nuevas características lanzadas con Power BI Desktop Developer Mode y Fabric. Los informes de Power BI ahora se pueden guardar como Proyectos de Power BI, que dividen las definiciones de informes y conjuntos de datos en diferentes archivos de texto. Dado que los archivos de texto son diferenciables, el control de versiones se convierte ahora en una opción cuando se trabaja con Power BI. Junto con la adición de una función de despliegue en Power BI Service, los usuarios ahora pueden realizar una transición sin problemas entre Power BI Desktop y Power BI Service, con cada cambio respaldado por Git.
Referencias
Documentación del modo desarrollador de Power BI Desktop - Power BI | Microsoft Learn
Seguimiento de cambios en Power BI: Parte 1 - Introducción - DATA GOBLINS (data-goblins.com)