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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Problema con el día siguiente en Power BI

Hola, chicos

Necesito comparar dos fechas (Fecha de recepción y Fecha de procesamiento), lo que necesito verificar es si la fecha de procesamiento es igual o el día siguiente de la fecha de recepción. Por ejemplo, si la fecha de recepción es el 22 de junio de 2021, la fecha de procesamiento debe ser el 22 de junio de 2021 o el 23 de junio de 2021. Si no que su considerado un fracaso.

Otro tema que tengo que tendré que considerar días festivos y fines de semana cuando compare estas dos fechas. ¿Ustedes han tenido alguna experiencia comparando fechas como el ejemplo anterior?

Gracias de antemano,

Eduardo

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

No @Ikezaki

¿Todas las fechas de recepción y las fechas procesadas ocurren en fechas laborables? Si es así, ¿desea comprobar si una fecha procesada es igual o la siguiente fecha de trabajo de la fecha de recepción? Para lograr este objetivo, debe tener una columna en la tabla Fecha para marcar si una fecha es una fecha de trabajo. A continuación, puede agregar una columna de índice de fecha de trabajo basada en eso.

Por ejemplo, en mi ejemplo a continuación, mis fechas de trabajo son todos días de la semana sin fines de semana (ignorando otros días festivos). El número 1 representa que es un día laborable. En función de esto, agrego una columna WorkingDayIndex para contar las fechas de trabajo acumuladas en la tabla Date. Esto se utilizará para calcular el siguiente día hábil más tarde.

062403.jpg

Luego creo debajo de la medida para verificar las fechas.

Measure = 
VAR _receivingDateIndex = SELECTEDVALUE('DimDate'[WorkingDayIndex])
VAR _receivingDate = SELECTEDVALUE('Table'[Receiving date])
VAR _nextWorkingDate = MAXX(FILTER(ALL(DimDate),DimDate[WorkingDayIndex]=_receivingDateIndex+1),DimDate[Date])
VAR _processedDate = SELECTEDVALUE('Table'[Processed Date])
RETURN
IF(_processedDate=_receivingDate||_processedDate=_nextWorkingDate,"True","False")

062404.jpg

Tenga en cuenta que mi muestra se crea sobre la base de la suposición de que todas las fechas de recepción y las fechas procesadas deben ocurrir en días laborables. Si sus fechas de recepción y procesamiento podrían ocurrir en fechas no laborables, tenemos que hacer algunas modificaciones. Y debe crear la columna [Es el día laborable] en función de sus fines de semana y días festivos. Adjunto el pbix para su referencia.

saludos
Equipo de soporte de la comunidad _ Jing
Si esta publicación ayuda, por favor acéptala como la solución para ayudar a otros miembros a encontrarla.

View solution in original post

9 REPLIES 9
Syndicate_Admin
Administrator
Administrator

No @Ikezaki

¿Todas las fechas de recepción y las fechas procesadas ocurren en fechas laborables? Si es así, ¿desea comprobar si una fecha procesada es igual o la siguiente fecha de trabajo de la fecha de recepción? Para lograr este objetivo, debe tener una columna en la tabla Fecha para marcar si una fecha es una fecha de trabajo. A continuación, puede agregar una columna de índice de fecha de trabajo basada en eso.

Por ejemplo, en mi ejemplo a continuación, mis fechas de trabajo son todos días de la semana sin fines de semana (ignorando otros días festivos). El número 1 representa que es un día laborable. En función de esto, agrego una columna WorkingDayIndex para contar las fechas de trabajo acumuladas en la tabla Date. Esto se utilizará para calcular el siguiente día hábil más tarde.

062403.jpg

Luego creo debajo de la medida para verificar las fechas.

Measure = 
VAR _receivingDateIndex = SELECTEDVALUE('DimDate'[WorkingDayIndex])
VAR _receivingDate = SELECTEDVALUE('Table'[Receiving date])
VAR _nextWorkingDate = MAXX(FILTER(ALL(DimDate),DimDate[WorkingDayIndex]=_receivingDateIndex+1),DimDate[Date])
VAR _processedDate = SELECTEDVALUE('Table'[Processed Date])
RETURN
IF(_processedDate=_receivingDate||_processedDate=_nextWorkingDate,"True","False")

062404.jpg

Tenga en cuenta que mi muestra se crea sobre la base de la suposición de que todas las fechas de recepción y las fechas procesadas deben ocurrir en días laborables. Si sus fechas de recepción y procesamiento podrían ocurrir en fechas no laborables, tenemos que hacer algunas modificaciones. Y debe crear la columna [Es el día laborable] en función de sus fines de semana y días festivos. Adjunto el pbix para su referencia.

saludos
Equipo de soporte de la comunidad _ Jing
Si esta publicación ayuda, por favor acéptala como la solución para ayudar a otros miembros a encontrarla.

Gracias por la rápida solución para el problema, he intentado replicar exactamente los mismos pasos que me mostró, la única diferencia entre su modelo y el modelo en el que estoy trabajando es que la fecha de procesamiento está en una tabla diferente, la relación entre la tabla recibida y la tabla procesada es de 1 a muchos a uno a medida que procesamos el stock por lotes. La relación entre la tabla de fechas y la tabla recibida es la misma que la que compartió.

Consulte el ejemplo de otro problema que se produjo con la medida que sugirió.

Ikezaki_0-1624566129421.png

La primera fecha es la fecha de recepción y la segunda fecha es la fecha de procesamiento, cuando agrego la medida para verificar si el siguiente día hábil es VERDADERO o FALSO, la tabla pierde la pista de las fechas, consulte a continuación:

Ikezaki_1-1624566280835.png

La comprobación del día siguiente es exactamente la misma que la publicada anteriormente.

Next Day Check = 
VAR _receivingDateIndex = SELECTEDVALUE('Date Dimension'[WorkingDayIndex])
VAR _receivingDate = SELECTEDVALUE(Final_Merger[First Date])
VAR _nextWorkingDate = MAXX(FILTER(ALL('Date Dimension'),'Date Dimension'[WorkingDayIndex]=_receivingDateIndex+1),'Date Dimension'[Date])
VAR _processedDate = SELECTEDVALUE('Export Worksheet'[Second Date])
RETURN
IF(_processedDate=_receivingDate||_processedDate=_nextWorkingDate,"True","False")

¿Sabrías lo que podría estar mal en mi modelo?

Gracias de antemano una vez más

No @Ikezaki

¿En qué columnas se basa la relación entre la tabla recibida y la tabla procesada en el modelo actual? Veo una relación de varios a varios entre Receipt_ID_Test y PRE-ADVICE-ID en el archivo pbix que compartió.

Jing

Hola Jingzhang,

Sí, eso es correcto, la combinación entre estas tablas es con id de recibo e id de consejo previo, sin embargo, todavía estamos limpiando los datos y la relación podría cambiar a uno a muchos (un identificador de consejo previo a muchos id de recibo).

Gracias

Syndicate_Admin
Administrator
Administrator

Hola @Ikezaki

Si pudiera proporcionar un archivo .pbix de ejemplo que debería ayudar a proporcionar un trabajo rápido en la solución.

saludos

Kumail Raza

Hay @Kumail,

¿Cómo puedo adjuntar el pbix aquí? Lo he intentado y he recibido un mensaje de error.

Gracias

@Ikezaki puedes insertar el enlace desde tu google drive, onedrive o dropbox.

Espero que esto ayude.

saludos

Kumail Raza

@Kumail Gracias Kumail, por favor vea el enlace a continuación. En este caso estoy tratando de comparar la primera fecha con la segunda fecha.

https://1drv.ms/u/s!Ak0DVagYmTvJzGTOQenzgVtQL9j0?e=b9PtnM

Hola @Ikezaki

Hay una relación de varios a muchos entre las tablas con la primera y la segunda fecha y, por lo tanto, no podemos obtener un solo valor para 1 fecha con la otra tabla correspondiente.

Puede limpiar la fecha para tener relaciones de 1 a muchos o de muchos a 1 entre las 2 tablas o combinar los 2 datos con filas relacionadas y devolverlos.

Kumail_0-1624540797937.png

Espero que esto ayude y pueda volver una vez que tenga una consulta adicional.

saludos

Kumail Raza

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

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.