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
Anonymous
Not applicable

Acumular el precio por mes, teniendo en cuenta la ultima fecha

Buenas tardes, estoy necesitando ayuda con lo siguiente:

 

bi_in_data_0-1608584791294.png

 

La medida de test_price de la tabla de la izquierda es la siguiente:

 
test_price =
CALCULATE(CALCULATE(AVERAGE(new_presence_prices[Precios_double] ),LASTDATE(new_presence_prices[created_at]))
,
FILTER ( ALL ( Dates ), Dates[Date] <= MAX ( Dates[Date]))
)

 

Los datos de la tabla new_presence_prices se actualizan unicamente cuando cambia el precio, sino siempre se reflejan en un linea, lo que me generaba que dentro del grafico de evolucion nunca pudiera tener el precio para cada uno de los meses, que en si era el mismo.

 

De momento lo que logro con esta medida es que a la hora de llevarla al grafico de evolucion, los "uid" que tienen mas de un precio o un unico precio, siempre me respeten el mas actual en cada uno de los meses

El unico problema que tengo es que cuando dentro de un mismo mes tengo mas de un "uid" con un precio cada uno , siempre me esta tomando el de la ultima fecha, dado que le estoy pasando LASTDATE.

 

Quisiera que el mes 09/2020, por ejemplo, me este sumando el 6,99 mas el 24,95 y luego sacar el promedio, pero dado que el precio de 24,95 es posterior al 6,99, solamente me trae 24,95

2 ACCEPTED SOLUTIONS

Ahí @bi_in_data.

Siento no haberme dado cuenta de que no tenías valores en todas tus líneas, mi mal.

Usando su medida rehecho el promedio para:

Last_Price = 
var Average_Price = CROSSJOIN (
    SUMMARIZE (
        FILTER(all(new_presence_prices[Created_at];new_presence_prices[UID]); new_presence_prices[Created_at]<= MAX(Dates[Date]));
        new_presence_prices[UID]
                   );
    VALUES ( Dates[Year_Month] )
)
return
AVERAGEX(Average_Price;[test_price])

Resutl a continuación y en el archivo adjunto:

MFelix_0-1608656147120.png

Una vez más apoligize para la confusión sobre los datos.


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



View solution in original post

No @bi_in_data ,

Todas las fórmulas X son fórmulas de iterador, esto significa que el cálculo se realiza fila por fila.

En este caso lo que hago con la fórmula es crear una tabla:

Mes - UID - precio de prueba

Esto crea una fila para cada mes para cada UID, luego recojo el promedio de cada fila, ya que en el gráfico de líneas sólo tengo Mes para dar contex lo que sucede es que por cada mes recogemos todas las líneas dentro (2 UID en este ejemplo) y hacemos los promedios de esos valores:

2020-12 - UID 1 - 6.99

2020-12 - UID 2 - 33.95

Promedio de valores anteriores:

2020-12 - Ambos UID - 20.47

Esto se hace para cada valor de cada mes.

También tiene este tipo de cálculos para SUMX, COUNTX, COUNTAX, etc.

Espero que esto ayude a entender el proceso.


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



View solution in original post

7 REPLIES 7
Anonymous
Not applicable

Felix,

 

Veo que funciona bien en tu caso, pero por que la tabla que estas utilizando tiene el dato en todos los meses.

Como te comentaba, yo lo tengo solo cuando cambia el precio.

prices = price_double

bi_in_data_0-1608651180817.png

asi es como se ve la tabla, seria la unifacion de esas dos imagenes.

Ahí @bi_in_data.

Siento no haberme dado cuenta de que no tenías valores en todas tus líneas, mi mal.

Usando su medida rehecho el promedio para:

Last_Price = 
var Average_Price = CROSSJOIN (
    SUMMARIZE (
        FILTER(all(new_presence_prices[Created_at];new_presence_prices[UID]); new_presence_prices[Created_at]<= MAX(Dates[Date]));
        new_presence_prices[UID]
                   );
    VALUES ( Dates[Year_Month] )
)
return
AVERAGEX(Average_Price;[test_price])

Resutl a continuación y en el archivo adjunto:

MFelix_0-1608656147120.png

Una vez más apoligize para la confusión sobre los datos.


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



Anonymous
Not applicable

Muchas gracias, funciono excelente, lo unico que no llego a entender bien es el averagex, entiendo que la primera parte haces una unificacion de dos tablas dentro de una variable, pero luego dentro del averagex no me queda claro como funciona.

 

Gracias!!

No @bi_in_data ,

Todas las fórmulas X son fórmulas de iterador, esto significa que el cálculo se realiza fila por fila.

En este caso lo que hago con la fórmula es crear una tabla:

Mes - UID - precio de prueba

Esto crea una fila para cada mes para cada UID, luego recojo el promedio de cada fila, ya que en el gráfico de líneas sólo tengo Mes para dar contex lo que sucede es que por cada mes recogemos todas las líneas dentro (2 UID en este ejemplo) y hacemos los promedios de esos valores:

2020-12 - UID 1 - 6.99

2020-12 - UID 2 - 33.95

Promedio de valores anteriores:

2020-12 - Ambos UID - 20.47

Esto se hace para cada valor de cada mes.

También tiene este tipo de cálculos para SUMX, COUNTX, COUNTAX, etc.

Espero que esto ayude a entender el proceso.


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



MFelix
Super User
Super User

No @bi_in_data ,

A lo que puedo entender que desea tener el último valor de precio para cada UID y luego recoger el promedio de todos los dentro del mismo mes y hacer el promedio.

Agregue la siguiente medida:

Average Value = AVERAGEX(VALUES(new_presence_prices[UID]);[test_price])

comprobar el resultado a continuación y en adjuntar archivo PBIX

MFelix_0-1608634751261.png


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



Anonymous
Not applicable

Felix gracias por la respuesta, 

El problema esta en que los datos de los precios los tengo de la siguiente manera.

 

UID 1

bi_in_data_0-1608639951474.png

UID 2

bi_in_data_1-1608640041750.png

 

Con la medida de test_prices logre llevar el precio a cada mes, pero cuando analizo dos UID me pasa que por ejemplo para el mes de 9-2020 como el primer UID tiene un created_at del 26/9 y el segundo UID tiene solo una fecha, que es del 2/06, siempre me trae la mas reciente, dado que estoy utilizando el LASTDATE.

 

Yo quisiera que quede como vos bien expusiste en el grafico de evolucion, la diferencia es que los datos de los precios los tengo de esta manera que le mostre anteriormente.

 

Gracias

No @bi_in_data ,

Si entiendo correctamente que desea tener el 6.99 de UID 2 considerar para el resto de los meses y luego usar que tiene el promedio?

Creo que es mejor para usted utilizar los valores LASTNONBLANK para obtener este cálculo, he hecho las siguientes medidas:

Last_Price = CALCULATE( LASTNONBLANK(new_presence_prices[precious_double];0);ALLSELECTED(Dates[Date]))
Average Value = AVERAGEX(VALUES(new_presence_prices[UID]);[Last_Price])

¿Puede ver la Last_Price da exactamente el mismo resultado tiene su medida:

MFelix_0-1608647815040.png

Sin embargo, cuando se utiliza esto en el AVERAGEX lo que estoy calculando es:

2020-12 (6,99 + 33,95) / 2 x 20,47

y así sucesivamente

MFelix_1-1608649194790.png

¿Es esto correcto?

Compruebe la conexión del archivo PBIX.


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



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.