# networkdays - Função de script e de gráfico

A função networkdays retorna o número de dias úteis (segunda-sexta) entre e inclusive a start\_date e end\_date, levando em conta qualquer holiday opcionalmente listado.

Sintaxe:

networkdays (start\_date, end\_date [, holiday])

Tipo de dados de retorno: inteiro

Diagrama de calendário exibindo o intervalo de datas retornado pela função networkdays

Diagrama de calendário exibindo o intervalo de datas retornado pela função networkdays

Diagrama de calendário exibindo o intervalo de datas retornado pela função networkdays ![ADD ALT TEXT HERE.....!!!!!!](https://help.qlik.com/pt-BR/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-general-calendar.png)

A função `networkdays` tem as seguintes limitações:

* Não há método para modificar os dias úteis. Em outras palavras, não há como modificar a função para regiões ou situações que envolvam algo além de trabalhar de segunda a sexta-feira.

* O parâmetro `holiday` deve ser uma constante de cadeia de caracteres. Expressões não são aceitas.

Argumentos

| Argumento | Descrição |
| --- | --- |
| start\_date | A data inicial para avaliar. |
| end\_date | A data final para avaliar. |
| 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' ` |

## Quando usar

A função `networkdays()` é normalmente usada como parte de uma expressão quando o usuário deseja que o cálculo use o número de dias úteis da semana que ocorrem entre duas datas. Por exemplo, se um usuário quiser calcular o total de salários que serão ganhos por um funcionário em um contrato PAYE (pague conforme você ganha).

Exemplos de funções

| Exemplo | Resultado |
| --- | --- |
| `networkdays ('12/19/2013', '01/07/2014')` | Retorna 14. Este exemplo não considera feriados. |
| `networkdays ('12/19/2013', '01/07/2014', '12/25/2013', '12/26/2013')` | Retorna 12. Este exemplo não considera o feriado de 12/25/2013 a12/26/2013. |
| `networkdays ('12/19/2013', '01/07/2014', '12/25/2013', '12/26/2013', '12/31/2013', '01/01/2014')` | Retorna 10. Este exemplo considera dois períodos de feriados. |

## 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 em que 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 interface do usuário do Qlik Sense. O Qlik Sense será exibido no mesmo idioma do navegador que você está usando.

## Exemplo 1: Exemplo básico

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/networkdays.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, suas datas de início e suas datas de término. Essas informações são carregadas em uma tabela denominada `Projects`.

* O campo de data fornecido no formato da `variável` de sistema DateFormat (MM/DD/AAAA).

* A criação de um campo adicional, `net_work_days`, para calcular o número de dias úteis envolvidos em cada projeto.

Script de carregamento

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

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

Resultados

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

* `id`

* `start_date`

* `end_date`

* `net_work_days`

Tabela de resultados

| id | start\_date | end\_date | net\_work\_days |
| --- | --- | --- | --- |
| 1 | 01/01/2022 | 01/18/2022 | 12 |
| 2 | 02/10/2022 | 02/17/2022 | 6 |
| 3 | 05/17/2022 | 07/05/2022 | 36 |
| 4 | 06/01/2022 | 06/12/2022 | 8 |
| 5 | 08/10/2022 | 08/26/2022 | 13 |

Como não há feriados programados (isso estaria presente no terceiro argumento da função `networkdays()`), a função também subtrai o `start_date` de `end_date` como todos os fins de semana, para calcular o número de dias úteis entre as duas datas.

Diagrama de calendário destacando dias úteis para o projeto 5 (sem feriados)

Diagrama de calendário destacando dias úteis para o projeto 5 (sem feriados)

Diagrama de calendário destacando dias úteis para o projeto 5 (sem feriados)![Diagrama de calendário do mês de agosto, mostrando os dias úteis do projeto a partir do conjunto de dados com ID de 5. Aqui, todos os dias da semana (de segunda a sexta-feira), de 10 a 26 de agosto de 2022, são destacados, com exceção dos sábados e domingos.](https://help.qlik.com/pt-BR/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-example-basic.png)

O calendário acima descreve visualmente o projeto com `id` de 5. O projeto 5 começa na quarta-feira, 10 de agosto de 2022, e termina em 26 de agosto de 2022. Com todos os sábados e domingos ignorados, há 13 dias úteis entre, e inclusive, essas duas datas.

## Exemplo 2: Feriado único

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/networkdays.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:

* O mesmo conjunto de dados e cenário do exemplo anterior.

* O campo de data fornecido no formato da variável de sistema `DateFormat` (MM/DD/AAAA).

* A criação de um campo adicional, `net_work_days`, para calcular o número de dias úteis envolvidos em cada projeto.

Neste exemplo, há um feriado de um dia agendado para 19 de agosto de 2022.

Script de carregamento

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

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

Resultados

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

* `id`

* `start_date`

* `end_date`

* `net_work_days`

Tabela de resultados

| id | start\_date | end\_date | net\_work\_days |
| --- | --- | --- | --- |
| 1 | 01/01/2022 | 01/18/2022 | 12 |
| 2 | 02/10/2022 | 02/17/2022 | 6 |
| 3 | 05/17/2022 | 07/05/2022 | 36 |
| 4 | 06/01/2022 | 06/12/2022 | 8 |
| 5 | 08/10/2022 | 08/26/2022 | 12 |

O único feriado agendado é inserido como o terceiro argumento na função `networkdays()`.

Diagrama de calendário destacando os dias úteis para o projeto 5 (feriado único)

Diagrama de calendário destacando os dias úteis para o projeto 5 (feriado único)

Diagrama de calendário destacando os dias úteis para o projeto 5 (feriado único)![Diagrama de calendário do mês de agosto, mostrando os dias úteis do projeto a partir do conjunto de dados com ID de 5. Aqui, são destacados todos os dias da semana (de segunda a sexta-feira), de 10 a 26 de agosto de 2022, com exceção de 19 de agosto de 2022 (feriado), que está excluído.](https://help.qlik.com/pt-BR/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-example-single-holiday.png)

O calendário acima descreve visualmente o projeto 5, demonstrando esse ajuste para incluir o feriado. Esse feriado ocorre durante o projeto 5 na sexta-feira, 19 de agosto de 2022. Como resultado, o valor `net_work_days` total do projeto 5 diminui em um dia, de 13 para 12 dias.

## Exemplo 3: Vários feriados

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/networkdays.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:

* O mesmo conjunto de dados e cenário do primeiro exemplo.

* O campo de data fornecido no formato da variável de sistema `DateFormat` (MM/DD/AAAA).

* A criação de um campo adicional, `net_work_days`, para calcular o número de dias úteis envolvidos em cada projeto.

No entanto, neste exemplo, há quatro feriados agendados de 18 a 21 de agosto de 2022.

Script de carregamento

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

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

Resultados

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

* `id`

* `start_date`

* `end_date`

* `net_work_days`

Tabela de resultados

| id | start\_date | end\_date | net\_work\_days |
| --- | --- | --- | --- |
| 1 | 01/01/2022 | 01/18/2022 | 12 |
| 2 | 02/10/2022 | 02/17/2022 | 6 |
| 3 | 05/17/2022 | 07/05/2022 | 36 |
| 4 | 06/01/2022 | 06/12/2022 | 8 |
| 5 | 08/10/2022 | 08/26/2022 | 11 |

Os quatro feriados agendados são inseridos como uma lista separada por vírgulas, a partir do terceiro argumento na função `networkdays()`.

Diagrama de calendário destacando os dias úteis para o projeto 5 (vários feriados)

Diagrama de calendário destacando os dias úteis para o projeto 5 (vários feriados)

Diagrama de calendário destacando os dias úteis para o projeto 5 (vários feriados)![Diagrama de calendário do mês de agosto, mostrando os dias úteis do projeto a partir do conjunto de dados com ID de 5. Aqui, são destacados todos os dias da semana (de segunda a sexta-feira), de 10 a 26 de agosto de 2022, com exceção dos dias 18 e 19 de agosto de 2022 (feriados), que estão excluídos.](https://help.qlik.com/pt-BR/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-example-multiple-holidays.png)

O calendário acima descreve visualmente o projeto 5, demonstrando esse ajuste para incluir esses feriados. Esse período de feriados agendados ocorre durante o projeto 5, com dois dos dias ocorrendo em uma quinta e sexta-feira. Como resultado, o valor `net_work_days` total do projeto 5 diminui de 13 para 11 dias.

## Exemplo 4: Feriado único

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

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

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:

* O mesmo conjunto de dados e cenário do primeiro exemplo.

* O campo de data fornecido no formato da variável de sistema DateFormat (MM/DD/AAAA).

Há um feriado de um dia agendado para 19 de agosto de 2022.

No entanto, neste exemplo, o conjunto de dados inalterado é carregado no aplicativo. O campo net\_work\_days é calculado como uma medida em um objeto de gráfico.

Script de carregamento

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

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

Resultados

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

* id

* start\_date

* end\_date

Crie a seguinte medida:

= networkdays(start\_date,end\_date,’08/19/2022’)

Tabela de resultados

| id | start\_date | end\_date | net\_work\_days |
| --- | --- | --- | --- |
| 1 | 01/01/2022 | 01/18/2022 | 12 |
| 2 | 02/10/2022 | 02/17/2022 | 6 |
| 3 | 05/17/2022 | 07/05/2022 | 36 |
| 4 | 06/01/2022 | 06/12/2022 | 8 |
| 5 | 08/10/2022 | 08/26/2022 | 12 |

O único feriado agendado é inserido como o terceiro argumento na função networkdays().

Diagrama de calendário mostrando dias úteis líquidos com um único feriado (objeto de gráfico)

Diagrama de calendário mostrando dias úteis líquidos com um único feriado (objeto de gráfico)

Diagrama de calendário mostrando dias úteis líquidos com um único feriado (objeto de gráfico)![Diagrama de calendário do mês de agosto, mostrando os dias úteis do projeto a partir do conjunto de dados com ID de 5. Aqui, são destacados todos os dias da semana (de segunda a sexta-feira), de 10 a 26 de agosto de 2022, com exceção de 19 de agosto de 2022 (feriado), que está excluído.](https://help.qlik.com/pt-BR/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-example-chart-single-holiday.png)

O calendário acima descreve visualmente o projeto 5, demonstrando esse ajuste para incluir o feriado. Esse feriado ocorre durante o projeto 5 na sexta-feira, 19 de agosto de 2022. Como resultado, o valor net\_work\_days total do projeto 5 diminui em um dia, de 13 para 12 dias.