Skip to content

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:

  1. SUM(Ventas[Importe]) → Calcula la suma total de la columna "Importe" en la tabla Ventas.
  2. CALCULATE(..., Ventas[Año] = 2024) → Aplica un filtro para que solo se incluyan las filas donde Año = 2024.

Ventajas de CALCULATE:

  1. Permite filtrar datos dinámicamente.
  2. Se usa en medidas para crear KPIs más flexibles.
  3. 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.