# dayend - función de script y de gráfico

Esta función devuelve un valor correspondiente a una marca de tiempo (una fecha-hora) del milisegundo final del día contenido en time. El formato de salida predeterminado será el TimestampFormat establecido en el script.

Sintaxis:

DayEnd(time[, [period\_no[, day\_start]])

Cuándo se utiliza

La función `  dayend() ` se suele utilizar como parte de una expresión cuando el usuario desea que el cálculo utilice la fracción del día que aún no ha ocurrido. Por ejemplo, para calcular el total de gastos que faltan por hacer durante el día.

Tipo de datos que devuelve: dual

Argumentos

| Argumento | Descripción |
| --- | --- |
| time | La fecha/hora que se ha de evaluar. |
| period\_no | period\_no es un entero, o una expresión que devuelve un entero, donde el valor 0 indica el día que contiene a time. Los valores negativos en period\_no indican días precedentes y los valores positivos indican días subsiguientes. |
| day\_start | Para especificar que los días no comienzan a la medianoche, indique un desplazamiento como una fracción de un día en day\_start. Por ejemplo, 0,125 para indicar las 3.00 am.<br><br>En otras palabras, para crear el desplazamiento, divida la hora de inicio por 24 horas. Por ejemplo, para que un día comience a las 7:00 am, utilice la fracción 7/24. |

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

La configuración regional predeterminada en las aps se basa en la configuración del sistema regional de la computadora o servidor donde esté instalado Qlik Sense. Si el servidor de Qlik Sense al que está accediendo está configurado en Suecia, el editor de carga de datos utilizará la configuración regional sueca para las fechas, la hora y la moneda. Estos ajustes de formato regional no están relacionados con el idioma mostrado en la interfaz de usuario de Qlik Sense. Qlik Sense se mostrará en el mismo idioma que esté utilizando en su navegador.

Ejemplos de funciones

| Ejemplo | Resultado |
| --- | --- |
| dayend('01/25/2013 16:45:00') | Devuelve 01/25/2013 23:59:59. PM |
| dayend('01/25/2013 16:45:00', -1) | Devuelve 01/24/2013 23:59:59. PM |
| dayend('01/25/2013 16:45:00', 0, 0.5) | Devuelve 01/26/2013 11:59:59. PM |

## Ejemplo 1: script básico

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

#### Script de carga y resultados

Vista general

Abra el Editor de carga de datos y agregue el script de carga a continuación en una nueva pestaña.

El script de carga contiene:

* Un conjunto de datos que contiene una lista de fechas que se carga en una tabla denominada "Calendar".

* La variable de sistema `DateFormat` predefinida `(MM/DD/YYYY)`.

* Un load precedente que crea un campo adicional, llamado "`EOD_timestamp`", usando la función `dayend()`.

Script de carga

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT'; 

Calendar: 
    Load 
      date, 
      dayend(date) as EOD_timestamp 
      ; 
Load 
date 
Inline  
[ 
date 
03/11/2022 1:47:15 AM 
03/12/2022 4:34:58 AM 
03/13/2022 5:15:55 AM 
03/14/2022 9:25:14 AM 
03/15/2022 10:06:54 AM 
03/16/2022 10:44:42 AM 
03/17/2022 11:33:30 AM 
03/18/2022 12:58:14 PM 
03/19/2022 4:23:12 PM 
03/20/2022 6:42:15 PM 
03/21/2022 7:41:16 PM 
]; 
```

Resultados

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

* `date`

* `EOD_timestamp`

Tabla de resultados

| date | EOD\_timestamp |
| --- | --- |
| 03/11/2022 1:47:15 AM | 3/11/2022 11:59:59 PM |
| 03/12/2022 4:34:58 AM | 3/12/2022 11:59:59 PM |
| 03/13/2022 5:15:55 AM | 3/13/2022 11:59:59 PM |
| 03/14/2022 9:25:14 AM | 3/14/2022 11:59:59 PM |
| 03/15/2022 10:06:54 AM | 3/15/2022 11:59:59 PM |
| 03/16/2022 10:44:42 AM | 3/16/2022 11:59:59 PM |
| 03/17/2022 11:33:30 AM | 3/17/2022 11:59:59 PM |
| 03/18/2022 12:58:14 PM | 3/18/2022 11:59:59 PM |
| 03/19/2022 4:23:12 PM | 3/19/2022 11:59:59 PM |
| 03/20/2022 6:42:15 PM | 3/20/2022 11:59:59 PM |
| 03/21/2022 7:41:16 PM | 3/21/2022 11:59:59 PM |

Como puede ver en la tabla anterior, la marca de tiempo (fecha-hora ) del final del día se genera para cada fecha de nuestro conjunto de datos. La marca de tiempo está en el formato de la variable del sistema `TimestampFormat M/D/YYYY h:mm:ss[.fff] TT`.

## Ejemplo 2: period\_no

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

#### Script de carga y resultados

Vista general

Abra el Editor de carga de datos y agregue el script de carga a continuación en una nueva pestaña.

Cargará un conjunto de datos que contiene reservas de servicios en una tabla denominada "Servicios".

El conjunto de datos incluye los siguientes campos:

* `service_id`

* `service_date`

* `amount`

Creará dos nuevos campos en la tabla:

* `deposit_due_date`: la fecha en la que debe recibirse el depósito. Este es el final del día tres días antes de la fecha `service_date`.

* `final_payment_due_date`: la fecha en la que debe recibirse el pago final. Este es el final del día, siete días después de la fecha de `service_date`.

Los dos campos anteriores se crean en un load anterior mediante la función `dayend()` y proporcionan los dos primeros parámetros: `time` y `period_no`.

Script de carga

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT'; 
						
Services: 
   Load 
     *, 
     dayend(service_date,-3) as deposit_due_date, 
     dayend(service_date,7) as final_payment_due_date 
     ; 
Load 
service_id, 
service_date, 
amount 
Inline  
[ 
service_id, service_date,amount
1,03/11/2022 9:25:14 AM,231.24 
2,03/12/2022 10:06:54 AM,567.28 
3,03/13/2022 10:44:42 AM,364.28 
4,03/14/2022 11:33:30 AM,575.76 
5,03/15/2022 12:58:14 PM,638.68 
6,03/16/2022 4:23:12 PM,785.38 
7,03/17/2022 6:42:15 PM,967.46 
8,03/18/2022 7:41:16 PM,287.67 
9,03/19/2022 8:14:15 PM,764.45 
10,03/20/2022 9:23:51 PM,875.43 
11,03/21/2022 10:04:41 PM,957.35 
]; 
```

Resultados

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

* `service_date`

* `deposit_due_date`

* `final_payment_due_date`

Tabla de resultados

| service\_date | deposit\_due\_date | final\_payment\_due\_date |
| --- | --- | --- |
| 03/11/2022 9:25:14 AM | 3/8/2022 11:59:59 PM | 3/18/2022 11:59:59 PM |
| 03/12/2022 10:06:54 AM | 3/9/2022 11:59:59 PM | 3/19/2022 11:59:59 PM |
| 03/13/2022 10:44:42 AM | 3/10/2022 11:59:59 PM | 3/20/2022 11:59:59 PM |
| 03/14/2022 11:33:30 AM | 3/11/2022 11:59:59 PM | 3/21/2022 11:59:59 PM |
| 03/15/2022 12:58:14 PM | 3/12/2022 11:59:59 PM | 3/22/2022 11:59:59 PM |
| 03/16/2022 4:23:12 PM | 3/13/2022 11:59:59 PM | 3/23/2022 11:59:59 PM |
| 03/17/2022 6:42:15 PM | 3/14/2022 11:59:59 PM | 3/24/2022 11:59:59 PM |
| 03/18/2022 7:41:16 PM | 3/15/2022 11:59:59 PM | 3/25/2022 11:59:59 PM |
| 03/19/2022 8:14:15 PM | 3/16/2022 11:59:59 PM | 3/26/2022 11:59:59 PM |
| 03/20/2022 9:23:51 PM | 3/17/2022 11:59:59 PM | 3/27/2022 11:59:59 PM |
| 03/21/2022 10:04:41 PM | 3/18/2022 11:59:59 PM | 3/28/2022 11:59:59 PM |

Los valores de los nuevos campos están en `TimestampFormat M/D/YYYY h:mm:ss[.fff] TT`. Porque se utilizó la función `dayend()`, los valores de la marca de tiempo son todos el último milisegundo del día.

Los valores de la fecha de vencimiento del depósito son tres días antes de la fecha de servicio porque el segundo argumento que se indica en la función `dayend()` es negativo.

Los valores de la fecha de vencimiento del pago final son siete días después de la fecha de servicio porque el segundo argumento que se indica en la función `dayend()` es positivo.

## Ejemplo 3: script de day\_start

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

#### Script de carga y resultados

Vista general

Abra el Editor de carga de datos y agregue el script de carga a continuación en una nueva pestaña.

El conjunto de datos y el escenario utilizados en este ejemplo son los mismos que en el ejemplo anterior.

Como en el ejemplo anterior, creará dos nuevos campos:

* `deposit_due_date`: la fecha en la que debe recibirse el depósito. Este es el final del día tres días antes de la fecha `service_date`.

* `final_payment_due_date`: la fecha en la que debe recibirse el pago final. Esta corresponde al final del día, siete días antes de la fecha de `service_date`.

Sin embargo, su empresa desearía operar bajo una política en la que la jornada laboral comienza a las 5 PM y termina a las 5 PM del día siguiente. Su empresa podrá controlar luego las transacciones que se produzcan en esas horas de trabajo.

Para lograr estos requisitos, los dos campos anteriores se crean en un load precedente utilizando la función `dayend()` y utilizan los tres argumentos: `time`, `period_no` y `day_start`.

Script de carga

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT'; 

Services: 
   Load 
     *, 
     dayend(service_date,-3,17/24) as deposit_due_date, 
     dayend(service_date,7,17/24) as final_payment_due_date 
     ; 
Load 
service_id, 
service_date, 
amount 
Inline  
[ 
service_id, service_date,amount 
1,03/11/2022 9:25:14 AM,231.24 
2,03/12/2022 10:06:54 AM,567.28 
3,03/13/2022 10:44:42 AM,364.28 
4,03/14/2022 11:33:30 AM,575.76 
5,03/15/2022 12:58:14 PM,638.68 
6,03/16/2022 4:23:12 PM,785.38 
7,03/17/2022 6:42:15 PM,967.46 
8,03/18/2022 7:41:16 PM,287.67 
9,03/19/2022 8:14:15 PM,764.45 
10,03/20/2022 9:23:51 PM,875.43 
11,03/21/2022 10:04:41 PM,957.35 
]; 
```

Resultados

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

* `service_date`

* `deposit_due_date`

* `final_payment_due_date`

Tabla de resultados

| service\_date | deposit\_due\_date | final\_payment\_due\_date |
| --- | --- | --- |
| 03/11/2022 9:25:14 AM | 3/8/2022 4:59:59 PM | 3/18/2022 4:59:59 PM |
| 03/12/2022 10:06:54 AM | 3/9/2022 4:59:59 PM | 3/19/2022 4:59:59 PM |
| 03/13/2022 10:44:42 AM | 3/10/2022 4:59:59 PM | 3/20/2022 4:59:59 PM |
| 03/14/2022 11:33:30 AM | 3/11/2022 4:59:59 PM | 3/21/2022 4:59:59 PM |
| 03/15/2022 12:58:14 PM | 3/12/2022 4:59:59 PM | 3/22/2022 4:59:59 PM |
| 03/16/2022 4:23:12 PM | 3/13/2022 4:59:59 PM | 3/23/2022 4:59:59 PM |
| 03/17/2022 6:42:15 PM | 3/14/2022 4:59:59 PM | 3/24/2022 4:59:59 PM |
| 03/18/2022 7:41:16 PM | 3/15/2022 4:59:59 PM | 3/25/2022 4:59:59 PM |
| 03/19/2022 8:14:15 PM | 3/16/2022 4:59:59 PM | 3/26/2022 4:59:59 PM |
| 03/20/2022 9:23:51 PM | 3/17/2022 4:59:59 PM | 3/27/2022 4:59:59 PM |
| 03/21/2022 10:04:41 PM | 3/18/2022 4:59:59 PM | 3/28/2022 4:59:59 PM |

Aunque las fechas siguen siendo las mismas que en el ejemplo 2, las fechas tienen ahora una fecha-hora del último milisegundo antes de las 5:00 p.m., porque el valor del tercer argumento, `day_start` indicado en la función `dayend()` es 17/24.

## Ejemplo 4: ejemplo de gráfico

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

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

Vista general

Abra el Editor de carga de datos y agregue el script de carga a continuación en una nueva pestaña.

El conjunto de datos y el escenario utilizados en este ejemplo son los mismos que en los dos ejemplos anteriores. A su empresa le gustaría operar bajo una política en la que la jornada laboral comienza a las 17:00 p.m. y termina a las 17:00 p.m. del día siguiente.

Como en el ejemplo anterior, creará dos nuevos campos:

* deposit\_due\_date: la fecha en la que debe recibirse el depósito. Este es el final del día tres días antes de la fecha service\_date.

* final\_payment\_due\_date: la fecha en la que debe recibirse el pago final. Este es el final del día, siete días antes de la fecha service\_date.

Script de carga

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT'; 

Services: 
Load 
service_id, 
service_date, 
amount 
Inline  
[ 
service_id, service_date,amount 
1,03/11/2022 9:25:14 AM,231.24 
2,03/12/2022 10:06:54 AM,567.28 
3,03/13/2022 10:44:42 AM,364.28 
4,03/14/2022 11:33:30 AM,575.76 
5,03/15/2022 12:58:14 PM,638.68 
6,03/16/2022 4:23:12 PM,785.38 
7,03/17/2022 6:42:15 PM,967.46 
8,03/18/2022 7:41:16 PM,287.67 
9,03/19/2022 8:14:15 PM,764.45 
10,03/20/2022 9:23:51 PM,875.43 
11,03/21/2022 10:04:41 PM,957.35 
]; 
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue este campo como dimensión:

service\_date.

Para crear el campo deposit\_due\_date, cree esta medida.

=dayend(service\_date,-3,17/24).

Después, para crear el campo final\_payment\_due\_date, cree esta medida:

=dayend(service\_date,7,17/24).

Tabla de resultados

| service\_date | =dayend(service\_date,-3,17/24) | =dayend(service\_date,7,17/24 |
| --- | --- | --- |
| 03/11/2022 | 3/8/2022 16:59:59 PM | 3/18/2022 16:59:59 PM |
| 03/12/2022 | 3/9/2022 16:59:59 PM | 3/19/2022 16:59:59 PM |
| 03/13/2022 | 3/10/2022 16:59:59 PM | 3/20/2022 16:59:59 PM |
| 03/14/2022 | 3/11/2022 16:59:59 PM | 3/21/2022 16:59:59 PM |
| 03/15/2022 | 3/12/2022 16:59:59 PM | 3/22/2022 16:59:59 PM |
| 03/16/2022 | 3/13/2022 16:59:59 PM | 3/23/2022 16:59:59 PM |
| 03/17/2022 | 3/14/2022 16:59:59 PM | 3/24/2022 16:59:59 PM |
| 03/18/2022 | 3/15/2022 16:59:59 PM | 3/25/2022 16:59:59 PM |
| 03/19/2022 | 3/16/2022 16:59:59 PM | 3/26/2022 16:59:59 PM |
| 03/20/2022 | 3/17/2022 16:59:59 PM | 3/27/2022 16:59:59 PM |
| 03/21/2022 | 3/18/2022 16:59:59 PM | 3/28/2022 16:59:59 PM |

Los valores de los nuevos campos están en TimestampFormat M/D/YYYY h:mm:ss[.fff] TT. Porque se utilizó la función dayend(), los valores de la marca de tiempo son todos el último milisegundo del día.

Los valores de la fecha de vencimiento del pago son tres días antes de la fecha de servicio porque el segundo argumento que se indica en la función dayend() es negativo.

Los valores de la fecha de vencimiento del pago final son siete días después de la fecha de servicio porque el segundo argumento que se indica en la función dayend() es positivo.

Las fechas tienen una marca de tiempo del último milisegundo antes de las 5:00 PM porque el valor del tercer argumento, day\_start, indicado en la función dayend() es 17/24.

## Más información

* [Cargar datos de una tabla previamente cargada](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/load-data-from-previously-loaded-table.htm)

Argumentos

| Argumento | Descripción |
| --- | --- |
| time | La fecha/hora que se ha de evaluar. |
| period\_no | period\_no es un entero, o una expresión que devuelve un entero, donde el valor 0 indica el día que contiene a time. Los valores negativos en period\_no indican días precedentes y los valores positivos indican días subsiguientes. |
| day\_start | Para especificar que los días no comienzan a la medianoche, indique un desplazamiento como una fracción de un día en day\_start. Por ejemplo, 0,125 para indicar las 3.00 am. |