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

Devuelve True si date se encuentra dentro de la parte del mes que contiene a basedate hasta e incluido el último milisegundo de basedate.

Sintaxis:

InMonthToDate (timestamp, base\_date, period\_no)

Tipo de datos que devuelve: Booleano

Diagrama de la función `inmonthtodate`.

Diagrama de la función `inmonthtodate`.

Diagrama de la función `inmonthtodate`inmonthtodate. ![Diagrama que muestra cómo se puede usar la función inmonthtodate para identificar si una marca de tiempo cae dentro o fuera de un determinado mes.](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonthtodate-diagram1.png)

La función `inmonthtodate()` identifica un mes seleccionado como segmento. El límite de inicio es el comienzo del mes. El límite final se puede establecer como una fecha posterior en ese mes. Luego determina si un conjunto de fechas cae en ese segmento o no, devolviendo un valor booleano de TRUE o FALSE.

Argumentos

| Argumento | Descripción |
| --- | --- |
| timestamp | La fecha que desea comparar con base\_date. |
| base\_date | La fecha que se utiliza para evaluar el mes. |
| period\_no | El mes puede desplazarse mediante period\_no. period\_no es un entero, en el que el valor 0 indica el mes que contiene a base\_date. Los valores negativos en period\_no indican meses precedentes y los valores positivos indican meses subsiguientes. |

Cuándo se utiliza

La función `inmonthtodate()` devuelve un resultado booleano. Normalmente, este tipo de función se utiliza como condición en una expresión condicional (`if expression`). La función `inmonthtodate()` devuelve una agregación o cálculo dependiendo de si una fecha ocurrió en el mes hasta e incluida la fecha en cuestión.

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

## 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 |
| --- | --- |
| `inmonthtodate ('01/25/2013', '25/01/2013',<br>0)` | Devuelve True |
| `inmonthtodate ('01/25/2013', '24/01/2013',<br>0)` | Devuelve False |
| `inmonthtodate ('01/25/2013', '28/02/2013',<br>-1)` | Devuelve True |

## Ejemplo 1: sin argumentos adicionales

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inmonthtodate.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 se carga en una tabla llamada "`Transactions`".

* Un campo de fecha se proporciona en el formato `MM/DD/YYYY` de la variable del sistema `DateFormat`.

* Una instrucción load anterior que contiene lo siguiente:

  * La función `inmonthtodate()` que está establecida como el campo "`in_month_to_date`". Esto determina qué transacciones tuvieron lugar entre el 1 y el 26 de julio de 2022.

Script de carga

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
    *, 
    inmonthtodate(date,'07/26/2022', 0) as in_month_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_month_to_date`

Tabla de resultados

| date | in\_month\_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 | 0 |
| 5/7/2022 | 0 |
| 5/16/2022 | 0 |
| 6/15/2022 | 0 |
| 6/26/2022 | 0 |
| 7/9/2022 | -1 |
| 7/22/2022 | -1 |
| 7/23/2022 | -1 |
| 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_month_to_date`" se crea en la instrucción load anterior mediante el uso de la función `inmonthtodate()`.

El primer argumento identifica qué campo se está evaluando. El segundo argumento es una fecha codificada, 26 de julio, que es la `base_date`. Este argumento de `base_date`identifica qué mes está segmentado y 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 meses que preceden o siguen al mes segmentado.

Diagrama de la función `inmonthtodate`, sin argumentos adicionales.

Diagrama de la función `inmonthtodate`, sin argumentos adicionales.

Diagrama de la función `inmonthtodate`inmonthtodate, sin argumentos adicionales.![Diagrama que muestra el rango de transacciones que la función inmonthtodate identifica como TRUE.](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonthtodate-example1-diagram.png)

Como resultado, cualquier transacción que ocurra entre el 1 y el 26 de julio devuelve un resultado booleano de TRUE. Cualquier transacción que ocurra en julio después del 26 de julio devolverá un resultado booleano de FALSE, al igual que lo hará cualquier transacción que ocurra en cualquier otro mes del año.

## Ejemplo 2: period\_no

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

#### Script de carga y resultados

Vista general

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

En este ejemplo, la tarea es crear un campo, "`six_months_prior`", que determine qué transacciones se realizaron 6 meses completos antes del 1 de julio y el 26 de julio.

Script de carga

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
    *, 
    inmonthtodate(date,'07/26/2022', -6) as six_months_prior 
    ; 
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`

* `six_months_prior`

Tabla de resultados

| date | six\_months\_prior |
| --- | --- |
| 1/7/2022 | -1 |
| 1/19/2022 | -1 |
| 2/5/2022 | 0 |
| 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 |

Utilizando `-6` como el argumento de `period_no` en la función `inmonthtodate()`, la función desplaza los límites del segmento del mes de comparación en un semestre. Inicialmente, el segmento de mes equivale a entre el 1 y el 26 de julio. El `period_no` luego desplaza este segmento seis meses y los límites de fecha se desplazan y caen entre el 1 de enero y el 26 de enero.

Diagrama de la función `inmonthtodate` con un period\_no de-6.

Diagrama de la función `inmonthtodate` con un period\_no de-6.

Diagrama de la función `inmonthtodate`inmonthtodate con un period\_no de-6.![Diagrama que muestra el rango de transacciones con el argumento de period_no establecido en -6.](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonthtodate-example2-diagram.png)

Como resultado, cualquier transacción que ocurra entre el 1 y el 26 de enero devolverá un resultado booleano de TRUE.

## Ejemplo 3: ejemplo gráfico

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

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

General

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

En este ejemplo el conjunto de datos está sin modificar y cargado en la app. La tarea es crear un cálculo que determine si las transacciones se realizaron entre el 1 y el 26 de julio como una medida en un gráfico de la app.

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`

Para calcular si las transacciones se realizaron entre el 1 y el 26 de julio, cree la siguiente medida:

`=inmonthtodate(date,'07/26/2022', 0)`

Tabla de resultados

| date | =inmonthtodate(date,'07/26/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 | 0 |
| 5/7/2022 | 0 |
| 5/16/2022 | 0 |
| 6/15/2022 | 0 |
| 6/26/2022 | 0 |
| 7/9/2022 | -1 |
| 7/22/2022 | -1 |
| 7/23/2022 | -1 |
| 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 del campo "`in_month_to_date`" se crea en el gráfico mediante la función `inmonthtodate()`.

El primer argumento identifica qué campo se está evaluando. El segundo argumento es una fecha codificada, 26 de julio, que es la `base_date`. Este argumento de la fecha base identifica qué mes está segmentado y el límite final de ese segmento. Un `period_no` de 0 es el argumento final. Esto significa que la función no compara los meses anteriores o posteriores al mes segmentado.

Diagrama de la función `inmonthtodate`, sin argumentos adicionales.

Diagrama de la función `inmonthtodate`, sin argumentos adicionales.

Diagrama de la función `inmonthtodate`inmonthtodate, sin argumentos adicionales.![Diagrama que muestra el rango de transacciones entre el 1 de julio y el 26 de julio.](https://help.qlik.com/es-ES/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonthtodate-example3-diagram.png)

Como resultado, cualquier transacción que ocurra entre el 1 y el 26 de julio devuelve un resultado booleano de TRUE. Cualquier transacción que ocurra en julio después del 26 de julio devolverá un resultado booleano de FALSE, al igual que lo hará cualquier transacción que ocurra en cualquier otro mes del año.

## Ejemplo 4: Escenario

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

#### Script de carga y resultados

Vista general

En este ejemplo, un conjunto de datos se carga en una tabla denominada "`Products`". La tabla contiene los siguientes campos:

* ID de producto

* Fecha de fabricación

* Precio de coste

Debido a un error del equipo, los productos que se fabricaron en el mes de julio de 2022 resultaron defectuosos. El problema se resolvió el 27 de julio de 2022.

Al usuario final le gustaría tener un gráfico que muestre, por mes, el estado de los productos que se fabricaron como "defectuosos" (booleano TRUE) o "sin defectos" (booleano FALSE) y el costo de los productos fabricados en ese mes.

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

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

* `=monthname(manufacture_date)`
* `=if(Inmonthtodate(manufacture_date,makedate(2022,07,26),0),'Defective','Faultless')`

Para calcular el coste total de los productos, cree esta medida:

`=sum(cost_price)`

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

Tabla de resultados

| monthname(fecha\_fabricacion) | if(Inmonthtodate(manufacture\_date,makedate(2022,07,26),0),'Defectuoso','Sin defectos') | Sum(precio\_coste) |
| --- | --- | --- |
| Ene 2022 | Sin defectos | $54.40 |
| Feb 2022 | Sin defectos | $145.69 |
| Mar 2022 | Sin defectos | $53.80 |
| Abr 2022 | Sin defectos | $82.06 |
| May 2022 | Sin defectos | $127.60 |
| Jun 2022 | Sin defectos | $141.82 |
| Jul 2022 | Defectuoso | $144.66 |
| Jul 2022 | Sin defectos | $69.98 |
| Ago 2022 | Sin defectos | $147.46 |
| Sep 2022 | Sin defectos | $84.21 |
| Oct 2022 | Sin defectos | $163.91 |

La función `inmonthtodate()` devuelve un valor booleano al evaluar las fechas de fabricación de cada uno de los productos.

Para las fechas que arrojan un valor booleano de TRUE, el producto se marca como "Defectuoso". Para cualquier producto que devuelva un valor de FALSE, y que por lo tanto no se haya fabricado en el mes hasta e incluido el 26 de julio, los productos se marcan como "Sin defectos".