# inmonth Funzione per script e grafici

Questa funzione restituisce True se timestamp ricade all'interno del mese contenente base\_date.

Sintassi:

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

Schema della funzione `indaytotime`.

Schema della funzione `indaytotime`.

Schema della funzione `indaytotime`indaytotime. ![Diagramma che mostra le condizioni della funzione inmonth.](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Resources/Images/dr_Diagram_InMonth.png)

In pratica, la funzione `inmonth()` determina se un insieme di date rientra in questo mese e restituisce un valore booleano basato su un valore `base_date` che identifica il mese.

Quando usare inmonth

La funzione `inmonth()` restituisce un risultato booleano. In genere, questo tipo di funzione viene utilizzato come condizione in un file `if expression`. Restituisce un'aggregazione o un calcolo che dipende se una data si è verificata durante quel mese, inclusa la data in questione.

Ad esempio, la funzione `inmonth()` può essere utilizzata per identificare tutte le apparecchiature prodotte in un determinato giorno.

Tipo di dati restituiti: Boolean

In Qlik Sense, il valore booleano vero è rappresentato da -1 e il valore falso è rappresentato da 0.

Argomenti

| Argomento | Descrizione |
| --- | --- |
| data e ora | La data da confrontare con `base_date`. |
| base\_date | La data utilizzata per valutare il mese. È importante notare che `base_date` può essere qualsiasi giorno entro un mese. |
| period\_no | Il mese può essere differito mediante `period_no`. `period_no` è un numero intero, in cui il valore 0 indica il mese che contiene `base_date`. I valori negativi di `period_no` indicano i mesi precedenti, mentre i valori positivi indicano i mesi successivi. |

## Impostazioni locali

Se non diversamente specificato, gli esempi di questo argomento utilizzano il seguente formato di data: MM/DD/YYYY. Il formato della data viene specificato nell'istruzione `SET DateFormat` nello script di caricamento dei dati. La formattazione predefinita della data potrebbe essere diversa nel proprio sistema, a causa delle impostazioni regionali e di altri fattori. È possibile modificare i formati degli esempi seguenti in base alle proprie esigenze. In alternativa, è possibile modificare i formati nel proprio script di caricamento per adattarli a questi esempi. Per ulteriori informazioni, vedere [Modifica delle impostazioni internazionali per applicazioni e script](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

Le impostazioni regionali predefinite nelle applicazioni si basano sul profilo utente. Queste impostazioni di formato regionale non riguardano la lingua visualizzata nell'interfaccia utente Qlik Cloud. Qlik Cloud verrà visualizzato nella stessa lingua del browser utilizzato.

Se si è un creatore di applicazioni, è possibile impostare la regione predefinita per le applicazioni che si creano. Per ulteriori informazioni, vedere [Regolazione delle impostazioni internazionali preferite per la creazione di app e script in Qlik Cloud Analytics](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

Esempi di funzioni

| Esempio | Risultato |
| --- | --- |
| ` inmonth ('25/01/2013', '01/01/2013', 0)  ` | Restituisce True |
| `inmonth('25/01/2013', '23/04/2013', 0)` | Restituisce False |
| ` inmonth ('25/01/2013', '01/01/2013', -1)  ` | Restituisce False |
| ` inmonth ('25/12/2012', '17/01/2013', -1)  ` | Restituisce True |

## Esempio 1 – Nessun argomento aggiuntivo

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

#### Script di caricamento e risultati

Panoramica

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

Lo script di caricamento contiene:

* Un set di dati contenente un insieme di transazioni per la prima metà del 2022.

* Un'istruzione di caricamento precedente con una variabile aggiuntiva, '`in_month`', che determina se le transazioni sono state effettuate nel mese di aprile.

Script di caricamento

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

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

* `date`
* `in_month`

Esempi di funzioni

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

Il campo 'in\_month' viene creato nell'istruzione di caricamento precedente mediante l'uso della funzione inmonth() e trasferendo il campo della data, una data con hard coding per il primo aprile `base_date` e un `period_no` di `0` come argomenti della funzione.``

`base_date` identifica il mese che restituirà un risultato booleano TRUE. Pertanto, tutte le transazioni avvenute ad aprile restituiscono il valore TRUE, che viene convalidato nella tabella dei risultati.

## Esempio 2 – period\_no

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

#### Script di caricamento e risultati

Panoramica

Vengono utilizzati lo stesso set di dati e lo stesso scenario del primo esempio.

Tuttavia, in questo esempio, bisogna creare un campo, "`2_months_prior`", che determina se le transazioni sono state effettuate due mesi prima di aprile.

Script di caricamento

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

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

* `date`
* `2_months_prior`

Esempi di funzioni

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

L'utilizzo di -2 come argomento `period_no` nella funzione `inmonth()` sposta il mese definito dall'argomento `base_date` due mesi prima. In questo esempio, il mese definito viene cambiato da aprile a febbraio.

Pertanto, qualsiasi transazione avvenuta a febbraio restituirà un risultato booleano TRUE.

## Esempio 3 - Oggetto grafico

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

#### Script di caricamento ed espressione del

Panoramica

Vengono utilizzati lo stesso set di dati e lo stesso scenario del primo esempio.

Tuttavia, in questo esempio, il set di dati è invariato e viene caricato nell'applicazione. Il calcolo che determina se le transazioni sono avvenute tra ad aprile viene creato come misura in un oggetto grafico dell'applicazione.

Script di caricamento

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

Oggetto grafico

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere questo campo come dimensione:

`date`

Per calcolare se una transazione è avvenuta ad aprile, creare la seguente misura:

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

Risultati

Esempi di funzioni

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

## Esempio 4 – Scenario

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

#### Script di caricamento e risultati

Panoramica

In questo esempio, un set di dati è caricato in una tabella denominata "`Products`". La tabella contiene i seguenti campi:

* ID prodotto

* Data di produzione

* Prezzo di costo

A causa di un errore dell'attrezzatura, i prodotti fabbricati nel mese di luglio 2022 erano difettosi. Il problema è stato risolto il 27 luglio 2022.

L'utente finale desidera un grafico che visualizzi, per mese, lo stato dei prodotti fabbricati "difettosi" (valore booleano TRUE) o "non difettosi" (valore booleano FALSE), oltre al il costo dei prodotti fabbricati quel mese.

Script di caricamento

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

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere questo campo come dimensione:

`=monthname(manufacture_date)`

Creare le seguenti misure:

* `=sum(cost_price)`

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

1. Impostare la misura Formattazione numero su Denaro.

2. In Aspetto, disattivare Totals.

Tabella dei risultati

| monthname(manufacture\_date) | =if(only(inmonth(manufacture\_date,makedate(2022,07,01),0)),'Defective','Faultless') | =sum(cost\_price) |
| --- | --- | --- |
| Gen 2022 | Non difettoso | $54.40 |
| Feb 2022 | Non difettoso | $145.69 |
| Mar 2022 | Non difettoso | $53.80 |
| Apr 2022 | Non difettoso | $82.06 |
| Mag 2022 | Non difettoso | $127.60 |
| Giu 2022 | Non difettoso | $141.82 |
| Lug 2022 | Difettoso | $214.64 |
| Ago 2022 | Non difettoso | $147.46 |
| Set 2022 | Non difettoso | $84.21 |
| Ott 2022 | Non difettoso | USD 163.91 |

La funzione `inmonth()` restituisce un valore booleano quando valuta le date di produzione di ciascun prodotto. Per qualsiasi prodotto fabbricato nel mese di luglio 2022, la funzione `inmonth()` restituisce un valore booleano TRUE e contrassegna i prodotti come "difettosi". I prodotti che restituiscono un valore FALSE, e che quindi non sono stati fabbricati a luglio, vengono contrassegnati come "non difettosi".