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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Anonymous
Not applicable

Ventas del año anterior usando 454 Calendario con Date Slicer

Hola, actualmente tenemos un libro de trabajo de Excel corrido desde Jet que da datos de ventas, es decir, Actual, PY, Presupuesto, Objetivo, etc. Somos un negocio minorista, con nuestras semanas a partir del domingo. En este libro de trabajo (que estoy intentando replicar en Power Bi) los totales del año anterior me están dando algunos problemas. Debido a que tengo que usar el mismo día del año pasado y no la misma fecha, me está dando dolor. Quiero que puedan usar la segmentación de fecha para ver el diario, la semana hasta la fecha, el mes hasta la fecha, así como los totales de año a fecha para cada ubicación.

Por ejemplo: la fecha del informe es 7/1 mientras miramos el día anterior para obtener un día completo.

Puedo obtener el total diario correcto o tal vez el año, pero no puedo averiguar cuál sería el camino correcto para hacer que esta función correctamente con la cortadora de fecha. Estoy usando el Table Visual. He tomado una captura de pantalla de cómo quiero que esto funcione, pero no estoy seguro de si es totalmente posible usar la cortadora o no.

Realmente agradecería un consejo o simplemente alguna dirección que tendría que tomar.example.png

Informe diario

Fecha del informe7/1/2020
Día del Año Pasado7/3/2019

Semana a la fecha

Fecha de inicio del informe6/28/2020
Fecha de finalización del informe7/1/2020
Curr Date6/28/2020..7/1/2020
Inicio del año pasado6/30/2019
Fin del año pasado7/3/2020
Fecha previa6/30/2019..7/3/2019

Mes a la fecha

Fecha de inicio del informe7/1/2020
Fecha de finalización del informe7/1/2020
Curr Date7/1/2020..7/1/2020
Inicio del año pasado7/1/2020
Fin del año pasado7/1/2020
Fecha previa7/1/2019..7/1/2019

Año hasta la fecha

Fecha de inicio del informe1/1/2020
Fecha de finalización del informe7/1/2020
Curr Date1/1/2020..7/1/2020
Inicio del año pasado1/1/2019
Fin del año pasado7/1/2019
Fecha previa1/1/2019..7/1/2019
13 REPLIES 13
Anonymous
Not applicable

Hola @Dawn_K,

Cree 2 medidas como se indica a continuación:

Mes a fecha y año a fecha son los mismos:

Month  to date = 
var _calendardate=CALCULATETABLE(VALUES('calendar Table'[Date]),'calendar Table'[Date] in FILTERS('Table'[Date]))
Return
CALCULATE(MAX('calendar Table'[Date]),SAMEPERIODLASTYEAR(_calendardate))

Y verás:

Annotation 2020-07-03 103150.pngAnnotation 2020-07-03 103226.png

Día del año pasado y semana hasta la fecha son los mismos:

Day Last Year = 
var _calendardates=CALCULATETABLE(VALUES('calendar Table'[Date]),'calendar Table'[Date] in FILTERS('Table'[Date]))
Return
CALCULATE(MAX('calendar Table'[Date]),FILTER('calendar Table',YEAR('calendar Table'[Date])=YEAR(MAXX(_calendardates,'calendar Table'[Date]))-1&&'calendar Table'[weeknum]=WEEKNUM(MAXX(_calendardates,'calendar Table'[Date]),1)&&'calendar Table'[weekday]=WEEKDAY(MAXX(_calendardates,'calendar Table'[Date]),1)))

Y verás:

Annotation 2020-07-03 103500.pngAnnotation 2020-07-03 103507.png

Aquí está el archivo .pbix,pls haga clic aquí.


Saludos
Kelly
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!
Anonymous
Not applicable

@v-kellya-msft Gracias por la información. ¿Asumo que seguiría ese mismo camino también para el día y la semana?

Me gustaría lograrlo todo en una sola medida. ¿Es posible?

Anonymous
Not applicable

Además, no estoy tratando de ver la fecha en la que quiero los números de ventas de PY

Anonymous
Not applicable

Esto es en lo que he trabajado, y no está funcionando. Con la semana a la fecha, el código siguiente es el único que he podido usar con éxito y funciona correctamente, así que esperaba poder cambiarlo con restar el año. Puedo obtener la misma semana del año pasado, pero lo necesito para mostrar la semana hasta la fecha.

Ventas de PY ( PY Sales)
var _calendardateMonth - SAMEPERIODLASTYEAR('454 Date Table'[Date])

var _calendardatesYear - SAMEPERIODLASTYEAR('454 Date Table'[Date])

var _calendardateWeektoDate ? DATESBETWEEN('454 Date Table',LASTDATE('454 Date Table'[Start of Week]),LASTDATE('454 Date Table'[Fecha])-365)

var _calendardateDay - DATEADD('454 Date Table'[Date],-1,DAY)

devolución
CALCULATE(SUM('GCE$Revel POS Daily Sales'[Real]),_calendardateDay,_calendardateWeektoDate, _calendardateMonth, _calendardatesYear)
Anonymous
Not applicable

Hola @Dawn_K ,

¿Puede proporcionar algunos datos de ejemplo con la salida esperada?


Saludos
Kelly
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!
Anonymous
Not applicable

@v-kellya-msft

Por lo tanto, he tomado capturas de pantalla del informe Jet (también he incluido el factor de fecha que controla este informe) que se está utilizando, y también capturas de pantalla de mi archivo Power Bi que estoy intentando replicar.

Actualmente esta es mi medida

CALCULATE(SUM('GCE$Revel POS Daily Sales'[Real]), DATEADD('Date Table'[Date], -364,DAY)
El Diario y la Semana a la Fecha funciona, pero luego si miras el Mes hasta la fecha y el Año hasta la fecha desde la pantalla Jet y PowerBi
tomas mis totales están apagados.
Parece que, cuando me me me gusta hacer variables, sólo puedo obtener una suma total y no para cada una de las ubicaciones como su trabajo ahora.
Cualquier consejo sería muy apreciado. ¡¡Gracias!!
PowerBi Year to Date Sales - July 6.PNG PowerBi Month to Date -July 6.PNGb.PNG PowerBi Week to Date -July 6.PNG PowerBi Daily Sales - July 6.PNG tomas Daily Sales - July 6.PNG Week to Date Sales - July 6.PNG Month to Date Sales - July 6.PNG Year to Date Sales - July 6.PNG

Hola @Dawn_K

Lo siento por la respuesta tardía!

Parece un problema de totales de medida. Un problema muy común. Ver a continuación publicación al respecto

https://community.powerbi.com/t5/DAX-Commands-and-Tips/Dealing-with-Measure-Totals/td-p/63376

https://community.powerbi.com/t5/Quick-Measures-Gallery/Measure-Totals-The-Final-Word/m-p/547907

Puede agregar una medida adicional mientras calcula los totales. Como:

año a la fecha-sumx(values('Date Table'[Date]),[measure])

Saludos
Kelly
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!

Anonymous
Not applicable

@v-kellya-msft aunque esos artículos estaban intercalando, y podría ayudar en situaciones futuras, no creo que ese sea mi problema.

Mi problema es la fecha. Como estamos buscando las ventas del año anterior, mi problema es que nos fijamos en el día y no en la fecha. Por lo tanto, el uso de SAMEPERIODLASTYEAR no funciona para mi situación para mirar el día del año pasado o la semana hasta la fecha del año pasado. Funciona muy bien para mirar el mes o el año. Como expliqué antes, mis datos actuales son correctos cuando selecciono el día y la semana hasta la fecha, pero mis números están desactivados cuando miro el total del mes o el total del año. Por ejemplo, si elijo el 14 de julio de 2020 (la fecha del año anterior sería 7/16,2019) en mi segmentación de fecha con mi medida actual CALCULATE(SUM('GCE$Revel Daily Sales'[Real]),DATEADD('Date Table'[Date], -364,DAY)) obtengo resultados correctos. Si cambio la cortadora de fecha al 12 de julio de 2020 al 14 de julio de 2020 que sería la semana hasta la fecha (domingo comienza la semana) (fecha del año anterior sería 7/14/2019 a 7/16/2020) mis totales son correctos. Ahora, cuando selecciono del 1 de julio de 2020 al 14 de julio de 2020 con mi segmentación, es cuando mis totales son incorrectos. Como se muestra arriba en mi tabla, cada ubicación debe tener un valor total para cada fila, luego la suma de esos valores en la parte inferior de la tabla. Lo mismo sucede con selecciono del 1 de enero de 2020 al 14 de julio de 2020 con la segmentación de mis números.
He intentado escribir variables, pero o obtengo un valor en blanco en cada fila o obtengo un valor de suma que se repite en cada una de las filas.
Sólo estoy tratando de encontrar la mejor solución, que puedo crear una medida que cubrirá todos estos sceniros ya que el usuario normalmente seleccionará estas 4 opciones con la segmentación de fecha, pero necesito la segmentación de fecha para que puedan ver cualquier intervalo de fechas. Gracias de nuevo por su ayuda!

Hola @Dawn_K ,

¿Puede cargar su archivo .pbix a la empresa Onedrive y compartir el enlace conmigo?

Si usted toma la sugerencia en mi última respuesta para crear una medida usando sumx función , le dará el resultado correcto, pero no estoy seguro de si la medida 1 se puede utilizar en 4 criterios diferentes, por lo que pls compartir su archivo conmigo, voy a probarlo.

Saludos
Kelly
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!
Anonymous
Not applicable

@v-kellya-msft, así que he estado trabajando en una dirección diferente, pero sé que algo no es correcto con mi declaración RETURN.

Obtengo el valor correcto si dejo fuera la segunda declaración IF. Puedo obtener todos los totales correctos cuando cambio mis variables, pero no puedo obtener las 4 variables para trabajar en mi declaración RETURN. Como está escrito en este momento, obtengo mi Día y Semana, pero el Mes y el Año son sólo un poco, pero si creo una medida con el SAMEPERIODLASTYEAR y la uso por separado los totales son correctos. ¿Alguna idea?

var CalendarDateMonth á CALCULATE(SUM('GCE$Revel POS Daily Sales'[Real]),SAMEPERIODLASTYEAR('Date Table'[Date]))
var CalendarDateYear ? CALCULATE(SUM('GCE$Revel POS Daily Sales'[Real]), SAMEPERIODLASTYEAR('Date Table'[Date]))
var CalendarDateWeek ? CALCULATE(SUM('GCE$Revel POS Daily Sales'[Real]),DATEADD('Date Table'[Date], -364,DAY))
var CalendarDateDay ? CALCULATE(SUM('GCE$Revel POS Daily Sales'[Real]),DATEADD('Date Table'[Date], -364,DAY))

devolución
IF(SELECTEDVALUE('Date Table'[Date],CalendarDateDay),CalendarDateWeek,
IF(SELECTEDVALUE('Date Table'[Date],CalendarDateMonth),CalendarDateYear))
Anonymous
Not applicable

@v-kellya-msft Prefiero no subir mi archivo, ya que hay información sensativa. Intenté tu sugerencia

PY Total á SUMX(VALUES('Date Table'[Date]),([PY Sales])) pero tengo una columna en blanco.Capture1.PNG

Anonymous
Not applicable

@v-kellya-msft en realidad recibí tu sugerencia para trabajar. Encontré un error tipográfico (lo siento por eso). Sin embargo, I'm aún de descuento en mi mes hasta la fecha y año hasta la fecha para el año anterior.

lbendlin
Super User
Super User

Para el uso diario y semanal DateAdd() con días en lugar de años. Tendrás que mantener una tabla de referencia en algún lugar que tenga la diferencia de día entre tus años, para cada año. Así que entre este año y el año anterior la diferencia de fecha es 364.

Para Mensual y Anual puede utilizar las funciones regulares. SAMEPERIODLASTYEAR más la bandera "está en el pasado".

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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

Top Solution Authors