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

Comportamiento inesperado Sameperiodlastyear

hola

Estoy usando la función sameperiodlastyear en algunas medidas y funcionan bien durante todos los períodos además del mes actual. Esperaría ver el valor de MTD de los datos del año pasado allí, pero muestra el valor del mes completo.

Información:

- Tengo una tabla de fechas dedicada con fechas continuas creadas hasta la fecha de hoy

- Tengo cortadores para el año de negocios y el mes de negocios

- He intentado añadir una cortadora durante días. Cuando selecciono el número de días hasta la fecha de ayer me da los valores correctos en la matriz (tanto este año como el año pasado) pero tan pronto como selecciono todos los días MTD, los valores del año pasado saltan al valor total del mes.


No entiendo por qué está pasando esto. Estas son mis medidas y un ejemplo del salto de valor:


Volumen total = calculate(sum('Eod brokerspread'[volumen]))
Volumen total LY = CALCULATE([Volumen total],SAMEPERIODLASTYEAR('Fecha'[Fecha]))
19 de abril no incluido:
cvanderheijden_0-1618837896999.png

da este resultado:

cvanderheijden_1-1618837937199.png

El 19º incluido da este resultado:

cvanderheijden_2-1618837973672.png

El volumen total LY anterior es el valor total de abril del año pasado y no entre el 1 y el 19.

¿Puede alguien explicar por qué trata el mismoperiodlastyear como un mes completo tan pronto como se incluyen todas las fechas mes a día?

Btw he intentado cambiar sameperiodlastyear con la siguiente fórmula con exactamente el mismo resultado.

Volumen total LY = CALCULATE(sum('Eod brokerspread'[volumen]),DATESMTD(dateadd('Date'[Date],-1,year))))

Lea también esta entrada de blog donde ya explica que sameperiodlastyear y la lógica anterior son los mismos:

http://mdxdax.blogspot.com/2011/01/dax-time-intelligence-functions.html

gracias

Chris

1 ACCEPTED SOLUTION

@cvanderheijden

¿Hiciste que pareciera así? dateadd('Fecha'[Fecha],-365,día)

-1 es ayer, -365 se remonta a 12 meses.

View solution in original post

8 REPLIES 8
Syndicate_Admin
Administrator
Administrator

No hay @cvanderheijden

Intente usar "día" como intervalo para su DATEADD en lugar de año.

Hola Amine,

gracias por su respuesta, pero esto no soluciona mi problema, porque quiero mirar el mismo período, pero hace 12 meses, no ayer.

Chris

@cvanderheijden

¿Hiciste que pareciera así? dateadd('Fecha'[Fecha],-365,día)

-1 es ayer, -365 se remonta a 12 meses.

Hola Amine,

tienes razón, leí tu solución rápidamente. Tengo otro objeto visual en el que sameperiodlastyear me muestra el valor correcto por año y su solución da un valor ligeramente diferente. ¿Sabes por qué? He cambiado "-365" a diferentes días para ver si podía igualar el valor de sameperiodlastyear pero no puedo.

¿Cuál podría ser la lógica detrás de esta diferencia?

gracias

Chris

@cvanderheijden

La diferencia está en la granularidad de los datos que desea ver en el objeto visual. PREVIOUSYEAR devuelve el resultado de todo el año anterior, DATEADD devuelve el número de días a partir de la fecha en que desea iniciar el cálculo. Nada malo con cualquiera de los dos enfoques, es sólo cómo el usuario quiere ver los datos en un objeto visual específico.

Echa un vistazo a este artículo puede ser de ayuda.

https://minova.nl/geen-categorie/power-bi-dax-dateadd-versus-previousmonth

https://radacad.com/dateadd-vs-parallelperiod-vs-sameperiodlastyear-dax-time-intelligence-question

¡Muy claro, gracias!

Syndicate_Admin
Administrator
Administrator

@amitchandak gracias por su respuesta, pero ya expliqué en mi pregunta que ya había intentado esto, pero escribí la expresión errónea para incluir DATESMTD.

He intentado su solución de nuevo, pero con el mismo resultado. También como he incluido en mi post, su solución y sameperiodlastyear son los mismos que se explican en este blogpost -> http://mdxdax.blogspot.com/2011/01/dax-time-intelligence-functions.html

Tampoco tiene sentido para mí que me reconozca que sólo estamos en abril (en lugar de mostrar el volumen completo del año pasado) correctamente cuando sólo seleccionamos el Año en la cortadora, pero no es que sólo estemos en el día 19.

¿Alguien más tiene alguna idea?

Syndicate_Admin
Administrator
Administrator

@cvanderheijden,Por favor, intente así con una mesa de fecha

Año detrás de ventas = CALCULATE(sum('Eod brokerspread'[volumen]),dateadd('Date'[Date],-1,Year))

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.