# inmonth - Función de script y de gráfico

Esta función devuelve True si timestamp se encuentra dentro del mes que contiene a base\_date.

Sintaxis:

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

Diagrama de la función `indaytotime`.

Diagrama de la función `indaytotime`.

Diagrama de la función `indaytotime`indaytotime. ![Diagrama que muestra las condiciones de la función inmonth.](https://help.qlik.com/es-ES/sense/November2025/Subsystems/Hub/Content/Resources/Images/dr_Diagram_InMonth.png)

En otras palabras, la función `inmonth()` determina si un conjunto de fechas cae dentro de este mes y devuelve un valor booleano basado en `base_date` que identifica el mes.

Cuándo se utiliza

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

Por ejemplo, la función `inmonth()` se puede utilizar para identificar todos los equipos fabricados en un mes determinado.

Tipo de datos que devuelve: Booleano

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

Argumentos

| Argumento | Descripción |
| --- | --- |
| timestamp | La fecha que desea comparar con `base_date`. |
| base\_date | La fecha que se utiliza para evaluar el mes. Es importante tener en cuenta que la `base_date` puede ser cualquier día de un 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. |

## 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 |
| --- | --- |
| ` inmonth ('25/01/2013', '01/01/2013', 0)  ` | Devuelve Verdadero |
| `inmonth('25/01/2013', '23/04/2013', 0)` | Devuelve Falso |
| ` inmonth ('25/01/2013', '01/01/2013', -1)  ` | Devuelve Falso |
| ` inmonth ('25/12/2012', '17/01/2013', -1)  ` | Devuelve Verdadero |

## Ejemplo 1: sin argumentos adicionales

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inmonth.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 durante la primera mitad de 2022.

* Un load precedente con una variable adicional, "`in_month`", que determina si las transacciones se realizaron en abril.

Script de carga

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

Transactions: 
  Load 
    *, 
    inmonth(date,'04/01/2022', 0) as in_month 
    ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/10/2022',37.23 
8189,'1/14/2022',17.17 
8190,'1/20/2022',88.27 
8191,'1/22/2022',57.42 
8192,'2/1/2022',53.80 
8193,'2/2/2022',82.06 
8194,'2/20/2022',40.39 
8195,'4/11/2022',87.21 
8196,'4/13/2022',95.93 
8197,'4/15/2022',45.89 
8198,'4/25/2022',36.23 
8199,'5/20/2022',25.66 
8200,'5/22/2022',82.77 
8201,'6/19/2022',69.98 
8202,'6/22/2022',76.11 
]; 
```

Resultados

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

* `date`
* `in_month`

Ejemplos de funciones

| date | in\_month |
| --- | --- |
| 1/10/2022 | 0 |
| 1/14/2022 | 0 |
| 1/20/2022 | 0 |
| 1/22/2022 | 0 |
| 2/1/2022 | 0 |
| 2/2/2022 | 0 |
| 2/20/2022 | 0 |
| 4/11/2022 | -1 |
| 4/13/2022 | -1 |
| 4/15/2022 | -1 |
| 4/25/2022 | -1 |
| 5/20/2022 | 0 |
| 5/22/2022 | 0 |
| 6/19/2022 | 0 |
| 6/22/2022 | 0 |

El campo "`in_month`" se crea en la instrucción load anterior utilizando la función `inmonth()` e introduciendo el campo de fecha, una marca de tiempo codificada para el 1 de abril como nuestra `base_date` y un `period_no` de `0` como argumentos de la función.

La `base_date` identifica el mes que devolverá un resultado booleano de TRUE Por lo tanto, todas las transacciones que ocurrieron en abril devuelven TRUE, que se valida en la tabla de resultados.

## Ejemplo 2: period\_no

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

#### Script de carga y resultados

Vista general

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

Sin embargo, en este ejemplo, creará un campo, ''`2_months_prior`", que determina si las transacciones se realizaron dos meses antes de abril.

Script de carga

```
SET DateFormat='MM/DD/YYYY'; 
 
Transactions: 
Load 
   *, 
   inmonth(date,'04/01/2022', -2) as [2_months_prior] 
Inline  
[ 
id,date,amount 
8188,'1/10/2022',37.23 
8189,'1/14/2022',17.17 
8190,'1/20/2022',88.27 
8191,'1/22/2022',57.42 
8192,'2/1/2022',53.80 
8193,'2/2/2022',82.06 
8194,'2/20/2022',40.39 
8195,'4/11/2022',87.21 
8196,'4/13/2022',95.93 
8197,'4/15/2022',45.89 
8198,'4/25/2022',36.23 
8199,'5/20/2022',25.66 
8200,'5/22/2022',82.77
8201,'6/19/2022',69.98 
8202,'6/22/2022',76.11 
]; 
```

Resultados

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

* `date`
* `2_months_prior`

Ejemplos de funciones

| date | 2\_months\_prior |
| --- | --- |
| 1/10/2022 | 0 |
| 1/14/2022 | 0 |
| 1/20/2022 | 0 |
| 1/22/2022 | 0 |
| 2/1/2022 | -1 |
| 2/2/2022 | -1 |
| 2/20/2022 | -1 |
| 4/11/2022 | 0 |
| 4/13/2022 | 0 |
| 4/15/2022 | 0 |
| 4/25/2022 | 0 |
| 5/20/2022 | 0 |
| 5/22/2022 | 0 |
| 6/19/2022 | 0 |
| 6/22/2022 | 0 |

Usar -2 como el argumento de `period_no` en la función `inmonth()` cambia el mes definido por el argumento `base_date` a dos meses antes. En este ejemplo cambia el mes definido de abril a febrero.

Por lo tanto, cualquier transacción que tenga lugar en febrero devolverá un resultado booleano de TRUE.

## Ejemplo 3 : Objeto gráfico

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

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

Vista general

Se utilizan el mismo conjunto de datos y el mismo escenario que en los ejemplos anteriores.

Sin embargo, en este ejemplo, el conjunto de datos sin modificar se carga en la aplicación. El cálculo que determina si las transacciones se realizaron en abril se crea como una medida en un objeto gráfico de la aplicación.

Script de carga

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

Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/10/2022',37.23 
8189,'1/14/2022',17.17 
8190,'1/20/2022',88.27 
8191,'1/22/2022',57.42 
8192,'2/1/2022',53.80 
8193,'2/2/2022',82.06 
8194,'2/20/2022',40.39 
8195,'4/11/2022',87.21 
8196,'4/13/2022',95.93 
8197,'4/15/2022',45.89 
8198,'4/25/2022',36.23 
8199,'5/20/2022',25.66 
8200,'5/22/2022',82.77 
8201,'6/19/2022',69.98 
8202,'6/22/2022',76.11 
]; 
```

Objeto gráfico

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

`date`

Para calcular si una transacción tiene lugar en abril, cree la siguiente medida:

`=inmonth(date,'04/01/2022', 0)`

Resultados

Ejemplos de funciones

| date | =inmonth(date,'04/01/2022', 0) |
| --- | --- |
| 1/10/2022 | 0 |
| 1/14/2022 | 0 |
| 1/20/2022 | 0 |
| 1/22/2022 | 0 |
| 2/1/2022 | 0 |
| 2/2/2022 | 0 |
| 2/20/2022 | 0 |
| 4/11/2022 | -1 |
| 4/13/2022 | -1 |
| 4/15/2022 | -1 |
| 4/25/2022 | -1 |
| 5/20/2022 | 0 |
| 5/22/2022 | 0 |
| 6/19/2022 | 0 |
| 6/22/2022 | 0 |

## Ejemplo 4: Escenario

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inmonth.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 este campo como dimensión:

`=monthname(manufacture_date)`

Cree las siguientes medidas:

* `=sum(cost_price)`

* `=if(only(inmonth(manufacture_date,makedate(2022,07,01),0)),'Defective','Faultless')`

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

2. En Aspecto, deshabilite los Totales.

Tabla de resultados

| monthname(fecha\_fabricacion) | =if(only(inmonth(manufacture\_date,makedate(2022,07,01),0)),'Defectuoso','Sin defectos') | =sum(cost\_price) |
| --- | --- | --- |
| 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 | $214.64 |
| Ago 2022 | Sin defectos | $147.46 |
| Sep 2022 | Sin defectos | $84.21 |
| Oct 2022 | Sin defectos | $163.91 |

La función `inmonth()` devuelve un valor booleano al evaluar las fechas de fabricación de cada uno de los productos. Para cualquier producto fabricado en julio de 2022, la función `inmonth()` devuelve un valor booleano de TRUE y marca los productos como "defectuosos". Para cualquier producto que devuelva un valor de FALSE, y que por lo tanto no se haya fabricado en julio, marca los productos como "Sin defectos".