5. Modelado de Datos en Power BI
5.1 Relaciones entre Tablas
Identificación de Claves Primarias y Extranjeras
-
Claves Primarias: Son campos únicos que identifican de manera exclusiva cada fila en una tabla.
-
Claves Extranjeras: Son campos que establecen una relación con la clave primaria de otra tabla.
Tipos de Relaciones
-
Uno a Uno: Cada valor en la tabla A se relaciona con un valor único en la tabla B, y viceversa.
-
Uno a Muchos: Un valor en la tabla A se relaciona con uno o más valores en la tabla B.
-
Muchos a Muchos: Cada valor en la tabla A puede estar relacionado con muchos valores en la tabla B.
Cardinalidad de la Relación
- Define si la relación permite valores nulos o no.
5.2 DAX
DAX (Data Analysis Expressions) es un lenguaje de fórmulas desarrollado por Microsoft, utilizado en Power BI, SQL Server Analysis Services (SSAS) y Power Pivot en Excel. Se usa para realizar cálculos y crear medidas en modelos de datos.
Su principal uso es la creación de Medidas y columnas calculadas:
-
Medidas: Se calculan dinámicamente en función del contexto del informe.
Total Ventas = SUM(Ventas[Importe])
-
Columnas calculadas: Se agregan a la tabla y se calculan fila por fila.
Precio Final = Ventas[Precio] * (1 - Ventas[Descuento])
En Power BI se usa en la creación de KPIs, segmentaciones dinámicas y cálculos avanzados dentro de los informes.
Funciones comunes en DAX
Funciones de Agregación: Se utilizan para realizar cálculos sobre columnas enteras.
-
SUM (Suma de una columna)
TotalVentas = SUM(Ventas[Importe]) -
AVERAGE (Promedio de una columna)
PromedioVentas = AVERAGE(Ventas[Importe]) -
MIN/MAX (Valor mínimo y máximo)
MinPrecio = MIN(Ventas[Precio]) MaxPrecio = MAX(Ventas[Precio])
Funciones de Filtrado y Contexto: Sirven para aplicar condiciones a los cálculos.
CALCULATE (Cambia el contexto de cálculo)
Ventas2024 = CALCULATE(SUM(Ventas[Importe]), Ventas[Año] = 2024)
FILTER (Filtra una tabla y devuelve solo las filas que cumplen la condición)
VentasGrandes = FILTER(Ventas, Ventas[Importe] > 1000)
ALL (Ignora filtros aplicados en la tabla)
TotalSinFiltros = CALCULATE(SUM(Ventas[Importe]), ALL(Ventas))
Funciones de Relaciones y Tablas: Trabajan con datos relacionados.
RELATED (Trae un valor de otra tabla relacionada)
Categoria = RELATED(Categorias[NombreCategoria])
RELATEDTABLE (Devuelve todas las filas relacionadas de otra tabla)
VentasRelacionadas = RELATEDTABLE(Ventas)
Funciones de Texto: Manipulan cadenas de texto.
CONCATENATE (Une dos cadenas de texto)
NombreCompleto = CONCATENATE(Clientes[Nombre], " " & Clientes[Apellido])
LEN (Longitud de un texto)
LongitudNombre = LEN(Clientes[Nombre])
Funciones de Fecha y Hora Se usan para cálculos de tiempo.
YEAR, MONTH, DAY (Extraen partes de una fecha)
AñoVenta = YEAR(Ventas[Fecha])
MesVenta = MONTH(Ventas[Fecha])
DATEDIFF (Calcula la diferencia entre fechas)
DiasEntreFechas = DATEDIFF(Ventas[FechaPedido], Ventas[FechaEntrega], DAY)
Ejemplo detallado del CALCULATE
Ventas2024 = CALCULATE(SUM(Ventas[Importe]), Ventas[Año] = 2024)
Este ejemplo calcula la suma de la columna Ventas[Importe]. Modifica el contexto de filtro, asegurando que solo se incluyan las filas donde Ventas[Año] sea 2024.
Paso a paso:
- SUM(Ventas[Importe]) → Calcula la suma total de la columna "Importe" en la tabla Ventas.
- CALCULATE(..., Ventas[Año] = 2024) → Aplica un filtro para que solo se incluyan las filas donde Año = 2024.
Ventajas de CALCULATE:
- Permite filtrar datos dinámicamente.
- Se usa en medidas para crear KPIs más flexibles.
- Es clave para trabajar con inteligencia de tiempo (Ejemplo: Ventas del mes pasado, del año actual, etc.).
Ejemplo más avanzado:
Si quisieras calcular las ventas del año 2024 pero ignorando los filtros de la tabla, puedes usar ALL:
Ventas2024Total = CALCULATE(SUM(Ventas[Importe]), ALL(Ventas), Ventas[Año] = 2024)
Esto hace que la suma de ventas de 2024 se mantenga igual sin importar qué filtros aplique el usuario en Power BI.
5.3 Uso de Jerarquías y Agrupamientos
Jerarquías
-
Organización Jerárquica: Permite agrupar datos en niveles, facilitando la navegación y el análisis.
-
Exploración de Datos: Los usuarios pueden descender o ascender en la jerarquía para explorar datos a diferentes niveles de detalle.
Agrupamientos
-
Simplificación de Datos: Agrupar datos según ciertos criterios simplifica visualizaciones y facilita la comprensión.
-
Aplicación Dinámica: Algunas visualizaciones permiten a los usuarios cambiar dinámicamente los agrupamientos.
Aplicación en Visualizaciones
-
Mejora de la Interactividad: Utiliza jerarquías para mejorar la interactividad de tus informes.
-
Enfoque en la Relevancia: Los agrupamientos ayudan a enfocarse en información relevante en las visualizaciones.
Al aplicar estos conceptos en el modelado de datos en Power BI, los estudiantes podrán crear modelos robustos y dinámicos que respalden visualizaciones efectivas y análisis de datos significativos.