[PowerBi] Documentar detalles del modelo con un click

Hace tiempo me preguntaron como documentaría PowerBi. Esta pregunta me hizo re analizar mi documentación, que era un antiguo word plantilla con todos los detalles completados a mano, para encontrar mejores opciones y alternativas a un enorme archivo que nadie termina leyendo. Además que todos odian hacerlo.

En ese entonces estaban lanzando en Power Bi la feature "External Tools". Fue entonces que se me ocurrio que un dataset/modelo de Power Bi genera un tabular al cual podemos acceder y consultar. Tal como escribí hace mucho tiempo atras con la diferencia que las external tools permitirían armar otro informe de Power Bi con la documentación lista. Asi es, toda la magia en un solo click.

Antes de poner un enlace de descarga y que demos click para tener todo listo, veamos unos detalles muy importantes.

Las descripciones importan

Lo primero y mi opinión más importantes es que las descripciones importan. Con esto me refiero que la base que va a dar solidez para que sus modelos estén bien documentados dependerá del énfasis que pongan en tener un modelo definido y detallado. Esta en ustedes describirlo bien para que la magia funcione. Entiendo que hay una relación complicada con el tema de documentar pero si nos hacemos el hábito desde el inicio del desarrollo, seguramente me lo van a agradecer al final.

¿Qué hay que describir?

Dado que nuestro modelo ya tiene un bello diagrama de relaciones porque hemos modelado una maravillosa estrella, nos quedaría dar definiciones a componentes involucrados. Lo que podemos definir en el modelo son las construcciones que vemos en ese diagrama de relaciones y un poquito más. El primer pantallazo nos muestra tablas, columnas y medidas. Muchos pueden estar pensando "no hay forma de ponerle una descripción a cada columna". Lo cierto es que depende cuan detallado queremos que sea nuestro resultado. En lo personal sugiero describir todo lo que conlleve lógica de DAX, es decir, tablas calculadas, columnas calculadas y medidas. El resto del modelo puede que hable por si solo en la estrella o ya venga documentado por quien diseño el modelo en el warehouse. Por supuesto que si agregamos columnas en Power Query si deberíamos describirla.

Con el poquito más me refiero a RLS. Puede que no esté visible pero nos permite crear reglas con DAX las cuales serían muy importante describir si conllevan un lógica más complicada que un simple Tabla[Columna] = "Valor".

¿Cómo hacerlo?

La mayoría de las modificaciones podemos trabajarlas desde la vista de relaciones. La cual nos da una serie de propiedades disponibles cuando seleccionamos un Campo como muestra la siguiente imagen:

image

Esto se permite para cualquier Tabla, Columna o Medida. Adicionalmente podemos agregar la descripción de una tabla desde el editor de consultas bajo click derecho y luego propiedades.

image

El último y más complicado es el RLS. Puesto que no esta dentro de Power Bi. La metadata relacionada a esto podremos encontrarla usando la External Tool Tabular Editor. Para los que nunca la usaron, no se asusten. Una vez instalada podremos abrirla del menú de External Tools, luego dirigirnos a roles y cargar las descripciones como muestra la imagen:

image


Al finalizar basta con dar el icono de guardar con un cubo atrás para enviar los cambios al modelo en Power Bi y ya podemos cerrarlo.

External Tool para documentar

Recien ahora que ya tenemos las descripciones en nuestro modelo, podemos instalar esta gran external tool que nos va a generar un informe lleno de descripciones. La herramienta, finalmente, no la cree yo dado que en los inicios del desarrollo me encontré con alguien que estaba realizando el mismo proyecto y lo tenía mucho más avanzado. El creador detrás de esta maravilla es el sitio data-marc y podemos encontrarla en el siguiente enlace: https://data-marc.com/model-documenter/

No hay mucho más que habla del uso puesto que luego de instalarla aparecerá en el menú de external tools y con un solo click se abrirá o tr Power Bi con el informe completamente listo. Haremos un simple paseo por lo generado.

El reporte cuenta con seis vistas. Info, Tables, Columns, Measures, Relationships, Security. Cada una de ellas definirá filtros los que nos ayudarán a leer descripciones y códigos generados ademas de un diagrama de relaciones.

image


Conclusión

Mientras más detallado el desarrollo del modelo, menos tardaríamos en documentar. Las tablas deben describirse a penas se carga una de ellas. Si nos generamos el buen hábito de agregar descripciones a cada nuevo componente en DAX, como supongo que lo hacemos con el formato, podremos tener una excelente documentación al finalizar el tablero. 

Si quisieramos, podríamos ir un poco más lejos aún si comentaramos nuestro código Power Query y código DAX dentro de los editores, puesto que el reporte generado nos permite ver el código detrás de cada medida o tabla.

¡Espero que les sea útil! y vos… ¿documentas el modelo/dataset? escribinos en los comentarios si tenés otra estrategia para compartir en la comunidad.