Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Crear Matriz con Máximos acumulados de un periodo

Crear una Matriz con los máximos.

Tengo la siguiente medida que calcula los acumulados parciales en un determinado periodo, necesito su apoyo por favor para extraer en una matriz sólo los Máximos acumulados del periodo seleccionado.

MaximosAcumulados =
FUERON FechaCalendario = SELECTEDVALUE(Calendario[Fecha])
FUERON firstStarDate = BRIBONA(TODOS SELECCIONADOS(Calendario),Calendario[Date])
FUERON curYear = MÁXIMO(Calendario[Year])
FUERON fechaFecha = FECHA(SI(MÁXIMO(Calendario[Month Number]) >= MES(firstStarDate),curYear,curYear-1), MES(firstStarDate), DÍA(firstStarDate))
FUERON fechaFin = EOMONTH(startDate,11)
Fueron Acumulado = CALCULAR([Ventas], Calendario[Fecha] >= FechaFecha de inicio && Calendario[Fecha] <= FechaFin && Calendario[Fecha] <= MÁXIMO(Calendario[Fecha]))
FUERON MaximosAcumulados =
DEVOLUCIÓN

Maximos.JPG

9 REPLIES 9
Syndicate_Admin
Administrator
Administrator

Hola @telesforo1969 ,

Esta pregunta sería más sencilla si se tratara de un valor máximo en el transcurso de un año, así que hice muestras sencillas y puedes comprobar los resultados a continuación:

vtianyichmsft_0-1714037409148.png

Column = YEAR(EDATE([Date],-3))
Measure = var _t = ADDCOLUMNS('Table',"A",MAXX(FILTER(ALL('Table'),[Column]=EARLIER([Column])),[Value]))
RETURN MAXX(_t,[A])

Un archivo adjunto para su referencia. ¡Espero que te ayude!

Saludos
Apoyo a la comunidad Team_ Scott Chang

Si esta publicación ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Te agradezco, vi tu archivo pero no puedo generar la matriz como la necesito. He pensado en un solución que la considero sencilla, pero no sé cómo codificarla con DAX para una medida. Es la siguiente: Busco los máximos y los etiqueto y después los filtro en otra matriz. Tengo la medida que genera los acumulados anuales ("Consumo") a partir del mes seleccionado, aquí mi problema es cómo le agrego a esta medida un identificador de los máximos, anexo un ejemplo.

Consumo =

FUERON firstStarDate = BRIBONA(TODOS SELECCIONADOS(Calendario),Calendario[Fecha])
FUERON curAño = MÁXIMO(Calendario[Año])
FUERON startDate = FECHA(SI(MÁXIMO(Calendario[Número de mes]) >= MES(firstStarDate),curAño,curAño-1), MES(firstStarDate), DÍA(firstStarDate))
FUERON endDate = EOMONTH(startDate,11)
DEVOLUCIÓN
CALCULAR([Ventas],Calendario[Fecha] >= startDate && Calendario[Fecha] <= endDate && Calendario[Fecha] <= MÁXIMO(Calendario[Fecha]))

Maximos1.JPG

Esta es la matriz que necesito generar, con sólo los máximos.

Maximos2.JPG

Hola @telesforo1969 ,

La clave del problema es encontrar el valor máximo, y cómo encontrar el valor máximo es más difícil, porque sus datos son a través de los años, necesita una "clase" para agrupar, a fin de obtener el valor máximo dentro de un grupo. Creo que la solución que proporcioné inicialmente resuelve el problema. ¿Por qué no se puede generar una matriz?

Saludos
Apoyo a la comunidad Team_ Scott Chang

Siguiendo con mi reto. Tengo una medida para el número de periodos del acumulado RANKX2Meses y tambien identifico el valor máximo con el número 1 (IdAcum) ver (Tabla A) . Quisiera llegar a la Tabla B pero sólo para los acumulados, cuando el periodo es periodo 12 o es 1. Si filtro sólo los números 1 el valor acumulado lo modifica por los campos Year y Month.

Estoy revisando la función Summarize, Treatas, IN, pero aún no logro sólo presentar los acumulados. Alguna idea de cómo hacelo

Maximos4.JPG

Hola @telesforo1969 ,

Tal vez podrías probar la siguiente expresión:

Table = SUMMARIZE(FILTER('Table',[IdAcum]=1),'Table'[Date],'Table'[Ventas],'Table'[Consumo])

¡Espero que te ayude!

Saludos
Apoyo a la comunidad Team_ Scott Chang

Si esta publicación ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Te agradezco, te comento que mis campos [IdAcum] y [Consumo] son medidas calculadas que se generan dentro de un perido anual preestablecido. Estoy trabajando en adecuando la sintaxis que me enviaste a las medidas que tengo.

Estoy adecuando tu código, te comento en cuanto obtenga un resultado

Syndicate_Admin
Administrator
Administrator

@telesforo1969 , para acumulativo puedes probar medidas como

Cumm Sales = CALCULATE(SUM(Sales[Importe de las ventas]),filter(all('Date'),'Date'[date] <=max('Date'[date])))

Cumm Sales = CALCULATE(SUM(Sales[Importe de las ventas]),filter(allselected(date),date[date] <=max(date[Date])))

cumm basado en la fecha = CALCULATE([neto], window(1,ABS,0,REL, ALL('date'[date]),ORDERBY('date'[date],ASC)))

cumm basado en la fecha = CALCULATE([net], window(1,ABS,0,REL, ALLSELECTED('date'[date]),ORDERBY('date'[date],ASC)))

Total acumulado/acumulado:
https://www.youtube.com/watch?v=h2wsO332LUo&list=PLPaNVDMhUXGaaqV92SBD5X2hk3TMNlHhb&index=42

Continúe explorando la función de ventana de Power BI Rolling, Acumulativo/Acumulado, WTD, MTD, QTD, YTD, FYTD : https://youtu.be/nxc_IWl-tTc
https://medium.com/@amitchandak/power-bi-window-function-3d98a5b0e07f

La información que ha proporcionado no me aclara el problema. ¿Podría explicarlo con un ejemplo?

Agradezco sus felicitaciones.

Muchas gracias por contestar. voy ampliar mi requerimiento:

Básicamente es presentar en una matriz únicamente los valores máximos calculados en un periodo, los valores máximos ya los tengo calculados.

En la siguiente imagen muestro el cálculo acumulado anual a partir de un mes X, se muestran en color amarillo.

En la solución que considero me puede ayudar es etiquetar cuáles son los valores máximos (Máximos), una vez etiquetados ya los podría filtar: Máximo 1, el resto 0.

Maximos1.JPG

así lo necesito presentar.

Maximos2.JPG

la medida que tengo para calcular el acumulado es la siguiente:

Consumo =

FUERON firstStarDate = BRIBONA(TODOS SELECCIONADOS(Calendario),Calendario[Fecha])
FUERON curAño = MÁXIMO(Calendario[Año])
FUERON startDate = FECHA(SI(MÁXIMO(Calendario[Número de mes]) >= MES(firstStarDate),curAño,curAño-1), MES(firstStarDate), DÍA(firstStarDate))
FUERON endDate = EOMONTH(startDate,11)
DEVOLUCIÓN
CALCULAR([Ventas],Calendario[Fecha] >= startDate && Calendario[Fecha] <= endDate && Calendario[Fecha] <= MÁXIMO(Calendario[Fecha]))
Maximos3.JPG

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.