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
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.
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).
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 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.
Exemplo 1: Exemplo básico
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.
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)
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
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.
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)
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
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.
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)
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
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.
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)
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.
Esta página ajudou?
Se você encontrar algum problema com esta página ou seu conteúdo – um erro de digitação, uma etapa ausente ou um erro técnico – avise-nos!