cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Syndicate_Admin
Administrator
Administrator

Medida para obtener la hora/fecha

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.

3 ACCEPTED SOLUTIONS
Syndicate_Admin
Administrator
Administrator

@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

View solution in original post

@akapoor03

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

View solution in original post

Syndicate_Admin
Administrator
Administrator

¿@akapoor03

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.

屏幕截图 2022-01-19 115041.jpg

屏幕截图 2022-01-19 113740.jpg

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"
)

屏幕截图 2022-01-19 114638.jpg

la tercera tabla:

屏幕截图 2022-01-19 115315.jpg

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í.

屏幕截图 2022-01-19 115720.jpg

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!

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

¿@akapoor03

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.

屏幕截图 2022-01-19 115041.jpg

屏幕截图 2022-01-19 113740.jpg

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"
)

屏幕截图 2022-01-19 114638.jpg

la tercera tabla:

屏幕截图 2022-01-19 115315.jpg

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í.

屏幕截图 2022-01-19 115720.jpg

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!

Syndicate_Admin
Administrator
Administrator

@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

@amitchandak

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.

akapoor03_0-1642480393384.png

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"

@akapoor03

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

Helpful resources

Announcements
Microsoft Build 768x460.png

Microsoft Build is May 24-26. Have you registered yet?

Come together to explore latest innovations in code and application development—and gain insights from experts from around the world.

charticulator_carousel_with_text (1).png

Charticulator Design Challenge

Put your data visualization and design skills to the test! This exciting challenge is happening now through May 31st!

May UG Leader Call Carousel 768x460.png

What difference can a User Group make for you?

At the monthly call, connect with other leaders and find out how community makes your experience even better.

Power BI Release May 2022 768x460.png

Check it out!

Click here to read more about the May 2022 updates!

Top Kudoed Authors