Tengo una columna como Job Create time eg 14/01/2022 12:03:45 AM. Quiero crear una medida que muestre el tiempo de cierre del trabajo como 48 horas más el tiempo de creación del trabajo. Pero, si hay un fin de semana o un día festivo en el medio, por lo que debe omitirlo y solo calcular en función de los días hábiles. Para la claculación de festivos y fines de semana tengo una tabla de calendario que tiene una columna como ïf día de trabajo", donde muestra 1 como día laborable y 0 como fin de semana y festivo.
Solved! Go to Solution.
@akapoor03 , Mi blog sobre el mismo tpoic debería ayudar
Viajar a través de los días de trabajo - ¿Qué es el día de trabajo siguiente / anterior?
https://community.powerbi.com/t5/Community-Blog/Travelling-Across-Workdays-Decoding-Date-and-Calenda...
Añadir 2 días laborables
pls pruebe esto
Column =
VAR next=minx(FILTER('Table (2)','Table'[create time]<'Table (2)'[DATE] && 'Table (2)'[IF WORKDAY]="Yes"),'Table (2)'[DATE])
return minx(FILTER('Table (2)',next<'Table (2)'[DATE] && 'Table (2)'[IF WORKDAY]="Yes"),'Table (2)'[DATE])+mod('Table'[create time],1)
pls ver el archivo adjunto a continuación
De acuerdo con su descripción, creé el archivo de la siguiente manera:
Primero necesitamos crear una tabla de días festivos, estos datos se pueden obtener fácilmente de la fuente web. He creado una tabla simple aquí, puede extenderla según sea necesario.
Entonces necesitamos un calendario para filtrar qué fechas son días hábiles:
Table1 = CALENDAR(date(2022,01,01), date(2022,12,31))
Holiday = LOOKUPVALUE('PublicHolidayTable'[Name],PublicHolidayTable[Date],'Table1'[Date])
WeekDay = WEEKDAY('Table1'[Date],2)
Working Day =
SWITCH (
TRUE (),
ISBLANK ('Table1'[Holiday])
&& 'Table1'[WeekDay] < 6, "1",
ISBLANK ('Table1'[Holiday])
&& 'Table1'[WeekDay] >= 6, "0",
"0"
)
la tercera tabla:
Por favor, cree una medida:
JobEndTime =
VAR _time = TIMEVALUE(FORMAT(MAX(Table2[JobCreateTime]),"hh:mm:ss"))
VAR _table = TOPN(2,FILTER('Table1','Table1'[Date]>MAX(Table2[JobCreateTime])&&'Table1'[Working Day]="1"),'Table1'[Date],ASC)
VAR _newDate = MAXX(_table,[Date]) +_time
return
_newDate
Y el resultado debería verse así.
Espero que esto ayude ~
Saludos
Equipo de soporte comunitario _ Gao
Si hay alguna publicación que ayude, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente. Si no entiendo bien sus necesidades o todavía tiene problemas, no dude en hacérnoslo saber. ¡Muchas gracias!
De acuerdo con su descripción, creé el archivo de la siguiente manera:
Primero necesitamos crear una tabla de días festivos, estos datos se pueden obtener fácilmente de la fuente web. He creado una tabla simple aquí, puede extenderla según sea necesario.
Entonces necesitamos un calendario para filtrar qué fechas son días hábiles:
Table1 = CALENDAR(date(2022,01,01), date(2022,12,31))
Holiday = LOOKUPVALUE('PublicHolidayTable'[Name],PublicHolidayTable[Date],'Table1'[Date])
WeekDay = WEEKDAY('Table1'[Date],2)
Working Day =
SWITCH (
TRUE (),
ISBLANK ('Table1'[Holiday])
&& 'Table1'[WeekDay] < 6, "1",
ISBLANK ('Table1'[Holiday])
&& 'Table1'[WeekDay] >= 6, "0",
"0"
)
la tercera tabla:
Por favor, cree una medida:
JobEndTime =
VAR _time = TIMEVALUE(FORMAT(MAX(Table2[JobCreateTime]),"hh:mm:ss"))
VAR _table = TOPN(2,FILTER('Table1','Table1'[Date]>MAX(Table2[JobCreateTime])&&'Table1'[Working Day]="1"),'Table1'[Date],ASC)
VAR _newDate = MAXX(_table,[Date]) +_time
return
_newDate
Y el resultado debería verse así.
Espero que esto ayude ~
Saludos
Equipo de soporte comunitario _ Gao
Si hay alguna publicación que ayude, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente. Si no entiendo bien sus necesidades o todavía tiene problemas, no dude en hacérnoslo saber. ¡Muchas gracias!
@akapoor03 , Mi blog sobre el mismo tpoic debería ayudar
Viajar a través de los días de trabajo - ¿Qué es el día de trabajo siguiente / anterior?
https://community.powerbi.com/t5/Community-Blog/Travelling-Across-Workdays-Decoding-Date-and-Calenda...
Añadir 2 días laborables
Intenté esto, pero al final, no muestra la fecha que está más allá de la fecha de calendario máximo, que es la fecha actual.
No sé cómo extender otro año en Calender.
La consulta del editor avanzado de mi tabla de calendario es-
dejar
Fuente = List.Dates(StartDate, Length+1, #duration(1, 0, 0, 0)),
#"Convertido a tabla" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Columnas renombradas" = Table.RenameColumns(#"Converted to Table",{{"Column1", "Date"}}),
#"Changed Type" = Table.TransformColumnTypes(#"Renamed Columns",{{"Date", type date}}),
StartDate = #date(2021, 7, 1),
Hoy = DateTime.Date(DateTimeZone.SwitchZone(DateTimeZone.LocalNow(),11)),
Duración = Duración.Días(Hoy - StartDate),
Custom1 = #"Tipo cambiado",
#"Año insertado" = Table.AddColumn(Custom1, "Fin Year", each Date.Year([Date]+#duration(184,0,0,0)), Int64.Type),
#"Nombre de mes insertado" = Table.AddColumn(#"Año insertado", "Nombre de mes", cada Date.MonthName([Fecha]), escriba texto),
#"Nombre del día insertado" = Table.AddColumn(#"Nombre del mes insertado", "Nombre del día", cada Date.DayOfWeekName([Fecha]), escriba texto),
#"Mes insertado" = Table.AddColumn(#"Nombre del día insertado", "Fin Month", cada uno if Date.Month([Date]) >=7 then Date.Month([Date])-6 else Date.Month([Date])+6 , Int64.Type),
#"Día de la semana insertado" = Table.AddColumn(#"Mes insertado", "Día de la semana", cada Date.DayOfWeek(([Fecha]), Day.Sunday), Int64.Type),
#"Primeros caracteres insertados" = Table.AddColumn(#"Día de la semana insertado", "MMM", cada Text.Start([Nombre del mes], 3), escriba texto),
#"Primeros caracteres insertados1" = Table.AddColumn(#"Primeros caracteres insertados", "DDD", cada Text.Start([Nombre del día], 3), escriba texto),
#"Columnas reordenadas" = Table.ReorderColumns(#"Primeros caracteres insertados1",{"Fecha", "Fin Year", "Month Name", "MMM", "Fin Month", "Day Name", "DDD", "Day of Week"}),
#"Added Custom" = Table.AddColumn(#"Columnas reordenadas", "FYMM", cada una ([Fin Year]-2000)*100 + [Fin Month]),
#"Changed Type1" = Table.TransformColumnTypes(#"Added Custom",{{"FYMM", Int64.Type}}),
#"Added Custom1" = Table.AddColumn(#"Changed Type1", "MonthID", each (Date.Year([Date]) - Date.Year(StartDate))*12 + Date.Month([Date])),
#"Changed Type2" = Table.TransformColumnTypes(#"Added Custom1",{{"MonthID", Int64.Type}})
en
#"Tipo2 cambiado"
pls pruebe esto
Column =
VAR next=minx(FILTER('Table (2)','Table'[create time]<'Table (2)'[DATE] && 'Table (2)'[IF WORKDAY]="Yes"),'Table (2)'[DATE])
return minx(FILTER('Table (2)',next<'Table (2)'[DATE] && 'Table (2)'[IF WORKDAY]="Yes"),'Table (2)'[DATE])+mod('Table'[create time],1)
pls ver el archivo adjunto a continuación
Come together to explore latest innovations in code and application development—and gain insights from experts from around the world.
Put your data visualization and design skills to the test! This exciting challenge is happening now through May 31st!
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |