Capítulo 4 Modelo y consultas en Power BI

Este capítulo es continuación del capítulo 3. Una vez tenemos los datos en Power BI en forma de tablas de hechos y dimensiones, vamos a comprobar sus relaciones y a definir mediciones calculadas y jerarquías. Estudiaremos las nuevas posibilidades de consulta que ofrecen estos elementos.

Objetivos del capítulo

  • Conocer más detalles del funcionamiento de Power BI.

  • Comprobar las relaciones entre los hechos y las dimensiones y, en caso necesario, definirlas.

  • Definir mediciones calculadas.

  • Definir jerarquías en las dimensiones.

  • Usar jerarquías en consultas multidimensionales.

4.1 Definición de relaciones entre las tablas

Cuando se inicia Power BI, por defecto se abre en la vista Informe. Además de esta vista, hay dos vistas más: Datos y Modelo. Dependiendo de la vista elegida, así se configuran las opciones del menú de la herramienta. Se puede cambiar de vista pulsando sobre el icono correspondiente de la columna de la izquierda.

Teniendo una tabla seleccionada, si pulsamos sobre el icono Datos, nos muestra el contenido de la tabla en un formato parecido a las hojas de Excel.

Para ver una representación de la estructura y las relaciones definidas entre las tablas, pulsamos sobre el icono Modelo (figura 4.1).

Relaciones entre las tablas.

Figura 4.1: Relaciones entre las tablas.

4.1.1 Relaciones entre las tablas

En este caso, como hemos conservado los nombres de las llaves generadas de las dimensiones al definir las llaves externas en los hechos, la herramienta ha establecido automáticamente las relaciones entre las tablas. En caso de no ser así, se pueden definir pulsando-arrastrando-soltando un campo de una tabla sobre su correspondiente de otra.

4.1.2 Ocultar las llaves generadas

La función de las llaves generadas es dar soporte a la definición de relaciones entre las tablas. Por ser datos generados para ese fin, no se necesita que aparezcan en los informes. Si aparecen en la lista de campos disponibles para definir informes lo que hacen es aumentar la complejidad del modelo de datos.

Podemos ocultarlas para consultas, seleccionándolas y, en el menú contextual, eligiendo la opción Ocultar en la vista de informes (figura 4.2).

Ocultar llaves generadas para consultas.

Figura 4.2: Ocultar llaves generadas para consultas.

En este caso se han ocultado todos los campos en la misma operación (seleccionándolos mantenido pulsada la tecla Ctrl mientas se pulsan). También se pueden ocultar uno a uno.

De la misma forma que hemos ocultado las llaves generadas, podemos ocultar cualquier otro campo que consideremos que no es necesario ofrecerlo para consultas. En este caso, no necesitamos ocultar ninguno más.

4.2 Definición de medidas calculadas

En Power BI las medidas calculadas se definen mediante el lenguaje DAX (Data Analysis Expressions). DAX ofrece muchas posibilidades. Aquí vamos a definir las medidas calculadas usando DAX pero sin necesidad de introducirnos en este lenguaje. Aunque no sea necesario para esta actividad, si se quiere información sobre DAX una buena fuente es el libro de Russo y Ferrari (2019).

Se pueden definir medidas calculadas desde cualquier vista, excepto la vista Modelo. Las opciones de definición de medidas aparecen en varios de los menús disponibles. Por ejemplo, podemos acceder a definir una medida desde la vista Informe, pulsando sobre Inicio > Cálculos > Medida Rápida (figura 4.3).

Acceso a medida rápida.

Figura 4.3: Acceso a medida rápida.

Vamos a definir una medida llamada habitantes, definida como la suma de las medidas mujeres Y hombres. En la ventana que se abre, en primer lugar, seleccionamos el cálculo a realizar (figura 4.4), en este caso, la suma.

Definición de medida rápida.

Figura 4.4: Definición de medida rápida.

La zona Cálculo se configura en función de la operación elegida. Desplegamos los campos de la tabla padrón y pulsamos-arrastramos-soltamos cada uno de los campos que intervienen en los apartados correspondientes a los sumandos (figura 4.5). Aunque les da distintos nombres, el orden es indistinto.

Selección de campos en la definición de una medida rápida.

Figura 4.5: Selección de campos en la definición de una medida rápida.

Al pulsar sobre Aceptar, como los campos que intervienen son de la tabla padrón, se podría esperar que el resultado se mostrase en esta tabla. No es así. El resultado se muestra en la primera tabla de la lista, en este caso la tabla cuándo. Si desplegamos sus campos y pulsamos sobre el campo calculado que se ha incluido, se abre la hoja Herramientas de medición donde podemos acabar de definirlo (figura 4.6).

Definición del resto de elementos de una medida.

Figura 4.6: Definición del resto de elementos de una medida.

En particular, tenemos que definir su nombre (habitantes), la tabla donde se ubicará (en el campo Tabla inicial el valor padrón) y sus características de formato. La definición de estos elementos para la medida habitantes se muestra en la figura (figura 4.7).

Definición del resto de elementos de la medida habitantes.

Figura 4.7: Definición del resto de elementos de la medida habitantes.

La expresión que se muestra bajo esos campos es la definición en DAX que, en este caso, no tenemos que modificar.

En la figura 4.8, se muestra la definición rápida para la medida densidad_ha.

Selección de campos en la definición de otra medida rápida.

Figura 4.8: Selección de campos en la definición de otra medida rápida.

Y, en la figura 4.9, se muestra la definición del resto de elementos para esta medida.

Definición del resto de elementos de la medida densidad_ha.

Figura 4.9: Definición del resto de elementos de la medida densidad_ha.

También hemos definido una medida llamada densidad_km2 (densidad de población en habitantes por Km2) de la que no se incluye la captura de pantalla16. El resultado final de las definiciones se muestra en la figura 4.10.

Medidas calculadas definidas.

Figura 4.10: Medidas calculadas definidas.

Ejercicio 4.1 Oculta las llaves generadas y define las medidas calculadas habitantes, densidad_ha y densidad_km2 según las explicaciones previas (captura una pantalla para cada medida donde se muestre su definición con la fórmula en DAX).

4.3 Definición de jerarquías

En las dimensiones podemos definir jerarquías de campos que facilitan y ofrecen posibilidades adicionales para realizar las operaciones Drill-Down y Roll-Up.

Vamos a definir una jerarquía desde provincia hasta municipio, pasando por comarca17. Podemos definir jerarquías en el apartado Campos, desde el menú de cada campo que aparece al pulsar sobre los tres puntos verticales que aparecen a la derecha de su nombre, al situar el puntero del ratón sobre él, elegimos la opción Nueva jerarquía, tal y como se muestra en figura 4.11 para el campo provincia.

Crear una jerarquía a partir de un campo.

Figura 4.11: Crear una jerarquía a partir de un campo.

Con esta operación se crea una jerarquía que contiene el campo a partir del cual hemos realizado la operación. Se le asigna un nombre por defecto basado en ese mismo campo, en este caso provincia Jerarquía, que podemos cambiar si lo consideramos conveniente. He mantenido el nombre por defecto.

Podemos añadir un nuevo campo a la jerarquía desde el menú del campo, aparece una nueva opción Agregar a la jerarquía que nos permite seleccionar a qué jerarquía añadirlo. Lo hacemos para el campo Comarca (figura 4.12).

Añadir un campo a una jerarquía existente.

Figura 4.12: Añadir un campo a una jerarquía existente.

De la misma forma agregamos el campo municipio, obteniendo el resultado que se muestra en la figura 4.13.

Resultado de definición de la jerarquía.

Figura 4.13: Resultado de definición de la jerarquía.

Si por algún motivo nos hemos equivocado en el orden de incorporación de los campos a la jerarquía, se pueden reordenar pulsando-arrastrando-soltando un campo de la jerarquía hasta su nueva posición.

Así definimos tres jerarquías adicionales, basándonos en los campos que definen niveles sobre los municipios, con cada uno de los campos y el campo municipio. El resultado se muestra en la figura 4.14.

Resultado de definición de todas las jerarquías.

Figura 4.14: Resultado de definición de todas las jerarquías.

La diferencia de estas nuevas jerarquía con la jerarquía anterior es que en este caso hemos ocultado los campos de nivel en la dimensión (seleccionando la opción Ocultar en sus respectivos menús). De esta forma estos campos siempre se han de consultar asociados a los municipios.

Ejercicio 4.2 Define las jerarquías asociadas a los campos provincia, comarca, municipio, nivel_altitud, nivel_habitantes y nivel_superficie según las explicaciones previas. Define también la jerarquía asociada a los campos decenio, y periodo (captura una pantalla donde se muestren todas las jerarquías).

4.4 Consultas basadas en jerarquías

Podemos definir informes basados en las jerarquías de las dimensiones. Por ejemplo, en la figura 4.15 se muestra un informe en el que hemos incorporado directamente una de las jerarquías definidas.

Consulta basada en una jerarquía.

Figura 4.15: Consulta basada en una jerarquía.

Al añadir la jerarquía al informe, automáticamente se añaden todos sus campos al apartado Filtros y, en la parte superior de la representación gráfica elegida, aparecen unas flechas que permiten movernos directamente por la jerarquía.

Si partimos de un informe a nivel provincia y pulsamos sobre Ir al siguiente nivel de la jerarquía (figura 4.15) obtenemos el mismo informe a nivel comarca (figura 4.16).

Siguiente nivel de la jerarquía.

Figura 4.16: Siguiente nivel de la jerarquía.

A partir de ese nivel, podemos pulsar sobre Resumir para volver al nivel anterior, podemos seguir descendiendo por la jerarquía como acabamos de hacer o también podemos focalizar la consulta en uno de los elementos activando el Modo detallado (pulsando sobre la flecha correspondiente) y, a continuación, pulsando sobre el elemento a detallar. En la figura 4.17 se muestra el resultado de realizar esta última operación pulsando en la gráfica sobre la comarca “Las Alpujarras”, también se muestra la flecha de configuración del Modo detallado que permite realizar esta operación.

Modo detallado de una instancia.

Figura 4.17: Modo detallado de una instancia.

Por último tenemos la operación Expandir todo un nivel en la jerarquía que, si lo pulsamos en el informe a nivel de provincia, obtenemos la combinación de ese nivel con el nivel siguiente, en este caso comarca (figura 4.18)

Expandir todo un nivel de la jerarquía.

Figura 4.18: Expandir todo un nivel de la jerarquía.

Si comparamos el informe de la figura 4.16 con el de la figura 4.18, la única diferencia es que en este último aparece la combinación de los valores de los campos provincia-comarca mientras que en el primero tan solo aparecían los valores de comarca. En este caso, como una comarca está ubicada en una sola provincia (y solo tenemos los datos de una provincia), la diferencia es poco relevante. En otras situaciones, el resultado obtenido con estas operaciones es totalmente distinto: al descender por una jerarquía se presentan los valores del campo siguiente; si se expande un nivel se presentan las combinaciones de los dos campos18.

Ejercicio 4.3 Partiendo de un informe inicial cualquera (se puede obtener aplicando las operaciones que se consideren necesarias sin necesitad de explicarlas), genera nuevos informes mediante las operaciones multidimensionales. Una vez se tenga el informe inicial, el resto de informes han de generarse de forma consecutiva (sin saltarse informes intermedios).

  • Para las operaciones Roll-Up y Drill-Down usa jerarquías utilizando al menos una vez cada una de las operaciones específicas sobre jerarquías.

  • Para cada informe obtenido, indica la operación multidimensional aplicada y el nivel de detalle de los datos que representa (captura una pantalla para cada informe).

Bibliografía

Russo, Marco, and Alberto Ferrari. 2019. The Definitive Guide to DAX: Business Intelligence for Microsoft Power BI, SQL Server Analysis Services, and Excel (Second Edition). Microsoft Press.


  1. Se define de igual forma que las otras, la única diferencia es que hay que modificar ligeramente el código DAX asociado.↩︎

  2. Como solo tenemos datos de una provincia, no vamos a añadir comunidad_autonoma.↩︎

  3. Por ejemplo, en otro diseño podríamos tener una jerarquía con dos campos: sexo y tramo_edad; si pasamos desde sexo a tramo_edad o viceversa solo se presentarían los valores del campo seleccionado, pero si expandimos el nivel, tendríamos la combinación de valores de ambos campos.↩︎