Si con anterioridad hemos trabajado en el desarrollo de modelos de datos utilizando Power Pivot o SSAS Tabular, cuando debamos hacer esta misma tarea, pero desde Power BI, a buen seguro que notaremos la falta de una característica tan importante como es la posibilidad de revisar los resultados de las medidas que vayamos creando en el modelo desde una tabla dinámica de Excel.

Tomemos como ejemplo el modelo de datos basado en el Padrón de habitantes expuesto en el artículo sobre diseño de un modelo de datos poblacional, publicado en este mismo blog.

En dicho artículo se exponía la creación de un conjunto de medidas para el modelo, que nos permitían realizar el análisis poblacional por la cantidad absoluta de habitantes y a través de una serie de indicadores de estructura. Para el ejemplo que nos atañe en estos momentos quedémonos con la medida TotalPoblacion y los indicadores de estructura por Edad, asumiendo que todavía no los hemos añadido al modelo.

PoblacionTotal =
COUNTROWS ( PoblacionPadron )

PoblacionJovenes =
CALCULATE ( [PoblacionTotal], Edad[EdadID] >= 0 && Edad[EdadID] <= 14 )

PoblacionAdultos =
CALCULATE ( [PoblacionTotal], Edad[EdadID] >= 15 && Edad[EdadID] <= 64 )

PoblacionMayores =
CALCULATE ( [PoblacionTotal], Edad[EdadID] >= 65 )

 

Comencemos añadiendo las medidas PoblacionTotal y PoblacionJovenes.

 

A continuación, utilizando los medios que nos ofrece Power BI, si quisiéramos comprobar la validez de las medidas, haríamos uso de controles visuales Card y Multi-row card, para observar los valores totales, o bien de los controles Table o Matrix, para analizar los números desagregando por los elementos de alguna de las tablas de búsqueda del modelo.

 

 

 

Sin embargo, este procedimiento nos parecerá un tanto engorroso de llevar a cabo si ya tenemos experiencia en el desarrollo de cubos multidimensionales o modelos tabulares, en los cuales, simplemente con abrir Excel y conectarnos al modelo, ya tenemos una tabla dinámica con la que comprobar las medidas que hemos creado.

Por tal motivo, en este artículo proponemos una técnica explicada por Matt Allington en su blog, donde además de Power BI, se precisa la utilización de Excel y DAX Studio, trabajando todos los elementos de forma coordinada para lograr nuestro objetivo.

 

DAX Studio, una herramienta realmente útil

Si el lector trabaja habitualmente con modelos tabulares, ya sea desde SSAS Tabular, Power Pivot o Power BI, esta utilidad no puede faltar en su caja de herramientas, y no solo por la técnica que vamos a explicar a continuación, sino por la gran cantidad de características que ofrece, y que harán a buen seguro su trabajo un poco más fácil.

En primer lugar, descargaremos DAX Studio desde el enlace disponible en su sitio web y procederemos a instalarlo en nuestra máquina.

Seguidamente abriremos el archivo Power BI sobre el que estamos desarrollando nuestro modelo de datos, y en el que ya hemos añadido las medidas PoblacionTotal y PoblacionJovenes.

A continuación ejecutaremos DAX Studio, que como primer paso nos pedirá que conectemos con una fuente de datos válida. En nuestro caso, al tener ya abierto un archivo Power BI, DAX Studio detectará esta situación, ofreciéndonos conectar con el mismo, como vemos en la siguiente figura.

 

Respecto a los otros modos de conexión, si se trata de una fuente de datos SSAS Tabular resulta muy evidente, ya que tan sólo hemos de introducir el servidor y nombre de instancia.

 

Por último, la conexión contra un modelo de Power Pivot se realiza directamente en el archivo Excel que contiene el modelo, desde la pestaña Complementos, haciendo clic en la opción DAX Studio.

 

Power BI y el servicio SSAS

Volviendo al escenario que nos ocupa actualmente, Power BI actúa como un servidor de SSAS, lo que podemos comprobar desde el Administrador de tareas de Windows.

 

Este servicio es al que se conecta DAX Studio para acceder a los contenidos del modelo de datos, lo que nos permite, entre otras funcionalidades, la ejecución de consultas DAX, obtener información sobre los tiempos de ejecución de las consultas, ejecutar vistas de administración dinámica (DMV – Dynamic Management Views), y un dato muy importante: la dirección de conexión al servicio, que se muestra en la parte inferior derecha de la ventana.

 

El siguiente paso consistirá en abrir Excel, y establecer una conexión contra el origen de datos Analysis Services representado por el archivo Power BI, introduciendo en la ventana del asistente para la conexión de datos la dirección del servicio obtenida desde DAX Studio

 

Aceptando el resto de pasos de este asistente obtendremos como resultado una tabla dinámica, conectada al modelo de Power BI, desde la que resultará más sencilla la revisión de sus medidas.

 

Continuemos ahora con el desarrollo del modelo añadiendo las dos medidas de indicadores de estructura pendientes de incluir: PoblacionAdultos y PoblacionMayores.

 

Ahora volveremos a Excel y seleccionaremos la opción Actualizar, situada en el grupo de opciones Datos, pestaña Herramientas de tabla dinámica | Analizar, lo que producirá una actualización de los contenidos de la tabla dinámica, incorporándose las nuevas medidas a la misma.

 

Volver a conectar con el modelo de datos en una nueva sesión de trabajo

Resulta importante mencionar que, tras finalizar nuestra sesión de trabajo, cerrando Power BI, DAX Studio y Excel, al volver a abrir Power BI se generará una nueva dirección para el servicio SSAS, que podemos comprobar al ejecutar DAX Studio. Debido a esto, si intentamos validar las medidas del modelo utilizando el mismo archivo Excel con el que habíamos trabajado previamente obtendremos un error.

 

Aceptando esta ventana de aviso se abrirá una ventana de conexión en la que podremos volver a introducir la nueva dirección. Tras confirmar este y el siguiente paso, volveremos a conectar satisfactoriamente desde Excel, y la tabla dinámica estará de nuevo operativa.

 

Obtener las medidas del modelo desde DAX Studio

Otro pequeño pero útil truco de DAX Studio reside en la posibilidad de obtener un listado de las medidas que conforman nuestro modelo, con información diversa entre la que se encuentra su código fuente. Para ello, en el panel de consultas escribiremos la siguiente sentencia.

SELECT * FROM $SYSTEM.MDSCHEMA_MEASURES

 

También podemos arrastrar y soltar esta vista de administración dinámica desde la pestaña DMV, situada en el panel izquierdo de la ventana de DAX Studio.

Seguidamente haremos clic en la opción Run (o pulsaremos F5), obteniendo en el panel de resultados toda la información relativa a las medidas del modelo.

 

La vista MDSCHEMA_MEASURES devuelve una gran cantidad de columnas, de las que posiblemente solo necesitemos algunas muy concretas, como el nombre de la medida y la expresión utilizada para crearla. Además, también obtenemos una fila correspondiente a la medida predeterminada del modelo, que podemos excluir mediante la columna MEASURE_AGGREGATOR. Por todo ello, podemos refinar la consulta anterior de la siguiente forma.

SELECT
MEASURE_NAME, EXPRESSION
FROM $SYSTEM.MDSCHEMA_MEASURES
WHERE MEASURE_AGGREGATOR = 0

 

El modelo de Power BI que estamos utilizando para nuestro ejemplo consta de una única tabla de datos o medidas, pero si desarrollamos modelos más complejos, en los que intervengan varias tablas de medidas, es recomendable agregar a la anterior consulta la columna MEASUREGROUP_NAME, que nos informa del nombre de tabla a la que pertenece la medida.

 

Conclusiones

Y aquí finalizamos el presente artículo en el que hemos realizado una introducción a DAX Studio como herramienta de revisión de las medidas creadas en Power BI. Esperamos que le resulte de utilidad al lector durante el desarrollo de sus propios modelos de datos.