Cálculo del tiempo de tránsito excluyendo fechas situacionales y feriados para origen y destino

Un usuario Pregunto ✅

zaidmasad

Capturar.JPG

En respuesta a zaidmasad

Hola @zaidmasad,

Puede echar un vistazo a la fórmula a continuación que se utiliza para obtener el rango de fechas de transmisión (excepto las fechas situacionales)

Columna calculada: obtenga el intervalo de fechas, excepto especificar la fecha y las vacaciones normales (sábado y domingo)

Detail = 
var calendarTable= CALENDAR([Start Date],[End Date])
var exceptDate=CALCULATETABLE(VALUES(Sheet3[situation Date]),FILTER(ALL(Sheet3),[Entity]=EARLIER(Sheet2[Origin Entity])||[Entity]=EARLIER(Sheet2[Destination Entity])))
var filtered=ADDCOLUMNS(EXCEPT(calendarTable,exceptDate),"Day Of Week",WEEKDAY([Date],1))
return
CONCATENATEX(FILTER(filtered,[Day Of Week]<>1&&[Day Of Week]<>7),[Date],",")

Count =
var calendarTable= CALENDAR([Start Date],[End Date])
var exceptDate=CALCULATETABLE(VALUES(Sheet3[situation Date]),FILTER(ALL(Sheet3),[Entity]=EARLIER(Sheet2[Origin Entity])||[Entity]=EARLIER(Sheet2[Destination Entity])))
var filtered=ADDCOLUMNS(EXCEPT(calendarTable,exceptDate),"Day Of Week",WEEKDAY([Date],1))
return
COUNTROWS(FILTER(filtered,[Day Of Week]<>1&&[Day Of Week]<>7))

4 PNG

>>También algunos de los países tienen fin de semana como sábado y domingo, el otro tiene fines de semana como viernes y sábado.

Debe crear una tabla para almacenar estos días específicos de la semana y luego excluirlos del rango de fechas actual.

Saludos,

Xiaoxin-sheng

zaidmasad

@v-shex-msft Puedo compartir con ustedes el archivo, pero en realidad no sé cómo.

Hola @zaidmasad,

Puede usar la siguiente fórmula para calcular el tiempo de tránsito, excepto las vacaciones.

Count = COUNTROWS(FILTER(ADDCOLUMNS(CALENDAR([Start Date],[End Date]),"Day Of Week",WEEKDAY([Date],1)),[Day Of Week]<>1&&[Day Of Week]<>7)) 

1 PNG

Además, no estoy tan seguro de cómo usar la tabla de fechas situacionales, ¿puede compartir información detallada?

Saludos,

Xianxin-sheng

zaidmasad

En respuesta a v-shex-msft

@v-shex-msft También algunos de los países tienen fines de semana como sábado y domingo, el otro tiene fines de semana como viernes y sábado. ¿Se puede incluir esto en el cálculo? Muchas gracias por su ayuda

En respuesta a zaidmasad

Hola @zaidmasad,

Puede echar un vistazo a la fórmula a continuación que se utiliza para obtener el rango de fechas de transmisión (excepto las fechas situacionales)

Columna calculada: obtenga el intervalo de fechas, excepto especificar la fecha y las vacaciones normales (sábado y domingo)

Detail = 
var calendarTable= CALENDAR([Start Date],[End Date])
var exceptDate=CALCULATETABLE(VALUES(Sheet3[situation Date]),FILTER(ALL(Sheet3),[Entity]=EARLIER(Sheet2[Origin Entity])||[Entity]=EARLIER(Sheet2[Destination Entity])))
var filtered=ADDCOLUMNS(EXCEPT(calendarTable,exceptDate),"Day Of Week",WEEKDAY([Date],1))
return
CONCATENATEX(FILTER(filtered,[Day Of Week]<>1&&[Day Of Week]<>7),[Date],",")

Count =
var calendarTable= CALENDAR([Start Date],[End Date])
var exceptDate=CALCULATETABLE(VALUES(Sheet3[situation Date]),FILTER(ALL(Sheet3),[Entity]=EARLIER(Sheet2[Origin Entity])||[Entity]=EARLIER(Sheet2[Destination Entity])))
var filtered=ADDCOLUMNS(EXCEPT(calendarTable,exceptDate),"Day Of Week",WEEKDAY([Date],1))
return
COUNTROWS(FILTER(filtered,[Day Of Week]<>1&&[Day Of Week]<>7))

4 PNG

>>También algunos de los países tienen fin de semana como sábado y domingo, el otro tiene fines de semana como viernes y sábado.

Debe crear una tabla para almacenar estos días específicos de la semana y luego excluirlos del rango de fechas actual.

Saludos,

Xiaoxin-sheng

zaidmasad

En respuesta a v-shex-msft

@v-shex-msft Hola de nuevo,

Todavía tengo un problema con el cálculo del tiempo de tránsito, ahora la fórmula para excluir fechas situacionales funciona bien. pero necesito una fórmula para excluir los días festivos según el país.

Tengo una tabla para días festivos que se ve a continuación para las entidades, independientemente de si es un destino o un origen:

Capturar.JPG

¿Cuál debería ser la nueva fórmula para calcular el tiempo de tránsito?

Muchas gracias por su ayuda.

zaidmasad

En respuesta a v-shex-msft

Hola @v-shex-msft,

¿Puede explicarme exactamente cómo funciona esta función? Soy nuevo en este tipo de funciones y powerBI.

Muchísimas gracias

En respuesta a zaidmasad

Hola @zaidmasad,

Algún comentario de la fórmula:

Detail = 
var calendarTable= CALENDAR([Start Date],[End Date]) //use "start date" and "end date" from current row content to create a calendar table.
var exceptDate=CALCULATETABLE(VALUES(Sheet3[situation Date]),FILTER(ALL(Sheet3),[Entity]=EARLIER(Sheet2[Origin Entity])||[Entity]=EARLIER(Sheet2[Destination Entity]))) //use current "origin entity" and "destination entity" to filter situation date from situation table.
var filtered=ADDCOLUMNS(EXCEPT(calendarTable,exceptDate),"Day Of Week",WEEKDAY([Date],1)) // add "day of week" column to calendar table(it used to filter normal holiday)
return
CONCATENATEX(FILTER(filtered,[Day Of Week]<>1&&[Day Of Week]<>7),[Date],",") // filter date and merge them to text
COUNTROWS(FILTER(filtered,[Day Of Week]<>1&&[Day Of Week]<>7)) //filter date and get count of days.

Por cierto, también puede consultar el siguiente enlace sobre las funciones de dax:

Referencia de la función DAX

Saludos,

Xiaoxin-sheng

zaidmasad

En respuesta a v-shex-msft

@v-shex-msft

Captura1.JPG

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *