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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
telesforo1969
Helper III
Helper III

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 =
VAR FechaCalendario = SELECTEDVALUE(Calendario[Date])
VAR firstStarDate = MINX(ALLSELECTED(Calendario),Calendario[Date])
VAR curYear = MAX(Calendario[Year])
VAR startDate = DATE(IF(MAX(Calendario[Month Number]) >= MONTH(firstStarDate),curYear,curYear-1), MONTH(firstStarDate), DAY(firstStarDate))
VAR endDate = EOMONTH(startDate,11)
Var Acumulado = CALCULATE([Ventas], Calendario[Date] >= startDate && Calendario[Date] <= endDate && Calendario[Date] <= MAX(Calendario[Date]))
VAR MaximosAcumulados =
RETURN

Maximos.JPG

 

 

9 REPLIES 9
v-tianyich-msft
Community Support
Community Support

Hi @telesforo1969 ,

 

This question would be simpler if it was a maximum value over the course of a year, so I made simple samples and you can check the results below:

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])

 

An attachment for your reference. Hope it helps!

 

Best regards,
Community Support Team_ Scott Chang

 

If this post helps then please consider Accept it as the solution to help the other members find it more quickly.

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 =

VAR firstStarDate = MINX(ALLSELECTED(Calendario),Calendario[Date])
VAR curYear = MAX(Calendario[Year])
VAR startDate = DATE(IF(MAX(Calendario[Month Number]) >= MONTH(firstStarDate),curYear,curYear-1), MONTH(firstStarDate), DAY(firstStarDate))
VAR endDate = EOMONTH(startDate,11)
RETURN
CALCULATE([Ventas],Calendario[Date] >= startDate && Calendario[Date] <= endDate && Calendario[Date] <= MAX(Calendario[Date]))

 

 

Maximos1.JPG

 

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

Maximos2.JPG

 

 

Hi @telesforo1969 ,

 

The key to the problem is to find the maximum value, and how to find the maximum value is more difficult, because your data is across the years, you need a “class” to group, so as to get the maximum value within a group. I think the solution I initially provided solves the problem. Why are you unable to generate an array?

 

Best regards,
Community Support 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

Hi @telesforo1969 ,

 

Perhaps you could try the following expression:

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

 

Hope it helps!

 

Best regards,
Community Support Team_ Scott Chang

 

If this post helps then please consider Accept it as the solution to help the other members find it more quickly.

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

amitchandak
Super User
Super User

@telesforo1969 , for cumulative you can try measures like

 

Cumm Sales = CALCULATE(SUM(Sales[Sales Amount]),filter(all('Date'),'Date'[date] <=max('Date'[date])))

Cumm Sales = CALCULATE(SUM(Sales[Sales Amount]),filter(allselected(date),date[date] <=max(date[Date])))

Cumm Based on Date = CALCULATE([Net], Window(1,ABS,0,REL, ALL('date'[date]),ORDERBY('Date'[date],ASC)))

Cumm Based on Date = CALCULATE([Net], Window(1,ABS,0,REL, ALLSELECTED('date'[date]),ORDERBY('Date'[date],ASC)))

 

 

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

 

Continue to explore Power BI Window function Rolling, Cumulative/Running Total, WTD, MTD, QTD, YTD, FYTD: https://youtu.be/nxc_IWl-tTc
https://medium.com/@amitchandak/power-bi-window-function-3d98a5b0e07f

 

The information you have provided is not making the problem clear to me. Can you please explain with an example.

Appreciate your Kudos.

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 =

VAR firstStarDate = MINX(ALLSELECTED(Calendario),Calendario[Date])
VAR curYear = MAX(Calendario[Year])
VAR startDate = DATE(IF(MAX(Calendario[Month Number]) >= MONTH(firstStarDate),curYear,curYear-1), MONTH(firstStarDate), DAY(firstStarDate))
VAR endDate = EOMONTH(startDate,11)
RETURN
CALCULATE([Ventas],Calendario[Date] >= startDate && Calendario[Date] <= endDate && Calendario[Date] <= MAX(Calendario[Date]))
 
Maximos3.JPG
 
 
 

 

Helpful resources

Announcements
July 2024 Power BI Update

Power BI Monthly Update - July 2024

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

July Newsletter

Fabric Community Update - July 2024

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