Power BI DocuTIPS IV

Sara Alonso B
5 min readMar 11, 2024

--

Tip 4: Documentación avanzada con las nuevas funciones DAX “INFO” (Parte 1)

¡Hola! Ya estoy por aquí con el cuarto capítulo de Power BI DocuTIPS.

En los capítulos anteriores hablábamos de cómo generar descripciones de los objetos del modelo semántico con Azure Open AI, cómo generar documentación con Model Documenter y qué hacer cuando el modelo semántico cambiaba y la documentación ya estaba generada.

En los próximos capítulos vamos a hablar también de documentación, por supuesto, pero vamos a conocer otra forma completamente distinta de documentar: mediante DAX y Power Automate.

Hoy vamos a conocer 52 funciones DAX que se añadieron en diciembre de 2023 que nos van a aportar mucha información, son las funciones “INFO”.

Para conocer las funciones “INFO” primero tenemos que ponernos en contexto. Las funciones INFO tienen como objetivo final dar toda la información posible sobre los objetos que componen nuestros metadatos. Repito, metadatos, no conjunto de datos. Por lo que por temas de seguridad del dato podéis estar completamente tranquil@s.

Antes de la llegada de estas funciones DAX, aunque no fuesen muy conocidas, ya teníamos la existencia de las DMVs.

Las DMV son vistas de administración dinámica (DMV) de Analysis Services. Como ya sabemos, el motor subyacente de Power BI es Analysis Services.

Son consultas SQL que devuelven información sobre los objetos del modelo, las operaciones del servidor y el estado del mismo.

En otras palabras, y como explican en un magnífico artículo Miguel Caballero y Fran Mullor, las DMVs son como ventanas especiales en un edificio grande y complejo, que es nuestra base de datos SQL. Cada ventana te permite mirar una habitación diferente: una puede mostrarte cómo están organizados los muebles (tablas, columnas y medidas), otra te permite ver cómo se conectan las habitaciones entre sí (relaciones), y otra te da una idea de cuánta gente está en cada habitación en un momento dado (rendimiento de la base de datos). (Échale un ojo al artículo aquí.)

Consulta DMV sobre el modelo, en concreto, las relaciones entre tablas.
Consulta DMV sobre el modelo, en concreto, las medidas.
Consulta DMV sobre el modelo, en concreto, el modo de almacenamiento de las columnas.

En Power BI, las DMV se usan para realizar consultas a través del punto de conexión XMLA. ¿Inconveniente? Se requiere licencia Premium de Power BI. También desde DAX Studio se pueden consultar.

Las TMSCHEMA DMV existentes ahora están disponibles como 52 nuevas funciones DAX, las denominadas “INFO”, cuyo objetivo es el mismo de informar sobre los objetos del modelo semántico, lo que supone una serie de ventajas:

  • Elimina la necesidad de usar una sintaxis distinta para acceder a información del modelo semántico.
  • Fáciles de identificar: Estas funciones DAX nativas aparecen en IntelliSense escribiendo “INFO.”.
  • No requieren ningún parámetro, y todas devuelven una tabla como resultado.
  • Permiten combinarse con otras funciones DAX para unir o resumir tablas, algo no posible con la sintaxis DMV tradicional.
  • No requieren licencia Premium de Power BI.
DMV y función INFO equivalentes
Algunas de las funciones “INFO”

Estas funciones se pueden consultar desde la nueva vista de consultas DAX que, aunque aún está en versión preliminar, ya disponemos de ella de forma nativa en Power BI, y no necesitamos acudir a herramientas externas para poder evaluar nuestras consultas DAX.

Como aun es una característica preliminar necesitamos activarla en Power BI Desktop:

Esta nueva vista de consultas DAX:

  • Permite crear y manipular consultas usando EVALUATE y opcionalmente DEFINE, sin modificar el modelo de datos.
  • Cuenta con DAX Formatter e IntelliSense para formatear y gestionar consultas.
  • Los resultados se visualizan en una cuadrícula, y las consultas se pueden guardar dentro del proyecto de Power BI Desktop.
  • Aun presenta limitaciones como rendimiento decreciente con consultas extensas y restricciones en la visualización de formatos.

Ahora que lo tenemos todo listo vamos a empezar obteniendo toda la información posible sobre las tablas de nuestro modelo semántico:

  1. Vamos a la vista de consultas DAX e introducimos lo siguiente:

Observamos que al escribir “INFO.” ya nos aparece todo el listado.

2. En esta ocasión vamos a escoger INFO.TABLES y le daremos a Ejecutar (Run).

EVALUATE
INFO.TABLES()

Nos devuelve, en columnas, toda la info posible sobre nuestras tablas: ID, Name, Description, DataCategory, IsHidden, etc.

NOTA: El campo “Description” solo nos devolverá un valor si tenemos cubierto el campo “descripción” que estuvimos viendo en los capítulos anteriores en esta serie. A la hora de documentar, me parece que un campo fundamental.

3. Aunque está genial toda la info que nos aporta sobre las tablas, quizás no nos interese mantener todos los campos. Por este motivo, vamos a seleccionar solo las columnas que nos interesen utilizando, conjuntamente, la función “SELECTCOLUMNS” y además les podremos cambiar los títulos.

EVALUATE
SELECTCOLUMNS(
INFO.TABLES(),
"TablaID", [ID],
"Tabla", [Name],
"Descripción", [Description]
)

Pulsamos en Ejecutar (Run):

En este caso, para documentar las tablas de nuestro modelo, solo nos hemos quedado con los IDs de las tablas, los nombres de las tablas y las descripciones de las tablas.

4. Si pulsamos en “Guardar” y cerramos el informe, cuando lo volvamos a abrir tendremos disponible esta consulta DAX en nuestra vista de consultas DAX.

Ya tenemos la documentación de las tablas preparada. Pero tranquil@s, que esto no acaba aquí, esto solo acaba de empezar. En el próximo capítulo veremos cómo documentar otros objetos como las medidas, las columnas, los roles de seguridad… y un ejemplo de cómo obtener toda esta documentación combinada en un fichero csv y en una carpeta concreta de forma automática, utilizando Power Automate.

Y tú, ¿Conocías las DMVs? ¿Has utilizado ya las funciones “INFO”? ¡Te leo!

Mil gracias por leerme 😊.

--

--