# lastworkdate - función de script y de gráfico

La función lastworkdate devuelve la fecha más temprana de finalización para obtener el no\_of\_workdays (lunes-viernes) si comienza en start\_date y teniendo en cuenta cualquier periodo vacacional opcionalmente indicado holiday. start\_date y holiday deben ser fechas o fecha-hora válidas.

Sintaxis:

lastworkdate(start\_date, no\_of\_workdays {, holiday})

Tipo de datos que devuelve: Entero

Un calendario que muestra cómo se utiliza la función `lastworkdate()`

Un calendario que muestra cómo se utiliza la función `lastworkdate()`

Un calendario que muestra cómo se utiliza la función `lastworkdate()`lastworkdate() ![Diagrama que muestra un calendario de un mes.](https://help.qlik.com/es-ES/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-lastworkdate-diagram1.png)

Limitaciones

No existe ningún método para modificar la función `lastworkdate()` para regiones o escenarios que impliquen otra cosa que no sea una semana laboral que comienza el lunes y finaliza el viernes.

El parámetro de vacaciones debe ser una constante de cadena de texto. No acepta una expresión.

Cuándo se utiliza

La función `lastworkdate()` se utiliza normalmente como parte de una expresión cuando el usuario desea calcular la fecha de finalización propuesta de un proyecto o asignación, en función de cuándo comienza el proyecto y las vacaciones que ocurrirán en dicho período.

## Configuraciones regionales

A menos que se especifique algo distinto, los ejemplos de este tema utilizan el siguiente formato de fecha: MM/DD/YYYY. El formato de fecha se especifica en la sentencia `SET DateFormat` de su script de carga de datos. El formato de fecha predeterminado puede ser diferente en su sistema, debido a su configuración regional y otros factores. Puede cambiar el formato en los ejemplos a continuación para ajustarlo a sus necesidades. O puede cambiar los formatos en su script de carga para que coincidan con estos ejemplos.

La configuración regional predeterminada en las aps se basa en la configuración del sistema regional de la computadora o servidor donde esté instalado Qlik Sense. Si el servidor de Qlik Sense al que está accediendo está configurado en Suecia, el editor de carga de datos utilizará la configuración regional sueca para las fechas, la hora y la moneda. Estos ajustes de formato regional no están relacionados con el idioma mostrado en la interfaz de usuario de Qlik Sense. Qlik Sense se mostrará en el mismo idioma que esté utilizando en su navegador.

Argumentos

| Argumento | Descripción |
| --- | --- |
| start\_date | La fecha inicial que se ha de evaluar. |
| no\_of\_workdays | El número de días laborables que se ha de alcanzar. |
| holiday | Los períodos de vacaciones que deben excluirse de los días laborables. Las vacaciones se enuncian como cadena de fecha constante. Puede especificar más fechas de vacaciones separadas por comas.<br><br>Ejemplo: `  '12/25/2013', '12/26/2013', '12/31/2013', '01/01/2014' ` |

## Ejemplo 1: ejemplo básico

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lastworkdate.htm)

#### Script de carga y resultados

Vista general

Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.

El script de carga contiene:

* Un conjunto de datos que contiene ID de proyectos, fechas de inicio de proyectos y el esfuerzo estimado en días requerido para los proyectos. El conjunto de datos se carga en una tabla denominada "`Projects`".

* Un load precedente que contiene la función `lastworkdate()`, configurada como el campo "`end_date`" e identifica cuándo está programado que finalice cada proyecto.

Script de carga

```
SET DateFormat='MM/DD/YYYY'; 

Projects: 
    Load 
       *, 
       LastWorkDate(start_date,effort) as end_date 
       ; 
Load 
id, 
start_date, 
effort 
Inline  
[	 
id,start_date,effort 
1,01/01/2022,14 
2,02/10/2022,17 
3,05/17/2022,5 
4,06/01/2022,12 
5,08/10/2022,26 
]; 
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* `id`
* `start_date`
* `effort`
* `end_date`

Tabla de resultados

| id | fecha\_inicio | esfuerzo | fecha\_fin |
| --- | --- | --- | --- |
| 1 | 01/01/2022 | 14 | 01/20/2022 |
| 2 | 02/10/2022 | 17 | 03/04/2022 |
| 3 | 05/17/2022 | 5 | 05/23/2022 |
| 4 | 06/01/2022 | 12 | 06/16/2022 |
| 5 | 08/10/2022 | 26 | 09/14/2022 |

Debido a que no hay días de vacaciones programados, la función agrega el número definido de días laborables, de lunes a viernes, a la fecha de inicio para encontrar la fecha de finalización más temprana posible.

El calendario siguiente muestra la fecha de inicio y fin del proyecto 3, con los días laborables resaltados en verde.

Un calendario que muestra la fecha de inicio y fin del proyecto 3

Un calendario que muestra la fecha de inicio y fin del proyecto 3

Un calendario que muestra la fecha de inicio y fin del proyecto 3 ![Diagrama que muestra como fecha de inicio del proyecto 3 el 17 de mayo y última fecha de trabajo el 23 de mayo, para un total de cinco días laborables.](https://help.qlik.com/es-ES/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-lastworkdate-example1-diagram.png)

## Ejemplo 2: Un día de vacaciones

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lastworkdate.htm)

#### Script de carga y resultados

Vista general

Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.

El script de carga contiene:

* Un conjunto de datos que contiene ID de proyectos, fechas de inicio de proyectos y el esfuerzo estimado en días requerido para los proyectos. El conjunto de datos se carga en una tabla denominada "`Projects`".

* Un load precedente que contiene la función `lastworkdate()`, configurada como el campo "`end_date`" e identifica cuándo está programado que finalice cada proyecto.

Sin embargo, hay un día libre programado para el 18 de mayo de 2022. La función `lastworkdate()` en el load precedente incluye el día libre en su tercer argumento para identificar cuándo está programado que finalice cada proyecto.

Script de carga

```
SET DateFormat='MM/DD/YYYY'; 

Projects: 
    Load 
       *, 
       LastWorkDate(start_date,effort, '05/18/2022') as end_date 
       ; 
Load 
id, 
start_date, 
effort 
Inline  
[	 
id,start_date,effort 
1,01/01/2022,14 
2,02/10/2022,17 
3,05/17/2022,5 
4,06/01/2022,12 
5,08/10/2022,26 
]; 
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* `id`
* `start_date`
* `effort`
* `end_date`

Tabla de resultados

| id | fecha\_inicio | esfuerzo | fecha\_fin |
| --- | --- | --- | --- |
| 1 | 01/01/2022 | 14 | 01/20/2022 |
| 2 | 02/10/2022 | 17 | 03/04/2022 |
| 3 | 05/17/2022 | 5 | 05/24/2022 |
| 4 | 06/01/2022 | 12 | 06/16/2022 |
| 5 | 08/10/2022 | 26 | 09/14/2022 |

El único día libre se indica como tercer argumento en la función `lastworkdate()`. Como resultado, la fecha de finalización del proyecto 3 se desplaza a un día después porque el día libre se produce en uno de los días laborables anteriores a la fecha de finalización.

El calendario siguiente muestra la fecha de inicio y finalización del proyecto 3 y muestra que el día libre cambia la fecha de finalización del proyecto en un día.

Un calendario que muestra la fecha de inicio y finalización del proyecto 3 con un día libre el 18 de mayo.

Un calendario que muestra la fecha de inicio y finalización del proyecto 3 con un día libre el 18 de mayo.

Un calendario que muestra la fecha de inicio y finalización del proyecto 3 con un día libre el 18 de mayo. ![Diagrama que muestra la fecha de inicio del proyecto 3 el 17 de mayo con un día de vacaciones el 18 de mayo.](https://help.qlik.com/es-ES/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-lastworkdate-example2-diagram.png)

## Ejemplo 3: Vacaciones de varios días

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lastworkdate.htm)

#### Script de carga y resultados

Vista general

Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.

El script de carga contiene:

* Un conjunto de datos que contiene ID de proyectos, fechas de inicio de proyectos y el esfuerzo estimado en días requerido para los proyectos. El conjunto de datos se carga en una tabla denominada "`Projects`".

* Un load precedente que contiene la función `lastworkdate()`, configurada como el campo "`end_date`" e identifica cuándo está programado que finalice cada proyecto.

No obstante, hay cuatro días de vacaciones programados para el 19, 20, 21 y 22 de mayo. La función `lastworkdate()` en la instrucción load precedente incluye cada uno de los días de vacaciones en su tercer argumento para identificar cuándo está programado que finalice cada proyecto.

Script de carga

```
SET DateFormat='MM/DD/YYYY'; 

Projects: 
    Load 
       *, 
       LastWorkDate(start_date,effort, '05/19/2022','05/20/2022','05/21/2022','05/22/2022') as end_date 
       ; 
Load 
id, 
start_date, 
effort 
Inline  
[	 
id,start_date,effort 
1,01/01/2022,14 
2,02/10/2022,17 
3,05/17/2022,5 
4,06/01/2022,12 
5,08/10/2022,26 
]; 
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* `id`
* `start_date`
* `effort`
* `end_date`

Tabla de resultados

| id | fecha\_inicio | esfuerzo | fecha\_fin |
| --- | --- | --- | --- |
| 1 | 01/01/2022 | 14 | 01/20/2022 |
| 2 | 02/10/2022 | 17 | 03/04/2022 |
| 3 | 05/17/2022 | 5 | 05/25/2022 |
| 4 | 06/01/2022 | 12 | 06/16/2022 |
| 5 | 08/10/2022 | 26 | 09/14/2022 |

Los cuatro días de vacaciones se indican como una lista de argumentos en la función `lastworkdate()` después de la fecha de inicio y el número de días hábiles laborables.

El siguiente calendario muestra la fecha de inicio y finalización del proyecto 3 y muestra que las vacaciones alteran la fecha de finalización del proyecto en tres días.

Un calendario que muestra la fecha de inicio y de finalización del proyecto 3 con vacaciones del 19 al 22 de mayo

Un calendario que muestra la fecha de inicio y de finalización del proyecto 3 con vacaciones del 19 al 22 de mayo

Un calendario que muestra la fecha de inicio y de finalización del proyecto 3 con vacaciones del 19 al 22 de mayo ![Diagrama que muestra la fecha de inicio del proyecto 3 como el 17 de mayo y la última fecha de trabajo el 25 de mayo, con cuatro días de vacaciones adicionales que retrasan la última fecha de trabajo en tres días; dos de los días libres caen en sábado y domingo.](https://help.qlik.com/es-ES/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-lastworkdate-example3-diagram.png)

## Ejemplo 4: Un día festivo o feriado (gráfico)

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lastworkdate.htm)

#### Script de carga y expresión de gráfico

Vista general

Se utilizan el mismo conjunto de datos y el mismo escenario que en el primer ejemplo.

Sin embargo, en este ejemplo el conjunto de datos está sin modificar y cargado en la app. El campo `end_date` se calcula como una medida en un gráfico.

Script de carga

```
SET DateFormat='MM/DD/YYYY'; 

Projects: 
Load 
id, 
start_date, 
effort 
Inline  
[	 
id,start_date,effort 
1,01/01/2022,14 
2,02/10/2022,17 
3,05/17/2022,5 
4,06/01/2022,12 
5,08/10/2022,26 
]; 
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* `id`
* `start_date`
* `effort`

Para calcular la fecha de finalización, cree la siguiente medida:

* `=LastWorkDate(start_date,effort,'05/18/2022')`

Tabla de resultados

| id | fecha\_inicio | esfuerzo | =LastWorkDate(start\_date,effort,'05/18/2022') |
| --- | --- | --- | --- |
| 1 | 01/01/2022 | 14 | 01/20/2022 |
| 2 | 02/10/2022 | 17 | 03/04/2022 |
| 3 | 05/17/2022 | 5 | 05/23/2022 |
| 4 | 06/01/2022 | 12 | 06/16/2022 |
| 5 | 08/10/2022 | 26 | 09/14/2022 |

El único día festivo o feriado programado se inserta como una medida en el gráfico. Como resultado, la fecha de finalización del proyecto 3 se desplaza a un día después porque el día libre se produce en uno de los días laborables anteriores a la fecha de finalización.

El calendario siguiente muestra la fecha de inicio y finalización del proyecto 3 y muestra que el día libre cambia la fecha de finalización del proyecto en un día.

Un calendario que muestra la fecha de inicio y finalización del proyecto 3 con un día libre el 18 de mayo.

Un calendario que muestra la fecha de inicio y finalización del proyecto 3 con un día libre el 18 de mayo.

Un calendario que muestra la fecha de inicio y finalización del proyecto 3 con un día libre el 18 de mayo. ![Diagrama que muestra la fecha de inicio del proyecto 3 el 17 de mayo con un día de vacaciones el 18 de mayo.](https://help.qlik.com/es-ES/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-lastworkdate-example2-diagram.png)