# lastworkdate Função de script e de gráfico

A função lastworkdate retorna a primeira data de término para obter no\_of\_workdays (de segunda a sexta-feira), se começar em start\_date, levando em consideração qualquer holiday opcionalmente listado. start\_date e holiday devem ser datas ou carimbos de data/hora válidos.

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

Tipo de dados de retorno: Inteiro

Um calendário que mostra como a função `lastworkdate()` é usada

Um calendário que mostra como a função `lastworkdate()` é usada

Um calendário que mostra como a função `lastworkdate()`lastworkdate() é usada ![Diagram that shows a calendar of a month. The start date of work is set on the 10th of the month and the end date of work is set on the 26th. The days inbetween the start and end date, excluding Saturdays and Sundays, are highlighted in green.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-lastworkdate-diagram1.png)

Limitações

Não há nenhum método para modificar a função `lastworkdate()` para regiões ou cenários que envolvam algo diferente de uma semana de trabalho que começa na segunda-feira e termina na sexta-feira.

O parâmetro de feriado deve ser uma constante de cadeia de caracteres. Ele não aceita uma expressão.

Quando usar

A função `lastworkdate()` é comumente usada como parte de uma expressão quando o usuário deseja calcular a data de término proposta de um projeto ou tarefa, com base em quando o projeto começa e nos feriados que ocorrerão nesse período.

## Configurações regionais

A menos que especificado de outra forma, os exemplos neste tópico usam o seguinte formato de data: MM/DD/AAAA. O formato de data é especificado na instrução `SET DateFormat` no seu script de carregamento de dados. A formatação de data padrão pode ser diferente no seu sistema devido às suas configurações regionais e outros fatores. Você pode alterar os formatos nos exemplos abaixo para atender às suas necessidades. Ou pode alterar os formatos no seu script de carregamento para corresponder a esses exemplos.

As configurações regionais padrão nos aplicativos são baseadas nas configurações regionais do sistema do computador ou servidor onde o Qlik Sense está instalado. Se o servidor Qlik Sense que você está acessando estiver definido como Suécia, o Editor de carregamento de dados usará as configurações regionais suecas para datas, horas e moedas. Essas configurações de formato regional não estão relacionadas ao idioma exibido na Qlik Sense interface do usuário. Qlik Sense será exibido no mesmo idioma do navegador que você está usando.

Argumentos

| Argumento | Descrição |
| --- | --- |
| start\_date | A data inicial para avaliar. |
| no\_of\_workdays | Número de dias úteis para alcançar. |
| holiday | Períodos de feriados a serem excluídos dos dias de trabalho. Um feriado é declarado como uma data constante de string. Você pode especificar várias datas de feriados, separadas por vírgulas.<br><br>Exemplo: `  '12/25/2013', '12/26/2013', '12/31/2013', '01/01/2014' ` |

## Exemplo 1: Exemplo básico

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

#### Script de carregamento e resultados

Visão geral

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Um conjunto de dados contendo IDs de projetos, datas de início do projeto e o esforço estimado, em dias, necessário para os projetos. O conjunto de dados é carregado em uma tabela denominada "`Projects`".

* Um carregamento anterior que contém a função `lastworkdate()` que é definida como o campo ‘`end_date`’ e identifica quando cada projeto está programado para terminar.

Script de carregamento

```
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

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

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

Tabela de resultados

| ID | start\_date | effort | end\_date |
| --- | --- | --- | --- |
| 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 |

Como não há feriados programados, a função adiciona o número definido de dias úteis, de segunda a sexta-feira, à data de início para encontrar a data de término mais próxima possível.

O calendário a seguir mostra as datas de início e término do projeto 3, com os dias úteis destacados em verde.

Um calendário que mostra as datas de início e término do projeto 3

Um calendário que mostra as datas de início e término do projeto 3

Um calendário que mostra as datas de início e término do projeto 3 ![Diagram that shows the start date of project 3 as May 17 and the last work date as May 23, for a total of five working days.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-lastworkdate-example1-diagram.png)

## Exemplo 2: Feriado único

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

#### Script de carregamento e resultados

Visão geral

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Um conjunto de dados contendo IDs de projetos, datas de início do projeto e o esforço estimado, em dias, necessário para os projetos. O conjunto de dados é carregado em uma tabela denominada "`Projects`".

* Um carregamento anterior que contém a `lastworkdate()` função que é definida como o campo "`end_date`" e identifica quando cada projeto está programado para terminar.

No entanto, há um feriado agendado para 18 de maio de 2022. A função `lastworkdate()` na carga anterior inclui o feriado em seu terceiro argumento para identificar quando cada projeto está programado para terminar.

Script de carregamento

```
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

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

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

Tabela de resultados

| ID | start\_date | effort | end\_date |
| --- | --- | --- | --- |
| 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 |

O único feriado agendado é inserido como o terceiro argumento na função `lastworkdate()`. Como resultado, a data de término do projeto 3 é deslocada para um dia depois porque o feriado ocorre em um dos dias úteis antes da data de término.

O calendário a seguir mostra as datas de início e término do projeto 3 e mostra que o feriado altera a data de término do projeto em um dia.

Um calendário que mostra a data de início e término do projeto 3 com um feriado em 18 de maio

Um calendário que mostra a data de início e término do projeto 3 com um feriado em 18 de maio

Um calendário que mostra a data de início e término do projeto 3 com um feriado em 18 de maio ![Diagram that shows the start date of project 3 as May 17 with a holiday on May 18. The last work date of the project moves to May 24.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-lastworkdate-example2-diagram.png)

## Exemplo 3: Vários feriados

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

#### Script de carregamento e resultados

Visão geral

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Um conjunto de dados contendo IDs de projetos, datas de início do projeto e o esforço estimado, em dias, necessário para os projetos. O conjunto de dados é carregado em uma tabela denominada "`Projects`".

* Um carregamento anterior que contém a `lastworkdate()` função que é definida como o campo "`end_date`" e identifica quando cada projeto está programado para terminar.

No entanto, há três feriados programados para 19, 20, 21 e 22 de maio. A função `lastworkdate()` no carregamento anterior inclui cada um dos feriados em seu terceiro argumento para identificar quando cada projeto está programado para terminar.

Script de carregamento

```
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

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

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

Tabela de resultados

| ID | start\_date | effort | end\_date |
| --- | --- | --- | --- |
| 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 |

Os quatro feriados são inseridos como uma lista de argumentos na função `lastworkdate()` após a data de início e o número de dias úteis.

O calendário a seguir mostra as datas de início e término do projeto 3 e mostra que os feriados alteram a data de término do projeto em três dias.

Um calendário que mostra a data de início e término do projeto 3 com feriados de 19 a 22 de maio

Um calendário que mostra a data de início e término do projeto 3 com feriados de 19 a 22 de maio

Um calendário que mostra a data de início e término do projeto 3 com feriados de 19 a 22 de maio ![Diagram that shows the start date of project 3 as May 17 and the last work date as May 25, with four extra holidays moving the last work date back by three days - with two of the holidays falling on Saturday and Sunday.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-lastworkdate-example3-diagram.png)

## Exemplo 4: Feriado único (gráfico)

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

#### Script de carregamento e expressão de gráfico

Visão geral

São usados o mesmo conjunto de dados e cenário do primeiro exemplo.

No entanto, neste exemplo, o conjunto de dados permanece inalterado e é carregado no aplicativo. O campo `end_date` é calculado como uma medida em um gráfico.

Script de carregamento

```
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

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

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

Para calcular end\_date, crie a seguinte medida:

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

Tabela de resultados

| ID | start\_date | effort | =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 |

O único feriado programado é inserido como uma medida no gráfico. Como resultado, a data de término do projeto 3 é deslocada para um dia depois porque o feriado ocorre em um dos dias úteis antes da data de término.

O calendário a seguir mostra as datas de início e término do projeto 3 e mostra que o feriado altera a data de término do projeto em um dia.

Um calendário que mostra a data de início e término do projeto 3 com um feriado em 18 de maio

Um calendário que mostra a data de início e término do projeto 3 com um feriado em 18 de maio

Um calendário que mostra a data de início e término do projeto 3 com um feriado em 18 de maio ![Diagram that shows the start date of project 3 as May 17 with a holiday on May 18. The last work date of the project moves to May 24.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-lastworkdate-example2-diagram.png)