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

Esta función devuelve True si timestamp se encuentra dentro de la parte del trimestre que contiene a base\_date hasta e incluido el último milisegundo de base\_date.

Sintaxis:

InQuarterToDate (timestamp, base\_date, period\_no [, first\_month\_of\_year])

Tipo de datos que devuelve: Booleano

Nota informativa

En Qlik Sense, el valor booleano verdadero viene representado por -1 y el valor falso está representado por 0.

Diagrama de la función inquartertodate

Diagrama de la función inquartertodate

Diagrama de la función inquartertodate ![Diagrama de ejemplo del rango de fechas dentro del cual la función inquartertodate devolverá un valor de TRUE.](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquartertodate-general.png)

La función `inquartertodate()` divide el año en cuatro trimestres iguales entre el 1 de enero y el 31 de diciembre (o el inicio del año definido por el usuario y su fecha de finalización correspondiente). Usando la `base_date`, la función luego segmentará un trimestre en particular, con la `base_date` identificando tanto qué trimestre como la fecha máxima permitida para ese segmento de trimestre. Por último, la función devuelve un resultado booleano al comparar los valores de fecha prescritos con ese segmento.

Argumentos

| Argumento | Descripción |
| --- | --- |
| timestamp | La fecha que desea comparar con base\_date. |
| base\_date | La fecha que se utiliza para evaluar el trimestre. |
| period\_no | El trimestre puede desplazarse mediante period\_no. period\_no es un entero, en el que el valor 0 indica el trimestre que contiene a base\_date. Los valores negativos en period\_no indican trimestres precedentes y los valores positivos indican trimestres subsiguientes. |
| first\_month\_of\_year | Si desea trabajar con años (fiscales) que no comiencen en enero, indique un valor entre 2 y 12 en first\_month\_of\_year. |

## Cuándo utilizar inquartertodate

La función `inquartertodate()` devuelve un resultado booleano. Normalmente, este tipo de función se utilizará como condición en una expresión `if`. La función `inquartertodate()` se usaría para devolver una agregación o cálculo dependiendo de si una fecha evaluada ocurrió en el trimestre hasta la fecha en cuestión inclusive.

Por ejemplo, la función `inquartertodate()` se puede utilizar para identificar todos los equipos fabricados en un trimestre hasta una fecha específica.

Ejemplos de funciones

| Ejemplo | Resultado |
| --- | --- |
| `inquartertodate('01/25/2013', '03/25/2013', 0)` | Devuelve `TRUE`, ya que el valor del `timestamp`, 01/25/2013, se encuentra dentro del período de tres meses del 01/01/2013 al 25/03/2013, en el cual se encuentra el valor de `base_date`, 25/03/2013. |
| `inquartertodate('04/26/2013', '03/25/2013', 0)` | Devuelve `FALSE`, ya que el 26/04/2013 está fuera del mismo periodo que el ejemplo anterior. |
| `inquartertodate('02/25/2013', '06/09/2013', -1)` | Devuelve `TRUE`, ya que el valor de `period_no`, -1, desplaza el período de búsqueda hacia atrás un período de tres meses (un trimestre del año). Esto hace que el período de búsqueda sea del 01/01/2013 al 09/03/2013. |
| `inquartertodate('03/25/2006', '04/15/2006', 0, 2)` | Devuelve `TRUE`, ya que el valor de `first_month_of_year` está establecido en 2, lo que hace que el período de búsqueda sea del 01/02/2006 al 15/04/2006 en lugar del 01/04/2006 al 15/04/2006. |

## 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: sin argumentos adicionales

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inquartertodate.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 un conjunto de transacciones de 2022, que se carga en una tabla llamada "`Transactions`".

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

* La creación de un campo, `  in_quarter_to_date `, que determina qué transacciones se realizaron en el trimestre hasta el 15 de mayo de 2022.

Script de carga

```
SET DateFormat='MM/DD/YYYY';
						
Transactions:
    Load
        *,
        inquartertodate(date,'05/15/2022', 0) as in_quarter_to_date
        ;
Load
*
Inline
[
id,date,amount
8188,'1/19/2022',37.23
8189,'1/7/2022',17.17
8190,'2/28/2022',88.27
8191,'2/5/2022',57.42
8192,'3/16/2022',53.80
8193,'4/1/2022',82.06
8194,'5/7/2022',40.39
8195,'5/16/2022',87.21
8196,'6/15/2022',95.93
8197,'6/26/2022',45.89
8198,'7/9/2022',36.23
8199,'7/22/2022',25.66
8200,'7/23/2022',82.77
8201,'7/27/2022',69.98
8202,'8/2/2022',76.11
8203,'8/8/2022',25.12
8204,'8/19/2022',46.23
8205,'9/26/2022',84.21
8206,'10/14/2022',96.24
8207,'10/29/2022',67.67
];
```

Resultados

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

* `date`

* `in_quarter_to_date`

Tabla de resultados

| date | in\_quarter\_to\_date |
| --- | --- |
| 1/7/2022 | 0 |
| 1/19/2022 | 0 |
| 2/5/2022 | 0 |
| 2/28/2022 | 0 |
| 3/16/2022 | 0 |
| 4/1/2022 | -1 |
| 5/7/2022 | -1 |
| 5/16/2022 | 0 |
| 6/15/2022 | 0 |
| 6/26/2022 | 0 |
| 7/9/2022 | 0 |
| 7/22/2022 | 0 |
| 7/23/2022 | 0 |
| 7/27/2022 | 0 |
| 8/2/2022 | 0 |
| 8/8/2022 | 0 |
| 8/19/2022 | 0 |
| 9/26/2022 | 0 |
| 10/14/2022 | 0 |
| 10/29/2022 | 0 |

El campo "`in_quarter_to_date`" se crea en la instrucción load anterior, mediante el uso de la función `inquartertodate()`. El primer argumento proporcionado identifica qué campo se está evaluando. El segundo argumento es una fecha codificada para el 15 de mayo, que es la `base_date` que identifica qué trimestre segmentar y define el límite final de ese segmento. Un `period_no` de 0 es el argumento final, lo que significa que la función no compara los trimestres que preceden o siguen al trimestre segmentado.

Diagrama de la función inquartertodate, sin argumentos adicionales

Diagrama de la función inquartertodate, sin argumentos adicionales

Diagrama de la función inquartertodate, sin argumentos adicionales ![Diagrama que muestra el rango de fechas para el que la función inquartertodate devolverá un valor de TRUE.](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquartertodate-example-no-additional-arguments.png)

Cualquier transacción que ocurra entre el 1 de abril y el 15 de mayo devuelve un resultado booleano de `TRUE`. Las transacciones del 16 de mayo en adelante devolverán `FALSE`, al igual que cualquier transacción anterior al 1 de abril.

## Ejemplo 2: period\_no

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

* La creación de un campo, `previous_qtr_to_date`, que determina qué transacciones se realizaron un trimestre completo antes del segmento del trimestre que finaliza el 15 de mayo de 2022.

Script de carga

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

Transactions:
    Load
        *,
        inquartertodate(date,'05/15/2022', -1) as previous_qtr_to_date
        ;
Load
*
Inline
[
id,date,amount
8188,'1/19/2022',37.23
8189,'1/7/2022',17.17
8190,'2/28/2022',88.27
8191,'2/5/2022',57.42
8192,'3/16/2022',53.80
8193,'4/1/2022',82.06
8194,'5/7/2022',40.39
8195,'5/16/2022',87.21
8196,'6/15/2022',95.93
8197,'6/26/2022',45.89
8198,'7/9/2022',36.23
8199,'7/22/2022',25.66
8200,'7/23/2022',82.77
8201,'7/27/2022',69.98
8202,'8/2/2022',76.11
8203,'8/8/2022',25.12
8204,'8/19/2022',46.23
8205,'9/26/2022',84.21
8206,'10/14/2022',96.24
8207,'10/29/2022',67.67
];
```

Resultados

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

* `date`

* `previous_qtr_to_date`

Tabla de resultados

| date | previous\_qtr\_to\_date |
| --- | --- |
| 1/7/2022 | -1 |
| 1/19/2022 | -1 |
| 2/5/2022 | -1 |
| 2/28/2022 | 0 |
| 3/16/2022 | 0 |
| 4/1/2022 | 0 |
| 5/7/2022 | 0 |
| 5/16/2022 | 0 |
| 6/15/2022 | 0 |
| 6/26/2022 | 0 |
| 7/9/2022 | 0 |
| 7/22/2022 | 0 |
| 7/23/2022 | 0 |
| 7/27/2022 | 0 |
| 8/2/2022 | 0 |
| 8/8/2022 | 0 |
| 8/19/2022 | 0 |
| 9/26/2022 | 0 |
| 10/14/2022 | 0 |
| 10/29/2022 | 0 |

Un valor `period_no` de -1 indica que la función `inquartertodate ()` compara el segmento del trimestre introducido con el trimestre anterior. El 15 de mayo cae en el segundo trimestre del año, por lo que el segmento inicialmente equivale al 1 de abril y al 15 de mayo. El `period_no` luego desplaza este segmento a tres meses antes, lo que hace que los límites de la fecha sean del 1 de enero al 15 de febrero.

Diagrama de la función inquartertodate, ejemplo de period\_no

Diagrama de la función inquartertodate, ejemplo de period\_no

Diagrama de la función inquartertodate, ejemplo de period\_no ![Diagrama que muestra el rango de fechas para el que la función inquartertodate devolverá un valor de TRUE.](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquartertodate-example-period-no.png)

Por lo tanto, cualquier transacción que ocurra entre el 1 de enero y el 15 de febrero devolverá un resultado booleano de `TRUE`.

## Ejemplo 3: first\_month\_of\_year

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

* La creación de un campo, `in_quarter_to_date`, que determina qué transacciones se realizaron en el mismo trimestre hasta el 15 de mayo de 2022.

En este ejemplo, establecemos marzo como el primer mes del año fiscal.

Script de carga

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

Transactions:
    Load
        *,
        inquartertodate(date,'05/15/2022', 0,3) as in_quarter_to_date
        ;
Load
*
Inline
[
id,date,amount
8188,'1/19/2022',37.23
8189,'1/7/2022',17.17
8190,'2/28/2022',88.27
8191,'2/5/2022',57.42
8192,'3/16/2022',53.80
8193,'4/1/2022',82.06
8194,'5/7/2022',40.39
8195,'5/16/2022',87.21
8196,'6/15/2022',95.93
8197,'6/26/2022',45.89
8198,'7/9/2022',36.23
8199,'7/22/2022',25.66
8200,'7/23/2022',82.77
8201,'7/27/2022',69.98
8202,'8/2/2022',76.11
8203,'8/8/2022',25.12
8204,'8/19/2022',46.23
8205,'9/26/2022',84.21
8206,'10/14/2022',96.24
8207,'10/29/2022',67.67
];
```

Resultados

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

* `date`

* `in_quarter_to_date`

Tabla de resultados

| date | in\_quarter\_to\_date |
| --- | --- |
| 1/7/2022 | 0 |
| 1/19/2022 | 0 |
| 2/5/2022 | 0 |
| 2/28/2022 | 0 |
| 3/16/2022 | -1 |
| 4/1/2022 | -1 |
| 5/7/2022 | -1 |
| 5/16/2022 | 0 |
| 6/15/2022 | 0 |
| 6/26/2022 | 0 |
| 7/9/2022 | 0 |
| 7/22/2022 | 0 |
| 7/23/2022 | 0 |
| 7/27/2022 | 0 |
| 8/2/2022 | 0 |
| 8/8/2022 | 0 |
| 8/19/2022 | 0 |
| 9/26/2022 | 0 |
| 10/14/2022 | 0 |
| 10/29/2022 | 0 |

Utilizando 3 como el argumento de `first_month_of_year` en la función `inquartertodate()`, la función comienza el año el 1 de marzo y luego divide el año en trimestres. Por lo tanto, los segmentos del cuatrimestre son:

* De marzo a mayo

* De junio a agosto

* De septiembre a noviembre

* De diciembre a febrero

La `base_date` del 15 de mayo luego segmenta el trimestre de marzo a mayo estableciendo su límite final como el 15 de mayo.

Diagrama de la función inquartertodate, ejemplo de first\_month\_of\_year

Diagrama de la función inquartertodate, ejemplo de first\_month\_of\_year

Diagrama de la función inquartertodate, ejemplo de first\_month\_of\_year ![Diagrama que muestra el rango de fechas para el que la función inquartertodate devolverá un valor de TRUE.](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquartertodate-example-first-mth-yr.png)

En consecuencia, cualquier transacción que ocurra entre el 1 de marzo y el 15 de mayo arrojará un resultado booleano de `TRUE`, mientras que las transacciones con fechas fuera de estos límites arrojarán un valor de `FALSE`.

## Ejemplo 4: ejemplo de objeto gráfico

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inquartertodate.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 script de carga contiene el mismo conjunto de datos y escenario que el primer ejemplo. Sin embargo, en este ejemplo, el conjunto de datos sin modificar se carga en la aplicación. El cálculo que determina qué transacciones se realizaron en el mismo trimestre que el 15 de mayo se crea como una medida en el objeto gráfico.

Script de carga

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

Transactions:
Load
*
Inline
[
id,date,amount
8188,'1/19/2022',37.23
8189,'1/7/2022',17.17
8190,'2/28/2022',88.27
8191,'2/5/2022',57.42
8192,'3/16/2022',53.80
8193,'4/1/2022',82.06
8194,'5/7/2022',40.39
8195,'5/16/2022',87.21
8196,'6/15/2022',95.93
8197,'6/26/2022',45.89
8198,'7/9/2022',36.23
8199,'7/22/2022',25.66
8200,'7/23/2022',82.77
8201,'7/27/2022',69.98
8202,'8/2/2022',76.11
8203,'8/8/2022',25.12
8204,'8/19/2022',46.23
8205,'9/26/2022',84.21
8206,'10/14/2022',96.24
8207,'10/29/2022',67.67
];
```

Resultados

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

Cree la siguiente medida:

=inquartertodate(date,'05/15/2022', 0)

Tabla de resultados

| date | =inquartertodate(date,'05/15/2022', 0) |
| --- | --- |
| 1/7/2022 | 0 |
| 1/19/2022 | 0 |
| 2/5/2022 | 0 |
| 2/28/2022 | 0 |
| 3/16/2022 | 0 |
| 4/1/2022 | -1 |
| 5/7/2022 | -1 |
| 5/16/2022 | 0 |
| 6/15/2022 | 0 |
| 6/26/2022 | 0 |
| 7/9/2022 | 0 |
| 7/22/2022 | 0 |
| 7/23/2022 | 0 |
| 7/27/2022 | 0 |
| 8/2/2022 | 0 |
| 8/8/2022 | 0 |
| 8/19/2022 | 0 |
| 9/26/2022 | 0 |
| 10/14/2022 | 0 |
| 10/29/2022 | 0 |

La medida in\_quarter\_to\_date se crea en un objeto gráfico usando la función inquartertodate(). El primer argumento es el campo de fecha que se está evaluando. El segundo argumento es una fecha codificada para el 15 de mayo, que es la base\_date que identifica qué trimestre segmentar y define el límite final de ese segmento. Un period\_no de 0 es el argumento final, lo que significa que la función no compara los trimestres que preceden o siguen al trimestre segmentado.

Diagrama de la función inquartertodate, ejemplo de objeto gráfico

Diagrama de la función inquartertodate, ejemplo de objeto gráfico

Diagrama de la función inquartertodate, ejemplo de objeto gráfico ![Diagrama que muestra el rango de fechas para el que la función inquartertodate devolverá un valor de TRUE.](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquartertodate-example-chart-object.png)

Cualquier transacción que ocurra entre el 1 de abril y el 15 de mayo devuelve un resultado booleano de TRUE. Las transacciones del 16 de mayo y posteriores devolverán FALSE, al igual que cualquier transacción anterior al 1 de abril.

## Ejemplo 5: Escenario

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

* Un conjunto de datos que se carga en una tabla denominada Products.

* Información sobre la identificación del producto, la fecha de fabricación y el precio de coste.

El 15 de mayo de 2022, se identificó y resolvió un error de equipo en el proceso de fabricación. Los productos que se fabricaron en ese trimestre hasta la fecha serán defectuosos. El usuario final desearía tener un objeto gráfico que muestre, por nombre de trimestre, el estado del producto fabricado, si es "defectuoso" o "sin defectos" y el costo de los productos fabricados en ese trimestre hasta la fecha.

Script de carga

```
Products:
Load
*
Inline 
[
product_id,manufacture_date,cost_price
8188,'1/19/2022',37.23
8189,'1/7/2022',17.17
8190,'2/28/2022',88.27
8191,'2/5/2022',57.42
8192,'3/16/2022',53.80
8193,'4/1/2022',82.06
8194,'5/7/2022',40.39
8195,'5/16/2022',87.21
8196,'6/15/2022',95.93
8197,'6/26/2022',45.89
8198,'7/9/2022',36.23
8199,'7/22/2022',25.66
8200,'7/23/2022',82.77
8201,'7/27/2022',69.98
8202,'8/2/2022',76.11
8203,'8/8/2022',25.12
8204,'8/19/2022',46.23
8205,'9/26/2022',84.21
8206,'10/14/2022',96.24
8207,'10/29/2022',67.67
];
```

Resultados

Haga lo siguiente:

1. Cargue los datos y abra una hoja. Cree una nueva tabla. Cree una dimensión para mostrar los nombres de los trimestres:

   =quartername(manufacture\_date)

2. A continuación, cree una dimensión para identificar cuáles de los productos son defectuosos y cuáles son sin defectos:

   =if(inquartertodate(manufacture\_date,makedate(2022,05,15),0),'Defective','Faultless')

3. Cree una medida para sumar el cost\_price de los productos:

   =sum(cost\_price)

4. Establezca el Formato numérico de la medida en Moneda.

Tabla de resultados

| quartername(fecha\_fabricacion) | if(inquartertodate(manufacture\_date,makedate(2022,05,15),0),'Defectuoso','Sin defectos') | Sum(precio\_coste) |
| --- | --- | --- |
| Ene-Mar 2022 | Sin defectos | $253.89 |
| Abr-Jun 2022 | Sin defectos | $229.03 |
| Abr-Jun 2022 | Defectuoso | $122.45 |
| Jul-Sep 2022 | Sin defectos | $446.31 |
| Oct-Dic 2022 | Sin defectos | $163.91 |

La función inquartertodate() devuelve un valor booleano al evaluar las fechas de fabricación de cada uno de los productos. Para aquellos que devuelven un valor booleano de TRUE, marca los productos como ‘Defective’. Para cualquier producto que devuelva un valor de FALSE, y por tanto no realizados en el trimestre hasta el 15 de mayo inclusive, marca los productos como ‘Faultless’.