Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
Hola a todos
Estoy seguro de que esto es algo que ya debe haber sido respondido, pero estoy luchando por encontrar lo que necesito.
Estoy buscando crear un informe basado en datos extraídos de un servidor SQL que tendrá información YTD, MTD y WTD.
Los datos se pueden extraer si selecciono los intervalos de fechas en una segmentación de datos de filtro. Pero lo que me gustaría hacer es a partir de una columna de datos crear múltiples medidas que al seleccionar la segmentación de datos tengan diferentes efectos.
Por ejemplo, si selecciono Feb'22 en el filtro, me gustaría que una columna muestre todo febrero (MTD) y que la columna YTD se muestre desde el comienzo del año hasta el final de febrero, por lo que si cambio a marcha, cambiará la columna MTD a marzo, pero simplemente extenderá la columna YTD para incluir marzo. ¿Es esto posible? Parece que no puedo averiguar cómo hacerlo, ya que la segmentación de datos de filtro simplemente selecciona los mismos valores de datos para ambas columnas, sin importar qué tipo de medidas y filtros agregue.
Si es posible, también sería genial si pudiera agregar una columna del DMT que si selecciono una semana también mostrará WTD, MTD e YTD.
Inv-Ytd =
CALCULATE(
SUM('RED'[Inv-Mtd]),
RED[FinYear]=2022)
Gracias
Solved! Go to Solution.
Hay @EitanKGCS ,
¿Se ha resuelto su problema? Si se resuelve, marque una respuesta que sea útil para usted.
Si el problema sigue sin resolverse, pruebe el siguiente código.
MTD: SELECTEDMEASURE ()
YTD: CALCULATE (
SELECTEDMEASURE (),
ALL ( 'Dates' ),
DATESYTD ( 'Dates'[Date] )
)
WTD: LASTNONBLANKVALUE (
'Table'[Date],
SELECTEDMEASURE ()
)
LMTD: CALCULATE (
SELECTEDMEASURE (),
ALL ( 'Dates' ),
SAMEPERIODLASTYEAR ( 'Dates'[Date] )
)
LYTD: CALCULATE (
SELECTEDMEASURE (),
ALL ( 'Dates' ),
SAMEPERIODLASTYEAR ( DATESYTD ( 'Dates'[Date] ) )
)
LWTD: CALCULATE (
SELECTEDMEASURE (),
FILTER (
ALL ( Dates ),
Dates[WeekNum] = MAX ( Dates[WeekNum] )
&& Dates[Year]
= MAX ( Dates[Year] ) - 1
)
)
Saludos
Winniz
Hay @EitanKGCS ,
¿Se ha resuelto su problema? Si se resuelve, marque una respuesta que sea útil para usted.
Si el problema sigue sin resolverse, pruebe el siguiente código.
MTD: SELECTEDMEASURE ()
YTD: CALCULATE (
SELECTEDMEASURE (),
ALL ( 'Dates' ),
DATESYTD ( 'Dates'[Date] )
)
WTD: LASTNONBLANKVALUE (
'Table'[Date],
SELECTEDMEASURE ()
)
LMTD: CALCULATE (
SELECTEDMEASURE (),
ALL ( 'Dates' ),
SAMEPERIODLASTYEAR ( 'Dates'[Date] )
)
LYTD: CALCULATE (
SELECTEDMEASURE (),
ALL ( 'Dates' ),
SAMEPERIODLASTYEAR ( DATESYTD ( 'Dates'[Date] ) )
)
LWTD: CALCULATE (
SELECTEDMEASURE (),
FILTER (
ALL ( Dates ),
Dates[WeekNum] = MAX ( Dates[WeekNum] )
&& Dates[Year]
= MAX ( Dates[Year] ) - 1
)
)
Saludos
Winniz
Gracias por esta sugerencia @v-kkf-msft
He copiado esto en mi informe, pero no puede encontrar la relación entre mi tabla de hechos y el grupo de cálculo. Supongo que es porque no tengo una tabla de fechas completa en la tabla de hechos debido a que solo puedo extraer las fechas de finalización de la semana.
Hay @EitanKGCS ,
Si también desea calcular los valores del año pasado, entonces creo que una tabla de fechas completa sería de gran ayuda en el cálculo.
Saludos
Winniz
Esto se puede lograr con un grupo de cálculo. Deberá instalar el Editor tabular para crear un grupo de cálculo. El grupo de cálculo contendrá varios elementos de cálculo (YTD, MTD, WTD), y estos elementos de cálculo se pueden mostrar como columnas de matriz (por ejemplo).
Gracias por este @DataInsights,
Eso fue realmente útil de entender. Sin embargo, me acabo de dar cuenta de que lo principal que me impide comparar YoY es que la tabla de fechas que estoy sacando de nuestro servidor SQL es solo la fecha de fin de semana. El problema con esto es que la semana del año pasado es un día antes de este año. Así que la misma semana de este año que terminó el 27/03/2022 fue el 28/03/2021.
He creado una columna llamada PrevYear:
Recomiendo crear una tabla de fechas robusta con grano diario (hay muchos ejemplos en foros y blogs que puedes seguir). Esta es una parte crucial de cualquier modelo de datos y hace que los cálculos de fecha sean mucho más simples. La tabla de fechas debe contener las columnas Fecha de finalización de la semana, Número de semana del año, Año, etc. Una vez creada una tabla de fechas, márquela como una tabla de fechas y cree una relación entre la tabla de fechas y la tabla de hechos. A continuación, puede escribir DAX que filtre el mismo número de semana de año para cada año y calcular el delta.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Prices go up Feb. 11th.
Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.