La solicitud

De Andrew Wallace, Jefe de Mobile
Tu objetivo
Paso 1 de 3. Crea una medida llamada Sales LY: Sales del mismo periodo del año pasado, con CALCULATE y SAMEPERIODLASTYEAR('Date'[Date]).
- Llena
[Sales LY]en cada fila del visualpendiente - También la fila Total correctapendiente
Paso 2 de 3. Conserva Sales LY y añade Sales YoY %: (Sales − Sales LY) ÷ Sales LY, con Sales LY en una variable y DIVIDE.
- Llena
[Sales YoY %]en cada fila del visualpendiente - También la fila Total correctapendiente
Paso 3 de 3. Conserva ambas medidas y añade YTD Growth %: las Sales acumuladas del año de este año frente a las Sales acumuladas del año pasado en el mismo punto, como tasa de crecimiento. Usa TOTALYTD (o DATESYTD) para este año y DATESYTD(SAMEPERIODLASTYEAR('Date'[Date])) para el año pasado, en variables, y DIVIDE.
- Llena
[YTD Growth %]en cada fila del visualpendiente - También la fila Total correctapendiente
Paso 1 · tu medida
- Visual
- A matrix: rows = 'Date'[Month]; values = [Sales], [Sales LY]
- Segmentaciones
- 'Date'[Year] = 2025orders[channel] = app
- Medidas del informe
Sales = CALCULATE(SUM(order_items[line_total]), orders[status] = "completed")
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
| Month | Sales | Sales LY |
|---|---|---|
| Jan | $38,566 | |
| Feb | $46,574 | |
| Mar | $80,375 | |
| Apr | $91,823 | |
| May | $94,842 | |
| Jun | $97,194 | |
| Jul | $77,398 | |
| Aug | $71,746 | |
| Sep | $67,690 | |
| Oct | $80,288 | |
| Nov | $118,602 | |
| Dec | $130,426 | |
| Total | $995,524 |
Mote revisa tu resultado
Presiona Comprobar. Mote completa tu respuesta y la compara con lo que necesita el informe.
Paso 2 · tu medida
- Visual
- A matrix: rows = 'Date'[Month]; values = [Sales], [Sales YoY %]
- Segmentaciones
- 'Date'[Year] = 2025orders[channel] = app
- Medidas del informe
Sales = CALCULATE(SUM(order_items[line_total]), orders[status] = "completed")
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
| Month | Sales | Sales YoY % |
|---|---|---|
| Jan | $38,566 | |
| Feb | $46,574 | |
| Mar | $80,375 | |
| Apr | $91,823 | |
| May | $94,842 | |
| Jun | $97,194 | |
| Jul | $77,398 | |
| Aug | $71,746 | |
| Sep | $67,690 | |
| Oct | $80,288 | |
| Nov | $118,602 | |
| Dec | $130,426 | |
| Total | $995,524 |
Mote revisa tu resultado
Presiona Comprobar. Mote completa tu respuesta y la compara con lo que necesita el informe.
Paso 3 · tu medida
- Visual
- A matrix: rows = 'Date'[Month]; values = [Sales], [YTD Growth %]
- Segmentaciones
- 'Date'[Year] = 2025orders[channel] = app
- Medidas del informe
Sales = CALCULATE(SUM(order_items[line_total]), orders[status] = "completed")
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
| Month | Sales | YTD Growth % |
|---|---|---|
| Jan | $38,566 | |
| Feb | $46,574 | |
| Mar | $80,375 | |
| Apr | $91,823 | |
| May | $94,842 | |
| Jun | $97,194 | |
| Jul | $77,398 | |
| Aug | $71,746 | |
| Sep | $67,690 | |
| Oct | $80,288 | |
| Nov | $118,602 | |
| Dec | $130,426 | |
| Total | $995,524 |
Mote revisa tu resultado
Presiona Comprobar. Mote completa tu respuesta y la compara con lo que necesita el informe.
Lo que recibe Andrew, y por qué
La lección
Andrew necesita una historia de crecimiento que sobreviva a un CFO escéptico. Eso requiere tres columnas: cómo era el año pasado, cómo se compara cada mes y dónde está el año hasta ahora. Cada una es uno de los patrones de este capítulo, y cada una se apoya en la anterior.
En qué estás trabajando
Esta página ejecuta un motor DAX de práctica creado para este sitio. Cada paso evalúa tu medida más reciente en la matriz (meses en las filas, 2025 y el canal de la app desde las segmentaciones) y comprueba cada celda. Mantén las medidas anteriores en el editor: las posteriores las usan. En Power BI Desktop, crea cada una con Home → New measure, da formato de porcentaje a las dos medidas de crecimiento y añade las dos segmentaciones.
Paso 1: el año pasado, el mismo periodo
Sales LY = CALCULATE([Sales], SAMEPERIODLASTYEAR('Date'[Date]))
Los filtros del calendario (la fila Month, la segmentación de 2025) se reemplazan por las fechas
del año pasado, porque la tabla Date está marcada. La segmentación de canal está en orders, otra
tabla, así que se queda: la medida compara app con app.
Paso 2: crecimiento mensual
Sales YoY % =
VAR ly = [Sales LY]
RETURN
DIVIDE([Sales] - ly, ly)
La variable guarda el valor del año pasado una vez; DIVIDE protege los meses en que el año pasado está vacío.
Paso 3: crecimiento del acumulado del año
Un solo mes puede engañar: una promoción fuerte el año pasado hace que el mes de este año parezca débil. La comparación del acumulado del año lo suaviza. Necesita dos totales acumulados, así que dos variables:
YTD Growth % =
VAR ytd = TOTALYTD([Sales], 'Date'[Date])
VAR ytdLY = CALCULATE([Sales], DATESYTD(SAMEPERIODLASTYEAR('Date'[Date])))
RETURN
DIVIDE(ytd - ytdLY, ytdLY)
ytdLY anida las funciones: desplaza el mes visible un año hacia atrás y luego lo extiende al 1 de
enero. Escribirlas como dos filtros CALCULATE separados intersectaría las fechas de 2025 con las
de 2024 y devolvería un vacío.
Leer el informe
La columna mensual tiene una celda roja: noviembre, −7.1 %. Tomada sola hundiría la petición de presupuesto. La columna YTD la responde: la app estuvo por delante de 2024 en cada punto del año y terminó un 53.1 % arriba. Preséntalas lado a lado, el crecimiento mensual para ver dónde cambiaron las cosas, el crecimiento YTD para ver dónde está el año, y la caída de noviembre se convierte en una nota al pie.
Errores comunes
- Poner el filtro de canal dentro de las medidas. Funciona para esta página pero hace que cada medida sea solo de la app. Déjalo a la segmentación para que las mismas medidas sirvan a la web y al marketplace.
- Crecimiento en la fila Total de la columna mensual. Compara años completos; no es un promedio de las doce tasas mensuales.
- Años fijados a mano.
'Date'[Year] = 2024en lugar de SAMEPERIODLASTYEAR se rompe cuando la segmentación pasa a 2024.
¡Linterna encendida!
Practicaste: sameperiodlastyearyoydatesytdtotalytdvar
- Resuelto
- Sin pistas
- Al primer intento
