# networkdays Fonction de script et de graphique

La fonction networkdays renvoie le nombre de jours ouvrables (du lundi au vendredi) compris entre les valeurs start\_date et end\_date (incluses) en tenant compte de tous les arguments holiday facultatifs répertoriés.

Syntaxe :

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

Type de données renvoyé : integer

Diagramme de calendrier affichant la plage de dates renvoyée par la fonction networkdays

Diagramme de calendrier affichant la plage de dates renvoyée par la fonction networkdays

Diagramme de calendrier affichant la plage de dates renvoyée par la fonction networkdays ![ADD ALT TEXT HERE.....!!!!!!](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-general-calendar.png)

La fonction `networkdays` présente les restrictions suivantes :

* Il n'existe pas de méthode pour modifier les jours ouvrables (workdays). En d'autres termes, il n'est pas possible de modifier la fonction pour les régions ou les situations pour lesquelles les jours ouvrables ne correspondent pas à la plage du lundi au vendredi.

* Le paramètre `holiday` doit être une constante de type chaîne. Les expressions ne sont pas acceptées.

Arguments

| Argument | Description |
| --- | --- |
| start\_date | Date de début à évaluer. |
| end\_date | Date de fin à évaluer. |
| holiday | Périodes de congé à exclure des jours ouvrables. Un congé est indiqué sous forme de date constante de type chaîne. Vous pouvez spécifier plusieurs dates de congé si vous les séparez par des virgules.<br><br>Exemple : `  '12/25/2013', '12/26/2013', '12/31/2013', '01/01/2014' ` |

## Cas d'utilisation de networkdays

La fonction `networkdays()` est couramment utilisée dans le cadre d'une expression lorsque l'utilisateur souhaite que le calcul utilise le nombre de jours ouvrables de la semaine qui ont lieu entre deux dates. Par exemple, si un utilisateur souhaite calculer le salaire total d'un employé en contrat PAYE (pay-as-you-earn - retenue à la source de l'impôt sur les salaires).

Exemples de fonction

| Exemple | Résultat |
| --- | --- |
| `networkdays ('12/19/2013', '01/07/2014')` | Renvoie 14. Cet exemple ne prend pas en compte la période de congé. |
| `networkdays ('12/19/2013', '01/07/2014', '12/25/2013', '12/26/2013')` | Renvoie 12. Cet exemple tient compte de la période de congé allant du 12/25/2013 au 12/26/2013. |
| `networkdays ('12/19/2013', '01/07/2014', '12/25/2013', '12/26/2013', '12/31/2013', '01/01/2014')` | Renvoie 10. Cet exemple prend en compte deux périodes de congé. |

## Paramètres régionaux

Sauf indication contraire, les exemples de cette rubrique utilisent le format de date suivant : MM/DD/YYYY. Le format de date est indiqué dans l'instruction `SET DateFormat` de votre script de chargement de données. Le format de date par défaut peut être différent dans votre système en raison de vos paramètres régionaux et d'autres facteurs. Vous pouvez modifier les formats utilisés dans les exemples ci-dessous en fonction de vos besoins. Ou vous pouvez modifier les formats utilisés dans votre script de chargement pour qu'ils correspondent à ceux de ces exemples. Pour plus d'informations, consultez [Modification des paramètres régionaux des applications et des scripts](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

Les paramètres régionaux par défaut des applications sont basés sur le profil utilisateur. Ces paramètres de format régionaux ne sont pas liés à la langue affichée dans l'interface utilisateur Qlik Cloud. Qlik Cloud sera affiché dans la même langue que celle du navigateur que vous utilisez.

Si vous êtes un créateur d'applications, vous pouvez définir la région par défaut des applications que vous créez. Pour plus d'informations, consultez [Sélection des paramètres régionaux de votre choix pour la création d'applications et de scripts dans Qlik Cloud Analytics](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

## Exemple 1 – exemple de base

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

#### Script de chargement et résultats

Vue d'ensemble

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Jeu de données contenant des ID de projet, leurs dates de début et leurs dates de fin. Ces informations sont chargées dans une table appelée `Projects`.

* Champ de date fourni dans la variable système `DateFormat` au format (MM/DD/YYYY).

* Création d'un champ supplémentaire, `net_work_days`, pour calculer le nombre de jours ouvrables impliqués dans chaque projet.

Script de chargement

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

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :

* `id`

* `start_date`

* `end_date`

* `net_work_days`

Tableau de résultats

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

Étant donné qu'aucun congé n'est prévu (ils auraient été signalés dans le troisième argument de la fonction `networkdays()`), la fonction soustraie la valeur `start_date` de la valeur `end_date` ainsi que tous les weekends pour calculer le nombre de jours ouvrables entre les deux dates.

Diagramme de calendrier mettant en surbrillance les jours ouvrables du projet 5 (sans congés)

Diagramme de calendrier mettant en surbrillance les jours ouvrables du projet 5 (sans congés)

Diagramme de calendrier mettant en surbrillance les jours ouvrables du projet 5 (sans congés) ![Diagramme de calendrier du mois d'août, indiquant les jours ouvrables du projet provenant du jeu de données portant l'ID 5. Ici, tous les jours de la semaine (lundi-vendredi) du 10 août au 26 août 2022 sont mis en surbrillance, en excluant les samedis et les dimanches.](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-example-basic.png)

Le calendrier ci-dessus souligne visuellement le projet portant l'`id` 5. Le projet 5 commence le mercredi 10 août 2022 et se termine le 26 août 2022. Étant donné que tous les samedis et dimanches sont ignorés, cela fait un total de 13 jours ouvrables entre ces deux dates incluses.

## Exemple 2 – un seul jour de congé

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

#### Script de chargement et résultats

Vue d'ensemble

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Même jeu de données et même scénario que ceux de l'exemple précédent.

* Champ de date fourni dans la variable système `DateFormat` au format (MM/DD/YYYY).

* Création d'un champ supplémentaire, `net_work_days`, pour calculer le nombre de jours ouvrables impliqués dans chaque projet.

Dans cet exemple, il existe un jour de congé prévu le 19 août 2022.

Script de chargement

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

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :

* `id`

* `start_date`

* `end_date`

* `net_work_days`

Tableau de résultats

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

Le seul jour de congé prévu est saisi comme troisième argument dans la fonction `networkdays()`.

Diagramme de calendrier mettant en surbrillance les jours ouvrables du projet 5 (un seul jour de congé)

Diagramme de calendrier mettant en surbrillance les jours ouvrables du projet 5 (un seul jour de congé)

Diagramme de calendrier mettant en surbrillance les jours ouvrables du projet 5 (un seul jour de congé) ![Diagramme de calendrier du mois d'août, indiquant les jours ouvrables du projet provenant du jeu de données portant l'ID 5. Ici, tous les jours de la semaine (lundi-vendredi) du 10 août au 26 août 2022 sont mis en surbrillance, à l'exception du 19 août 2022 (le jour de congé), qui est exclu.](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-example-single-holiday.png)

Le calendrier ci-dessus souligne visuellement le projet 5, faisant la démonstration de cet ajustement pour inclure le jour de congé. Ce jour de congé tombe pendant le projet 5, le vendredi 19 août 2022. En conséquence, la valeur `net_work_days` totale du projet 5 diminue d'un jour et passe de 13 à 12 jours.

## Exemple 3 – plusieurs jours de congé

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

#### Script de chargement et résultats

Vue d'ensemble

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Même jeu de données et même scénario que ceux du premier exemple.

* Champ de date fourni dans la variable système `DateFormat` au format (MM/DD/YYYY).

* Création d'un champ supplémentaire, `net_work_days`, pour calculer le nombre de jours ouvrables impliqués dans chaque projet.

Cependant, dans cet exemple, quatre jours de congé sont prévus, du 18 août au 21 août 2022.

Script de chargement

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

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :

* `id`

* `start_date`

* `end_date`

* `net_work_days`

Tableau de résultats

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

Les quatre jours de congé prévus sont saisis sous forme de liste séparée par des virgules à partir du troisième argument dans la fonction `networkdays()`.

Diagramme de calendrier mettant en surbrillance les jours ouvrables du projet 5 (plusieurs jours de congé)

Diagramme de calendrier mettant en surbrillance les jours ouvrables du projet 5 (plusieurs jours de congé)

Diagramme de calendrier mettant en surbrillance les jours ouvrables du projet 5 (plusieurs jours de congé) ![Diagramme de calendrier du mois d'août, indiquant les jours ouvrables du projet provenant du jeu de données portant l'ID 5. Ici, tous les jours de la semaine (lundi-vendredi) du 10 août au 26 août 2022 sont mis en surbrillance, à l'exception du 18 et du 19 août 2022 (les jours de congé), qui sont exclus.](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-example-multiple-holidays.png)

Le calendrier ci-dessus souligne visuellement le projet 5, faisant la démonstration de cet ajustement pour inclure ces jours de congé. Cette période de congés prévus tombe pendant le projet 5, deux des jours de congé ayant lieu un jeudi et un vendredi. En conséquence, la valeur `net_work_days` totale du projet 5 passe de 13 à 11 jours.

## Exemple 4 – un seul jour de congé

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

#### Script de chargement et expression de graphique

Vue d'ensemble

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Même jeu de données et même scénario que ceux du premier exemple.

* Champ de date fourni dans la variable système DateFormat au format (MM/DD/YYYY).

Il existe un jour de congé prévu le 19 août 2022.

Cependant, dans cet exemple, le même jeu de données est chargé dans l'application. Le champ net\_work\_days est calculé sous forme de mesure dans un objet graphique.

Script de chargement

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

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :

* id

* start\_date

* end\_date

Créez la mesure suivante :

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

Tableau de résultats

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

Le seul jour de congé prévu est saisi comme troisième argument dans la fonction networkdays().

Diagramme de calendrier montrant les jours ouvrables nets avec un seul jour de congé (objet graphique)

Diagramme de calendrier montrant les jours ouvrables nets avec un seul jour de congé (objet graphique)

Diagramme de calendrier montrant les jours ouvrables nets avec un seul jour de congé (objet graphique) ![Diagramme de calendrier du mois d'août, indiquant les jours ouvrables du projet provenant du jeu de données portant l'ID 5. Ici, tous les jours de la semaine (lundi-vendredi) du 10 août au 26 août 2022 sont mis en surbrillance, à l'exception du 19 août 2022 (le jour de congé), qui est exclu.](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-example-chart-single-holiday.png)

Le calendrier ci-dessus souligne visuellement le projet 5, faisant la démonstration de cet ajustement pour inclure le jour de congé. Ce jour de congé tombe pendant le projet 5, le vendredi 19 août 2022. En conséquence, la valeur net\_work\_days totale du projet 5 diminue d'un jour et passe de 13 à 12 jours.