Power bi fórmulas dax

Autor: Eco. Marco Acosta
Repaso Interactivo: Power BI, DAX, R y SQL
Una guía didáctica para reforzar los conceptos aprendidos en clase con ejemplos prácticos y ejercicios interactivos
Lenguaje DAX: Expresiones de Análisis de Datos
¿Qué es DAX?
DAX (Data Analysis Expressions) es un lenguaje de fórmulas utilizado en Power BI, Excel y otros productos de Microsoft para crear cálculos personalizados en modelos de datos tabulares.
Conceptos Fundamentales
Columnas Calculadas vs. Medidas
Columnas Calculadas: Se calculan por fila y se almacenan en la tabla.
Medidas: Se calculan en contexto de filtro y se evalúan dinámicamente.
Ingreso Neto = Ventas[Ingresos] - Ventas[Costos]
Total Ventas = SUM(Ventas[Monto])
Contexto de Fila y Contexto de Filtro
Contexto de Fila: Determina qué fila está siendo evaluada en una expresión.
Contexto de Filtro: Determina qué filas están disponibles para una expresión.
Ventas 2023 = CALCULATE(SUM(Ventas[Monto]), Ventas[Año] = 2023)
Funciones DAX Importantes
CALCULATE y FILTER
CALCULATE modifica el contexto de filtro, mientras que FILTER itera sobre una tabla y aplica un filtro.
Ventas Laptops 2023 = CALCULATE(
SUM(Ventas[Monto]),
Productos[Categoría] = "Laptops",
Ventas[Año] = 2023
)
Funciones de Inteligencia de Tiempo
Estas funciones permiten realizar análisis temporales como comparaciones año tras año.
Ventas Año Anterior = CALCULATE(
SUM(Ventas[Monto]),
SAMEPERIODLASTYEAR(Calendario[Fecha])
)
Ventas YTD = TOTALYTD(
SUM(Ventas[Monto]),
Calendario[Fecha]
)
Funciones Iteradoras
Las funciones iteradoras como SUMX, AVERAGEX, etc., iteran sobre una tabla y aplican una expresión a cada fila.
Total Ingresos = SUMX(Ventas, Ventas[Cantidad] * Ventas[Precio Unitario])
Uso de Variables
Las variables mejoran la legibilidad y el rendimiento de las fórmulas DAX.
Margen Beneficio =
VAR Ingresos = SUM(Ventas[Ingresos])
VAR Costos = SUM(Ventas[Costos])
RETURN (Ingresos - Costos) / Ingresos
Power BI: Modelado y Visualización
Modelado de Datos en Power BI
Un modelo de datos bien estructurado es fundamental para análisis efectivos en Power BI.
Esquema Estrella
El esquema estrella consiste en:
- Tablas de hechos: Contienen medidas cuantitativas (ej. Ventas, Transacciones)
- Tablas de dimensiones: Contienen atributos descriptivos (ej. Productos, Clientes, Tiempo)
Tipos de Relaciones
- Uno a varios (1:*): La relación más común
- Varios a varios (*:*): Menos común, requiere consideraciones especiales
- Uno a uno (1:1): Poco común en modelos analíticos
Buenas Prácticas de Visualización
Selección de Gráficos
- Gráficos de barras: Comparación entre categorías
- Gráficos de líneas: Tendencias en el tiempo
- Gráficos de dispersión: Relación entre dos medidas
- Mapas: Datos geográficos
- Tablas y matrices: Datos detallados
Interactividad
- Utiliza tooltips para información adicional
- Implementa botones para navegación
- Usa paneles de selección para filtros interactivos
- Configura interacciones entre visuales
Integración de R en Power BI
¿Por qué usar R en Power BI?
R amplía las capacidades de Power BI permitiendo:
- Análisis estadísticos avanzados
- Visualizaciones personalizadas
- Procesamiento de datos complejos
- Machine Learning
Ejemplos de Uso de R en Power BI
Visualizaciones Personalizadas
library(ggplot2)
library(GGally)
# Crear matriz de correlación
ggpairs(dataset, columns = c("Ventas", "Publicidad", "Clientes"))
Análisis Estadístico
# Modelo de regresión
modelo <- lm(Ventas ~ Publicidad + Temporada, data = dataset)
# Resumen del modelo
summary(modelo)
# Predicciones
dataset$Prediccion <- predict(modelo, dataset)
Flujo de Trabajo R + Power BI
- Importar datos desde Power BI a R
- Realizar transformaciones y análisis en R
- Exportar resultados o visualizaciones a Power BI
- Integrar con el modelo de datos y dashboards
SQL para Análisis de Datos
Consultas SQL Básicas
SELECT
Producto,
SUM(Ventas) as Total_Ventas
FROM Ventas
WHERE Año = 2023
GROUP BY Producto
ORDER BY Total_Ventas DESC
JOINs en SQL
Los JOINs permiten combinar datos de múltiples tablas:
SELECT
v.ProductoID,
p.Nombre,
SUM(v.Cantidad) as Total_Vendido
FROM Ventas v
INNER JOIN Productos p ON v.ProductoID = p.ProductoID
GROUP BY v.ProductoID, p.Nombre
Funciones de Ventana
Permiten realizar cálculos sobre un conjunto de filas relacionadas:
SELECT
Producto,
Vendedor,
Ventas,
ROW_NUMBER() OVER(PARTITION BY Vendedor ORDER BY Ventas DESC) as Ranking
FROM Ventas
Integración SQL + Power BI
Power BI puede conectarse directamente a bases de datos SQL para:
- Importar datos mediante consultas SQL
- Realizar transformaciones en el origen
- Actualizaciones automáticas de datos
Ejercicios Prácticos
Ejercicio 1: Medida DAX con CALCULATE
Crea una medida que calcule las ventas totales solo para la categoría "Electrónicos" en el año 2023.
Ventas Electronicos 2023 = CALCULATE(
SUM(Ventas[Monto]),
Productos[Categoría] = "Electrónicos",
Ventas[Año] = 2023
)
Ejercicio 2: Comparación con Año Anterior
Crea una medida que muestre las ventas del mismo período del año anterior.
Ventas Año Anterior = CALCULATE(
SUM(Ventas[Monto]),
SAMEPERIODLASTYEAR(Calendario[Fecha])
)
Ejercicio 3: Uso de Variables
Crea una medida que calcule el margen de beneficio usando variables para mejorar la legibilidad.
Margen Beneficio =
VAR Ingresos = SUM(Ventas[Ingresos])
VAR Costos = SUM(Ventas[Costos])
RETURN (Ingresos - Costos) / Ingresos
Ejercicio 4: Función Iteradora
Crea una medida que calcule el promedio de ventas por cliente usando una función iteradora.
Promedio Ventas por Cliente = AVERAGEX(
VALUES(Clientes[ClienteID]),
[Total Ventas]
)
Quiz de Evaluación
1. ¿Cuál es la diferencia principal entre una columna calculada y una medida en DAX?
2. ¿Qué función de DAX se utiliza para modificar el contexto de filtro?
3. ¿Qué función de inteligencia de tiempo se utiliza para comparar con el mismo período del año anterior?
Recursos Adicionales
Documentación Oficial de DAX
Guía completa de referencia de funciones DAX con ejemplos.
Visitar Sitio