# networkdays Función de script y de gráfico

La función networkdays devuelve el número de días laborables (de lunes a viernes) entre e incluidos los días start\_date y end\_date teniendo en cuenta cualquier listado opcional de vacaciones: holiday.

Sintaxis:

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

Tipo de datos que devuelve: Entero

Diagrama de calendario que muestra el intervalo de fechas devuelto por la función networkdays

Diagrama de calendario que muestra el intervalo de fechas devuelto por la función networkdays

Diagrama de calendario que muestra el intervalo de fechas devuelto por la función networkdays ![Añadir texto aquí](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-general-calendar.png)

La función `networkdays` tiene las siguientes limitaciones:

* No existe ningún método para modificar los días laborables. En otras palabras, no hay forma de modificar la función para regiones o situaciones que impliquen otra cosa que no sea trabajar de lunes a viernes.

* El parámetro `holiday` debe ser una constante de cadena de texto. No se aceptan expresiones.

Argumentos

| Argumento | Descripción |
| --- | --- |
| start\_date | La fecha inicial que se ha de evaluar. |
| end\_date | La fecha final que se ha de evaluar. |
| 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' ` |

## Cuándo utilizar networkdays

La función `networkdays()` se suele utilizar como parte de una expresión cuando el usuario desea que el cálculo utilice el número de días laborables de la semana que ocurren entre dos fechas. Por ejemplo, si un usuario quisiera calcular los salarios totales que ganará un empleado en un contrato PAYE (pago según los ingresos).

Ejemplos de funciones

| Ejemplo | Resultado |
| --- | --- |
| `networkdays ('12/19/2013', '01/07/2014')` | Devuelve 14. Este ejemplo no tiene las vacaciones en cuenta. |
| `networkdays ('12/19/2013', '01/07/2014', '12/25/2013', '12/26/2013')` | Devuelve 12. Este ejemplo tiene en cuenta el período de vacaciones de 12/25/2013 a 12/26/2013. |
| `networkdays ('12/19/2013', '01/07/2014', '12/25/2013', '12/26/2013', '12/31/2013', '01/01/2014')` | Devuelve 10. Este ejemplo tiene en cuenta dos períodos de vacaciones. |

## 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. Para más información, vea [Modificar la configuración regional para aplicaciones y scripts](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

La configuración regional predeterminada en las aplicaciones se basa en el perfil de usuario. Estos ajustes de formato regional no están relacionados con el idioma mostrado en la interfaz de usuario de Qlik Cloud. Qlik Cloud se mostrará en el mismo idioma que esté utilizando su navegador.

Si es un creador de aplicaciones, puede establecer la región por defecto para las aplicaciones que cree. Para más información, vea [Establecer sus configuraciones regionales preferidas para crear apps y scripts en Analítica de Qlik Cloud](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

## Ejemplo 1: ejemplo básico

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

#### Script de carga y resultados

Vista general

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que contiene los ID de proyecto, sus fechas de inicio y sus fechas de finalización. Esta información se carga en una tabla llamada `Projects`.

* El campo de fecha proporcionado en el formato de la variable del sistema `DateFormat`: (MM/DD/AAAA).

* La creación de un campo adicional, `net_work_days`, para calcular el número de días laborables de cada proyecto.

Script de carga

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

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

* `id`

* `start_date`

* `end_date`

* `net_work_days`

Tabla de resultados

| ID | fecha\_inicio | 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 |

Debido a que no hay días de vacaciones programados (esto habría estado presente en el tercer argumento de la función `networkdays()`), la función resta la fecha de inicio `start_date` de la fecha final `end_date`, así como todos los fines de semana, para calcular el número de días laborables (network days) entre las dos fechas.

Diagrama de calendario que destaca los días laborables del proyecto 5 (sin vacaciones)

Diagrama de calendario que destaca los días laborables del proyecto 5 (sin vacaciones)

Diagrama de calendario que destaca los días laborables del proyecto 5 (sin vacaciones) ![Diagrama de calendario para el mes de agosto, que muestra los días laborables para el proyecto a partir del conjunto de datos con ID de 5. Aquí, todos los días de la semana (de lunes a viernes) del 10 al 26 de agosto de 2022 están resaltados, con los sábados y domingos excluidos.](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-example-basic.png)

El calendario anterior describe visualmente el proyecto con un `id` de 5. El proyecto 5 comienza el miércoles 10 de agosto de 2022 y finaliza el 26 de agosto de 2022. Con todos los sábados y domingos ignorados, hay 13 días hábiles entre estas dos fechas, inclusive.

## Ejemplo 2: un día de vacaciones

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

#### Script de carga y resultados

Vista general

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* El mismo conjunto de datos y escenario del ejemplo anterior.

* El campo de fecha proporcionado en el formato de la variable del sistema `DateFormat`: (MM/DD/AAAA).

* La creación de un campo adicional, `net_work_days`, para calcular el número de días laborables de cada proyecto.

En este ejemplo, hay un día libre programado para el 19 de agosto de 2022.

Script de carga

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

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

* `id`

* `start_date`

* `end_date`

* `net_work_days`

Tabla de resultados

| ID | fecha\_inicio | 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 |

El único día libre programado se indica como tercer argumento en la función `networkdays()`.

Diagrama de calendario que destaca los días laborables del proyecto 5 (un único día de vacaciones)

Diagrama de calendario que destaca los días laborables del proyecto 5 (un único día de vacaciones)

Diagrama de calendario que destaca los días laborables del proyecto 5 (un único día de vacaciones) ![Diagrama de calendario para el mes de agosto, que muestra los días laborables para el proyecto a partir del conjunto de datos con ID 5. Aquí, todos los días de la semana (de lunes a viernes) del 10 al 26 de agosto de 2022 están resaltados, con excepción del 19 de agosto de 2022 (el día que no se trabaja), que está excluido.](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-example-single-holiday.png)

El calendario anterior describe visualmente el proyecto 5, lo que demuestra este ajuste para incluir el día que no se trabaja. Este día libre ocurre en el proyecto 5, el viernes 19 de agosto de 2022. Como resultado, el valor total `net_work_days` del proyecto 5 disminuye en un día, de 13 a 12 días.

## Ejemplo 3: varios días de vacaciones

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

#### Script de carga y resultados

Vista general

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

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

* El campo de fecha proporcionado en el formato de la variable del sistema `DateFormat`: (MM/DD/AAAA).

* La creación de un campo adicional, `net_work_days`, para calcular el número de días laborables de cada proyecto.

Sin embargo, en este ejemplo, hay cuatro días de vacaciones programados, del 18 al 21 de agosto de 2022.

Script de carga

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

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

* `id`

* `start_date`

* `end_date`

* `net_work_days`

Tabla de resultados

| ID | fecha\_inicio | 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 |

Los cuatro días de vacaciones programados se indican como una lista separada por comas, desde el tercer argumento en adelante, en la función `networkdays()`.

Diagrama de calendario que destaca los días laborables del proyecto 5 (varios días de vacaciones)

Diagrama de calendario que destaca los días laborables del proyecto 5 (varios días de vacaciones)

Diagrama de calendario que destaca los días laborables del proyecto 5 (varios días de vacaciones) ![Diagrama de calendario para el mes de agosto, que muestra los días laborables para el proyecto a partir del conjunto de datos con ID 5. Aquí, todos los días de la semana (de lunes a viernes) del 10 al 26 de agosto de 2022 están resaltados, a excepción del 18 y 19 de agosto de 2022 (los días de vacaciones), que están excluidos.](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-example-multiple-holidays.png)

El calendario anterior describe visualmente el proyecto 5, demostrando este ajuste para incluir los días de vacaciones. Este período programado de vacaciones se produce durante el proyecto 5, y dos de los días son jueves y viernes. Como resultado, el valor total `net_work_days` del proyecto 5 disminuye de 13 a 11 días.

## Ejemplo 4: Un día de vacaciones

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

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

Vista general

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

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

* El campo de fecha proporcionado en el formato de la variable del sistema DateFormat: (MM/DD/AAAA).

En este ejemplo, hay un día libre programado para el 19 de agosto de 2022.

Sin embargo, en este ejemplo, el conjunto de datos sin modificar se carga en la aplicación. El campo net\_work\_days se calcula como una medida en un objeto gráfico.

Script de carga

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

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

* id

* start\_date

* end\_date

Cree la siguiente medida:

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

Tabla de resultados

| ID | fecha\_inicio | 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 |

El único día libre programado se indica como tercer argumento en la función networkdays().

Diagrama de calendario que muestra los días de trabajo con un solo día de vacaciones (objeto gráfico)

Diagrama de calendario que muestra los días de trabajo con un solo día de vacaciones (objeto gráfico)

Diagrama de calendario que muestra los días de trabajo con un solo día de vacaciones (objeto gráfico) ![Diagrama de calendario para el mes de agosto, que muestra los días laborables para el proyecto a partir del conjunto de datos con ID 5. Aquí, todos los días de la semana (de lunes a viernes) del 10 al 26 de agosto de 2022 están resaltados, con excepción del 19 de agosto de 2022 (el día que no se trabaja), que está excluido.](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-example-chart-single-holiday.png)

El calendario anterior describe visualmente el proyecto 5, lo que demuestra este ajuste para incluir el día que no se trabaja. Este día libre ocurre en el proyecto 5, el viernes 19 de agosto de 2022. Como resultado, el valor total net\_work\_days del proyecto 5 disminuye en un día, de 13 a 12 días.