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

Get certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now

Reply
telesforo1969
Resolver I
Resolver I

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.

Join us as experts from around the world come together to shape the future of data and AI!
At the Microsoft Analytics Community Conference, global leaders and influential voices are stepping up to share their knowledge and help you master the latest in Microsoft Fabric, Copilot, and Purview.
️ November 12th-14th, 2024
 Online Event
Register Here

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
November Carousel

Fabric Community Update - November 2024

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

Live Sessions with Fabric DB

Be one of the first to start using Fabric Databases

Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.

Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.

Nov PBI Update Carousel

Power BI Monthly Update - November 2024

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