Diseño de un modelo de datos en Power BI
Caso de laboratorio
En este laboratorio, comenzará a desarrollar el modelo de datos. Implicará la creación de relaciones entre las tablas y, después, la configuración de las propiedades de tabla y columna para mejorar la facilidad de uso del modelo de datos. También creará jerarquías y medidas rápidas.
En este laboratorio, aprenderá a:
- Crear relaciones de modelos
- Configurar propiedades de tablas y columnas
- Crear jerarquías
Este laboratorio debe durar unos 45 minutos.
Introducción
Para completar este ejercicio, abre primero un explorador web e introduce la siguiente URL para descargar la carpeta zip:
https://github.com/MicrosoftLearning/PL-300-Microsoft-Power-BI-Data-Analyst/raw/Main/Allfiles/Labs/03-configure-data-model-in-power-bi-desktop/03-model-data.zip
Extráela a la carpeta C:\Users\Student\Downloads\03-model-data.
Abre el archivo 03-Starter-Sales Analysis.pbix.
Nota: Puedes ignorar el inicio de sesión al seleccionar Cancelar. Cierra todas las ventanas informativas que se abran. Si se te pide que apliques los cambios, selecciona Aplicar más tarde.
Crear relaciones de modelos
En esta tarea, creará relaciones del modelo. El archivo se configuró para no identificar las relaciones entre tablas, que no es la configuración predeterminada, pero se recomienda evitar que el trabajo adicional cree las relaciones correctas para el modelo.
Importante: Los laboratorios usan una notación abreviada para hacer referencia a un campo, con este formato: Product | Category. En este ejemplo, Product es el nombre de la tabla y Category es el nombre del campo.
-
En Power BI Desktop, en la parte izquierda, selecciona el icono de la vista Informe.
-
Para ver todos los campos de tabla, en el panel Datos, haga clic con el botón derecho en un área vacía y, después, seleccione Expandir todo.
-
Para crear un objeto visual de tabla, en el panel Datos, desde dentro de la tabla Producto, active el campo Categoría.
-
Para agregar otra columna a la tabla, en el panel Datos, active el campo Ventas | Ventas.
-
Observe que en el objeto visual de tabla se enumeran cuatro categorías de productos y que el importe de ventas es el mismo para cada una de ellas, y el mismo para el total.
El problema es que la tabla se basa en campos de otras tablas. La expectativa es que en cada categoría de producto se muestren las ventas de esa categoría. Pero como no hay una relación del modelo entre estas tablas, la tabla Sales no se filtra. Ahora agregará una relación para propagar filtros entre las tablas.
-
Selecciona el icono de la vista Modelo en el panel de navegación izquierdo y elige Administrar relaciones.
-
En la ventana Administrar relaciones, observe que todavía no se ha definido ninguna relación. Para crear una relación, selecciona Nueva relación.
-
Configura la relación de la tabla Producto a la tabla Ventas. Observa que los siguientes elementos se configuraron automáticamente:
- Se seleccionan columnas ProductKey en cada tabla. Las columnas se han seleccionado porque comparten el mismo nombre y tipo de datos. Es posible que tenga que buscar columnas coincidentes con nombres diferentes en datos reales.
- El tipo de cardinalidad es Uno a varios (1:*). La cardinalidad se ha detectado de forma automática, ya que Power BI entiende que la columna ProductKey de la tabla Product contiene valores únicos. Las relaciones uno a varios son la cardinalidad más común y todas las relaciones que cree en este laboratorio serán de este tipo.
- Tipo de dirección de filtro cruzado único. La dirección de filtro único significa que los filtros se propagan de “un lado” a “varios lados”. En este caso, significa que los filtros que se aplican a la tabla Product se propagarán a la tabla Sales, pero no en la dirección contraria.
- La opción Activar esta relación está marcada. Las relaciones activas propagan los filtros. Una relación se puede marcar como inactiva para que los filtros no se propaguen. Pueden existir relaciones inactivas cuando hay varias rutas de relación entre las tablas. En este caso, los cálculos del modelo pueden usar funciones especiales para activarlas.
-
Seleccione Aceptar. En la ventana Administrar relaciones, observe que aparece la nueva relación. Seleccione Cerrar.
Observa que ahora hay un conector entre las dos tablas (no importa si las tablas están situadas juntas o no). - Puede interpretar la cardinalidad representada por los indicadores 1 y (*) . - La dirección del filtro se representa mediante la punta de la flecha. - Una línea continua representa una relación activa. Una línea discontinua representa una relación inactiva. - Mantenga el cursor sobre la relación para resaltar las columnas relacionadas.
Creación de relaciones adicionales
Hay una manera más fácil de crear una relación. En el diagrama del modelo, puede arrastrar y colocar columnas para crear una relación.
-
Para crear una relación usando una técnica distinta, en la tabla Reseller arrastre la columna ResellerKey a la columna ResellerKey de la tabla Sales.
Sugerencia: A veces una columna no se deja arrastrar. Si se produce esta situación, seleccione otra columna y, después, vuelva a seleccionar la columna que quiere arrastrar e inténtelo de nuevo. Cerciórate de que se ve la nueva relación agregada al diagrama.
 -
Use la técnica nueva para crear las dos relaciones de modelo siguientes:
-
De Region | SalesTerritoryKey (Región Clave de territorio de ventas) a Sales | SalesTerritoryKey (Ventas Clave de territorio de ventas) -
De Salesperson | EmployeeKey (Vendedor Clave de empleado) a Sales | EmployeeKey (Ventas Clave de empleado)
-
-
En el diagrama, organice las tablas para que la tabla Sales se coloque en el centro del diagrama y las tablas relacionadas estén organizadas a su alrededor. Coloque las tablas desconectadas al lado.
-
En la vista Informe, observe que el objeto visual de la tabla se ha actualizado para mostrar valores diferentes para cada categoría de producto.
Los filtros que se aplican a la tabla Product ahora se propagan a la tabla Sales.
-
Guarde el archivo de Power BI Desktop.
Configuración de la tabla Product
En esta tarea, configurarás la tabla Producto con una jerarquía y una carpeta para mostrar.
-
En la vista Modelo > Panel Datos, expande la tabla Producto si es necesario para mostrar todos los campos.
-
Para crear una jerarquía, en el panel Datos, haz clic con el botón derecho en la columna Categoría y, después, selecciona Crear jerarquía.
-
Actualiza el nombre a Productos (haz clic con el botón derecho o doble clic para cambiar el nombre).
-
Para agregar el segundo nivel de jerarquía, en el panel Propiedades, en la lista desplegable Jerarquía, seleccione Subcategoría (es posible que tenga que desplazarse hacia abajo dentro del panel).
-
Para agregar el tercer nivel a la jerarquía, seleccione Product en la lista desplegable Jerarquía.
-
Para completar el diseño de la jerarquía, seleccione Aplicar cambios en el nivel.
-
En el panel Datos, observe la jerarquía Productos. Para mostrar los niveles de la jerarquía, expanda la jerarquía Products.
-
Para organizar las columnas en una carpeta para mostrar, seleccione primero la columna Formato de color de fondo en el panel Datos.
-
Mientras presiona la tecla Ctrl, seleccione la columna Formato de color de fuente.
-
En el panel Propiedades, en el cuadro Carpeta para mostrar, escriba Formato.
-
En el panel Datos, observe que ahora las dos columnas están dentro de una carpeta.
Las carpetas para mostrar son una excelente manera de organizar las tablas, especialmente las que contienen muchos campos. Solo ofrecen una presentación lógica.
Configuración de la tabla Region
En esta tarea, configurarás la tabla Región con una jerarquía y categorías actualizadas.
-
En la tabla Region, cree una jerarquía denominada Regions (Regiones), con los tres niveles siguientes:
- Group (Grupo)
- Country (País)
- Region
-
Seleccione la columna Country (País) (no el nivel de jerarquía Country).
-
En el panel Propiedades, expanda la sección Avanzado en la parte inferior del panel y, después, en la lista desplegable Categoría de datos, seleccione País o región.
La categorización de datos puede proporcionar sugerencias al diseñador de informes. En este caso, la categorización de la columna como país o región proporciona información más precisa a Power BI cuando representa una visualización de mapa.
Configuración de la tabla Reseller
En esta tarea, configurarás la tabla Revendedor para agregar una jerarquía y actualizar categorías de datos.
-
En la tabla Reseller, cree una jerarquía denominada Resellers, con los dos niveles siguientes:
- Business Type
- Reseller
-
Cree una segunda jerarquía denominada Geography (Geografía), con los cuatro niveles siguientes:
- Country-Region
- State-Province
- City
- Reseller
-
Establece la categoría de datos para las columnas siguientes (no dentro de la jerarquía):
- Country-Region como País o región
- State-Province como Estado o provincia
- City como Ciudad
Configuración de la tabla Sales
En esta tarea, configurarás la tabla Ventas con descripciones, formato y resumen actualizados.
-
En la tabla Sales, seleccione la columna Cost.
-
En el panel Propiedades, en el cuadro Descripción, escriba: Basado en el costo estándar.
Las descripciones se pueden aplicar a tablas, columnas, jerarquías o medidas. En el panel Datos, el texto descriptivo se muestra en una información sobre herramientas cuando el autor del informe mantiene el cursor sobre el campo.
-
Seleccione la columna Cantidad.
-
En el panel Propiedades, dentro de la sección Formato, deslice la propiedad Separador de miles a Sí.
-
Seleccione la columna Precio unitario.
-
En el panel Propiedades, desde dentro de la sección Formato, establezca la propiedad Posiciones decimales en 2.
-
En el grupo Avanzado (es posible que tenga que desplazarse hacia abajo para encontrarlo), en la lista desplegable Resumir por, seleccione Promedio.
De forma predeterminada, las columnas numéricas se resumen mediante la suma de valores. Este comportamiento predeterminado no es adecuado para una columna como Unit Price, que representa una tarifa. Al establecer el resumen predeterminado en el promedio se generará un resultado significativo.
Actualización masiva de propiedades
En esta tarea actualizará varias columnas mediante actualizaciones masivas únicas. Usará este enfoque para ocultar columnas y darle formato a los valores de columna.
-
En el panel Vista de modelo > Datos, selecciona la columna Producto |ProductKey.
-
Mientras presiona la tecla Ctrl, seleccione las 13 columnas siguientes (que abarcan varias tablas):
- Region | SalesTerritoryKey
- Reseller | ResellerKey
- Sales | EmployeeKey
- Ventas | ProductKey
- Sales | ResellerKey
- Sales | SalesOrderNumber
- Sales | SalesTerritoryKey
- Salesperson | EmployeeID
- Salesperson | EmployeeKey
- Salesperson | UPN
- SalespersonRegion | EmployeeKey
- SalespersonRegion | SalesTerritoryKey
- Targets | EmployeeID
-
En el panel Propiedades, deslice la propiedad Está oculta a Sí.
Las columnas estaban ocultas porque las usan las relaciones, o se usarán en la configuración de seguridad de nivel de fila o en la lógica de cálculo.
Usará SalesOrderNumber en un cálculo en el laboratorio Creación de cálculos DAX en Power BI Desktop.
-
Seleccione las tres columnas siguientes:
- Product | Standard Cost
- Sales | Cost
- Sales | Sales
-
En el panel Propiedades, desde dentro de la sección Formato, establezca la propiedad Posiciones decimales en 0.
Exploración de la interfaz del modelo
En esta tarea, cambiarás a la vista Informe, revisarás la interfaz del modelo de datos y configurarás el ajuste automático de fecha y hora.
-
Cambia a la vista Informe.
-
En el panel Datos, observe lo siguiente:
- Las columnas, las jerarquías y sus niveles son campos, que se pueden usar para configurar los objetos visuales del informe
- Solo se ven los campos relevantes para la creación de informes
- La tabla SalespersonRegion no está visible porque todos sus campos están ocultos.
- Los campos espaciales de la tabla Region y Reseller se etiquetan con un icono espacial
- Los campos con la etiqueta sigma (Ʃ) se resumirán, de forma predeterminada
-
Aparece una información sobre herramientas al mantener el cursor sobre el campo Sales | Cost (Ventas Costo).
-
Expande el campo Ventas | Fecha de pedido y, después, observa que muestra una jerarquía de fecha. El campo Destinos | Mes de destino presenta una jerarquía similar.
Importante: estas jerarquías no las has creado tú. Se han creado de forma automática como configuración predeterminada. No obstante, hay un problema. El año fiscal de Adventure Works comienza el 1 de julio de cada año. Sin embargo, en estas jerarquías de fechas creadas automáticamente, la jerarquía de fecha comienza el 1 de enero de cada año.
-
Para desactivar la configuración automática de Fecha y hora, ve a Archivo > Opciones y configuración > Opciones.
-
En la sección Archivo actual, ve a Carga de datos > Inteligencia de tiempo y desactiva Fecha y hora automáticas.
-
En el panel Datos, observe que las jerarquías de fecha ya no están disponibles.
Crear medidas rápidas
En esta tarea creará dos medidas rápidas para calcular los beneficios y el margen de beneficio. Una medida rápida crea el una fórmula de cálculo de forma automática. Son fáciles y rápidas de crear para cálculos simples y comunes.
-
En el panel Datos, haga clic con el botón derecho en la tabla Ventas y seleccione Nueva medida rápida.
-
En la ventana Medidas rápidas, en la lista desplegable Cálculo, en el grupo Operaciones matemáticas, seleccione Resta.
-
En el panel Datos de la ventana Medidas rápidas, expanda la tabla Ventas.
-
Arrastre el campo Sales al cuadro Valor base.
-
Arrastre el campo Costo al cuadro Valor que se restará, a continuación seleccione Agregar.
- En el panel Datos, dentro de la tabla Ventas, observe la nueva medida.
Las medidas se indican mediante el icono de la calculadora.
-
Para cambiar el nombre de la medida, haga clic con el botón derecho en ella, seleccione Cambiar nombre y dele el nombre Beneficios.
Sugerencia: Para cambiar el nombre de un campo, también puede hacer doble clic en él, o bien seleccionarlo y presionar F2.
-
En la tabla Sales, agregue una segunda medida rápida, en función de los requisitos siguientes:
- Use la operación matemática División.
- Establezca el Numerador en el campo Sales | Profit.
- Establezca el Denominador en el campo Sales | Sales.
- Cambie el nombre de la medida por Margen de beneficio.
-
Asegúrese de que la medida Margen de beneficio está seleccionada y, después, en la cinta contextual Herramientas de medición, establezca el formato en Porcentaje, con dos posiciones decimales.
-
Para probar las dos medidas, selecciona primero el objeto visual Tabla.
-
En el panel Datos, active las dos medidas.
-
Seleccione y arrastre la guía correcta para ampliar el objeto visual de tabla.
-
Compruebe que las medidas generan un resultado razonable con el formato correcto.
Creación de una relación de varios a varios
En esta tarea creará una relación de varios a varios entre las tablas Salesperson y Sales.
-
En Power BI Desktop, en la vista Informe, en el panel Datos, activa los dos campos siguientes para crear un nuevo objeto visual table.
- Salesperson | Salesperson
- Sales | Sales
En la tabla se muestran las ventas realizadas por cada vendedor. Pero hay otra relación entre los vendedores y las ventas. Algunos vendedores pertenecen a una, dos o posiblemente más regiones de ventas. Además, las regiones de ventas pueden tener varios vendedores asignados.
Desde la perspectiva de la administración del rendimiento, las ventas de un vendedor (en función de sus territorios asignados) se deben analizar y comparar con los objetivos de ventas. Creará relaciones para admitir este análisis en el siguiente ejercicio.
-
Observe que Michael Blythe ha vendido casi 9 millones de USD.
-
Cambie a la Vista de modelo y arrastre la tabla SalespersonRegion para ponerla entre las tablas Region y Salesperson.
-
Use la técnica de arrastrar y colocar para crear las dos relaciones de modelo siguientes:
- De Salesperson | EmployeeKey a SalespersonRegion | EmployeeKey
- De Region | SalesTerritoryKey a SalespersonRegion | SalesTerritoryKey
La tabla SalespersonRegion se puede considerar una tabla de puente.
-
Cambie a la vista Informe y observe que el objeto visual no se ha actualizado. El resultado de ventas de Michael Blythe no ha cambiado.
-
Vuelva a la vista Modelo y, luego, siga la dirección del filtro de relación (la punta de flecha) desde la tabla Salesperson.
Tenga en cuenta la tabla Salesperson filtra la tabla Sales. También filtra la tabla SalespersonRegion, pero no continúa propagando filtros hasta la tabla Region (la flecha apunta hacia la dirección equivocada).
-
Para editar la relación entre las tablas Region y SalespersonRegion, haga doble clic en la relación.
-
En la ventana Editar relación, en la lista desplegable Dirección del filtro cruzado, seleccione Ambos.
-
Active la casilla Aplicar filtro de seguridad en ambas direcciones y seleccione Aceptar.
-
Observe que ahora la relación tiene una flecha doble.
-
Cambie a la vista Informe y, después, observe que los valores de ventas todavía no han cambiado.
Ahora el problema está relacionado con el hecho de que hay dos posibles rutas de propagación de filtros entre las tablas Salesperson y Sales. Esta ambigüedad se resuelve de manera interna, en función de una evaluación del “número mínimo de tablas”. Para ser claros, no debería diseñar modelos con este tipo de ambigüedad, el problema se solucionará en parte más adelante en este laboratorio y al completar el laboratorio Creación de cálculos DAX en Power BI Desktop.
-
Cambie a la Vista de modelo para forzar la propagación de filtros a través de la tabla puente. Edite (doble clic) la relación entre las tablas Salesperson y Sales.
-
En la ventana Editar relación, desactive la casilla Activar esta relación y seleccione Aceptar.
Ahora la propagación del filtro seguirá la única ruta activa.
-
En el diagrama, observe que la relación inactiva se representa mediante una línea discontinua.
-
Cambie a la vista Informe y observe que las ventas de Michael Blythe ahora ascienden a casi 22 millones de USD.
-
Observe también que las ventas de cada vendedor, si se sumaran, superarían el total de la tabla.
Es una observación común de una relación de varios a varios, debido al recuento doble, triple, etc., de los resultados de las ventas regionales. Fíjese en Brian Welcker, el segundo vendedor de la lista. Su importe de ventas es igual a la cantidad total de ventas. Es el resultado correcto, porque, al ser el director de ventas, sus ventas se miden sumando las de todas las regiones.
Aunque la relación de varios a varios está funcionando, ahora no se pueden analizar las ventas realizadas por un vendedor, porque la relación está inactiva. Podrá reactivar la relación cuando introduzca una tabla calculada, que permitirá el análisis de ventas realizado en las regiones de ventas asignadas al vendedor (para un análisis del rendimiento), en el laboratorio Creación de cálculos DAX en Power BI Desktop.
-
Cambia a la vista Modelo y, después, en el diagrama, selecciona la tabla Comercial.
-
En el panel Propiedades, en el cuadro Nombre, reemplace el texto por Salesperson (Performance) (Vendedor (rendimiento)).
La tabla con el nombre cambiado ahora refleja su finalidad: se usa para notificar y analizar el rendimiento de los vendedores en función de las ventas de sus regiones de ventas asignadas.
Relación con la tabla Targets
En esta tarea, crearás una relación con la tabla Destinos.
-
Cree una relación desde la columna Salesperson (Performance) | EmployeeID y la columna Targets | EmployeeID.
-
En la vista Informe, agregue el campo Targets | Target al objeto visual de tabla.
-
Cambie el tamaño del objeto visual de tabla para que todas las columnas estén visibles.
Ahora se pueden visualizar las ventas y los destinos, pero debes tener cuidado por dos motivos. En primer lugar, no hay ningún filtro de período de tiempo, por lo que los destinos también incluyen cantidades de destino futuras. En segundo lugar, los destinos no son aditivos y, por tanto, no se debe mostrar el total. Se pueden deshabilitar dándole formato al objeto visual, o bien se pueden quitar usando lógica de cálculo.