La solicitud

De Laura Bennett, Gerente de Finanzas
Tu objetivo
La matriz tiene 'Date'[Year Month] en las filas, una segmentación 'Date'[Year] en 2025 y la medida dada Sales YTD. Crea una medida llamada Sales YTD LY: Sales acumulado del año pasado hasta el mismo punto, con CALCULATE, DATESYTD y SAMEPERIODLASTYEAR.
- Llena
[Sales YTD LY]en cada fila del visualpendiente - También la fila Total correctapendiente
Tu medida
- Visual
- A matrix: rows = 'Date'[Year Month]; values = [Sales YTD], [Sales YTD LY]
- Segmentaciones
- 'Date'[Year] = 2025
- Medidas del informe
Sales = CALCULATE(SUM(order_items[line_total]), orders[status] = "completed")Sales YTD = TOTALYTD([Sales], 'Date'[Date])
Panel de datos: tablas y columnas
- order_items order_item_id, order_id, product_id, quantity, unit_price, discount_pct, line_total
- orders order_id, customer_id, order_date, status, channel, shipping_fee, coupon_code
- products product_id, name, category, subcategory, unit_price, unit_cost, launched_on, is_active
- customers customer_id, first_name, last_name, email, city, state, signup_date, segment, referral_source
- returns return_id, order_item_id, returned_on, reason, refund_amount
- Date Date, Year, Quarter, Month Number, Month, Year Month, Year Quarter, Day, Weekday Number, Weekday
Cargando el editor…
Solución de referencia
| Year Month | Sales YTD | Sales YTD LY |
|---|---|---|
| 2025-01 | $150,571 | |
| 2025-02 | $250,474 | |
| 2025-03 | $417,261 | |
| 2025-04 | $606,996 | |
| 2025-05 | $813,465 | |
| 2025-06 | $1,026,527 | |
| 2025-07 | $1,218,494 | |
| 2025-08 | $1,401,481 | |
| 2025-09 | $1,544,860 | |
| 2025-10 | $1,719,459 | |
| 2025-11 | $2,011,823 | |
| 2025-12 | $2,300,170 | |
| Total | $2,300,170 |
Mote revisa tu resultado
Presiona Comprobar. Mote completa tu respuesta y la compara con lo que necesita el informe.
Lo que recibe Laura, y por qué
La lección
Un total acumulado por sí solo dice cuánto has avanzado. El consejo quiere saber si es más o menos que el año pasado en el mismo punto. Eso necesita dos funciones de tiempo trabajando juntas.
En qué estás trabajando
Esta página ejecuta un motor DAX de práctica creado para este sitio. Evalúa tu medida para cada mes de 2025 y para el Total, y comprueba cada celda. En Power BI Desktop: Home → New measure, escribe la fórmula y colócala junto a Sales YTD en la matriz.
Anida las funciones: desplaza y luego extiende
Sales YTD LY = CALCULATE([Sales], DATESYTD(SAMEPERIODLASTYEAR('Date'[Date])))
Léela de dentro hacia fuera, para la fila 2025-04:
- Las fechas visibles son del 1 al 30 de abril de 2025.
SAMEPERIODLASTYEAR('Date'[Date])devuelve del 1 al 30 de abril de 2024.DATESYTD(…)toma esa tabla como entrada: la última fecha es el 30 de abril de 2024, así que devuelve del 1 de enero al 30 de abril de 2024.- CALCULATE evalúa
[Sales]en esas fechas.
Las funciones de inteligencia de tiempo aceptan una tabla de fechas allí donde aceptan una columna de fecha, lo que hace posible anidarlas.
O desplaza una medida que ya tienes
Sales YTD LY = CALCULATE([Sales YTD], SAMEPERIODLASTYEAR('Date'[Date]))
CALCULATE fija el contexto en abril de 2024, y entonces la medida Sales YTD se ejecuta dentro de ese contexto y construye ella misma enero–abril de 2024. Mismos números, y si alguien cambia después Sales YTD (un fin de año fiscal, por ejemplo), la versión LY lo sigue automáticamente. Muchos equipos prefieren esta forma por eso.
La trampa: dos argumentos de filtro
Esta versión parece razonable y es común en apuntes de cursos y respuestas de foros:
CALCULATE([Sales], DATESYTD('Date'[Date]), SAMEPERIODLASTYEAR('Date'[Date]))
Cada argumento de filtro se evalúa por separado, en el contexto original, y CALCULATE aplica
entonces todos juntos. DATESYTD da enero–abril de 2025, SAMEPERIODLASTYEAR da abril de 2024.
Ambos filtran 'Date'[Date], así que el resultado es su intersección: ninguna fecha, y Power BI
muestra un vacío. Los filtros en argumentos separados se combinan con AND; para encadenar dos
transformaciones, anídalas.
Leer el resultado
| Year Month | Sales YTD | Sales YTD LY |
|---|---|---|
| 2025-03 | $417,261 | $348,330 |
| 2025-06 | $1,026,527 | $789,588 |
| 2025-09 | $1,544,860 | $1,234,547 |
| 2025-12 | $2,300,170 | $1,993,604 |
El total acumulado de 2025 se mantiene por encima del del año pasado en cada fin de mes. La ventaja es mayor en términos relativos a principios del verano (un 30 % por delante en junio) y se reduce al 15.4 % en diciembre tras un septiembre y un noviembre flojos, un matiz que una sola cifra del año completo no mostraría.
Errores comunes
- Argumentos separados en lugar de anidar. Mira arriba: un vacío.
- Desplazar en el sentido equivocado.
DATEADD('Date'[Date], 1, YEAR)mira hacia adelante; el año pasado es −1. - Mes actual parcial. En un informe en vivo el mes actual está incompleto. Compara hasta el mismo día, no el mismo mes, si el negocio necesita esa precisión.
¡Linterna encendida!
Practicaste: datesytdsameperiodlastyearytd last yearcalculatetime intelligence
- Resuelto
- Sin pistas
- Al primer intento
