¡Jueves de post! Seguimos jugando con VS Code y Power BI Modeling  MCP Server. Si no sabes de que estoy hablando es que te perdiste el último post en el que hablaba sobre esto, por lo que te lo dejo aquí para que lo puedas leer.

En esta ocasión vamos a ver hasta dónde podemos llegar, vamos a explorar los límites del MCP. ¿Habrá algún límite? 

Tenemos el siguiente modelo de Contoso:

 

 

 En un principio, puede parecer el típico modelo perfecto, pequeño y que todo funciona a la perfección... Y la respuesta es sí y no. Este modelo está pensado para simular un entorno real, y me refiero a esto:

 

 

En la tabla de hechos, tenemos 237M de filas... Un tamaño majete, de esos que te cuentan un chiste cada vez que te toca refrescarlo :).

Y que con una licencia PRO no podríamos mover en el servicio ya que el modelo ocupa la friolera de casi 7Gb. 

 

 ¿Podrá Power BI Modeling MCP Server con él? Vamos a verlo. Como siempre, lo primero que hacemos es indicarle a VS Code que se conecte al informe de Power BI:

 

 

Ahora le indicamos que nos analice el modelo, desde las tablas, relaciones y medidas y una vez lo tenga analizado, nos diga que podemos mejorar en el mismo siguiendo las buenas prácticas de modelado y DAX:

 

  

 

Dejamos que analice, piense y nos conteste. ¿Y qué creéis que nos va a contestar? Bien... os copio la respuesta completa:

  

  

 

 

 

Y en escasos 30 segundos nos ha devuelto el informe anterior. ¿Qué os parece? A mi algo maravilloso. Vamos a ver si realmente las medidas son ineficientes y si la tabla Date no está marcada como tabla de fecha, porque ya sabes, aquí es donde debemos de poner el foco, en el pensamiento crítico y analítico.

Vamos a la tabla Date y vemos que efectivamente, no está marcada como tabla de fechas... 
 

 

 

 Y ahora vamos a ver las medidas que nos ha dicho que son ineficientes:
 

Y efectivamente.. vemos que ineficiente es un rato. Bien, vamos a decirle que actúe unicamente sobre los puntos de mejora catalogados como Urgente.

Y nos devuelve:


¡Se nos fulminado las 3 medidas del modelo! ¿Pero cómo? Porque no hemos sido claros en el prompt ya que nos preguntaba si queriamos eliminar esas medidas u optimizarlas y al no especificarlo ha cogido el camino más fácil.. (que listillo ¿no?). Bien, ¿y ahora como lo arreglamos? Indicandoselo en el prompt:
 

 

 Y nos devuelve:

 

 

 Vamos a ver si es verdad lo que nos dice, como siempre, hay que comprobar todo lo que nos dice. Para ello vamos DAX Studio y lanzamos la primera query y medimos. Nos arroja los siguientes resultados:

 Ahora hacemos lo mismo con la segunda, es decir, con la que se supone que es la optimizada. Y nos arroja:

 

Podemos ver, que sí, que efectivamente la ha mejorado casi reduciendo el tiempo total a la mitad, ha disminuido el número de consultas y el tiempo de SE. ¿Qué os parece? No os olvidéis que estamos en un modelo grande.

Ahora vamos a dejar de lado un poco el tema del modelado, rendimiento y buenas prácticas para centrarnos en la interfaz del informe y ver que podemos hacer... Spoiler: No nos puede hacer el informe por nosotros pero sí nos puede ayudar. ¿Cómo? Vamos a verlo, pero antes de nada me gustaría pedir perdón a la nueva MVP DataPlatform Sara Lozano por si cometo alguna barbaridad con los colorichis :) (Por cierto, ¡Felicidades por el reconocimiento!)


Y nos devuelve:

 

 

 Ahora vamos a Power BI y llevamos al lienzo una imagen, y configuramos en el apartado de "Estilo" y seleccionamos "Valor predeterminado".

 

  

 

En la parte de Origen de la imagen, desplegamos y seleccionamos "Seleccionar de los datos"

 

 

 

Y en la opción Datos, arrastramos la medida que nos ha creado llamada "Botón SVG Predeterminado"

  

 

Y nos muestra:

  

 No nos muestra nada... ¿Por qué? Por qué si os fijáis en la parte superior, no nos ha categorizado los datos, por lo que no lo interpreta. Podemos decirle que nos las categorice o hacerlo nosotros a mano (que en este caso son 3 medidas)

Y por arte de magia... ¡Tachan!

 
Valor predeterminado:

 

Con el puntero encima:

Y pulsado:

 

Y con esto, el post por hoy. ¡¡Queda mucho camino por explorar pero por hoy es suficiente!!

¡Nos vemos en los datos!