Questa funzione consente di verificare se un indicatore temporale cade nello stesso mese, bimestre, trimestre, quadrimestre o semestre di una data base. È inoltre possibile stabilire se l'indicatore temporale ricade all'interno di un periodo di tempo precedente o successivo.
In Qlik Sense, il valore booleano vero è rappresentato da -1 e il valore falso è rappresentato da 0.
La funzione inmonths() divide l'anno in segmenti in base all'argomento n_months fornito. Quindi determina se ogni timestamp valutato rientra nello stesso segmento dell'argomento base_date. Se, invece, viene fornito un argomento period_no, la funzione determina se i timestamp cadono in un periodo precedente o successivo al periodo base_date.
I seguenti segmenti dell'anno sono disponibili nella funzione come argomenti n_month.
Argomenti n_month
Periodo
Numero di mesi
mese
1
bimestre
2
trimestre
3
quattro mesi
4
semestre
6
Casi di utilizzo
La funzione inmonths() restituisce un risultato booleano. In genere, questo tipo di funzione viene utilizzato come condizione in un file if expression. Utilizzando la funzione inmonths(), è possibile selezionare il periodo che si desidera valutare. Ad esempio, l'utente può identificare i prodotti fabbricati nel mese, trimestre o semestre di un determinato periodo.
Tipo di dati restituiti: Booleano
In Qlik Sense, il valore booleano vero è rappresentato da -1 e il valore falso è rappresentato da 0.
Argomenti
Argomento
Descrizione
n_months
Il numero di mesi che definisce il periodo. Un numero intero o un'espressione la cui risoluzione è un numero intero corrispondente a: 1 (equivalente alla funzione inmonth()), 2 (bimestre), 3 (equivalente alla funzione inquarter()), 4 (quadrimestre) o 6 (semestre).
timestamp
La data da confrontare con base_date.
base_date
La data utilizzata per valutare il periodo.
period_no
Il periodo può essere differito mediante period_no, un numero intero, o un'espressione la cui risoluzione è un numero intero, in cui il valore 0 indica il periodo che contiene base_date. I valori negativi di period_no indicano i periodi precedenti, mentre i valori positivi indicano i periodi successivi.
first_month_of_year
Se si intende utilizzare anni (fiscali) che non iniziano a gennaio, indicare un valore compreso tra 2 e 12 in first_month_of_year.
È possibile utilizzare i seguenti valori per impostare il primo mese dell'anno nell'argomento first_month_of_year:
valori first_month_of_year
Month
Valore
Febbraio
2
March
3
April
4
May
5
June
6
July
7
August
8
September
9
October
10
Novembre
11
December
12
Impostazioni locali
Se non diversamente specificato, gli esempi di questo argomento utilizzano il seguente formato di data: MM/GG/AAAA. 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 la creazione di app e script.
Le impostazioni regionali predefinite nelle app 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.
Restituisce TRUE. Perché il valore del timestamp, 25/01/2013, si trova nel periodo di quattro mesi dal 01/01/2013 al 30/04/2013, in cui si trova il valore di base_date, resta 25/04/2013.
inmonths(4, '05/25/2013', '04/25/2013', 0)
Restituisce FALSE. Perché il 25/05/2013 non rientra nello stesso periodo dell'esempio precedente.
inmonths(4, '11/25/2012', '02/01/2013', -1 )
Restituisce TRUE. Poiché il valore di period_no, -1, sposta il periodo di ricerca indietro di un periodo di quattro mesi (il valore di n-mesi), il che rende il periodo di ricerca dal 01/09/2012 al 31/12/2012.
inmonths(4, '05/25/2006', '03/01/2006', 0, 3)
Restituisce TRUE. Perché il valore di first_month_of_year è impostato su 3, che rende il periodo di ricerca dal 01/03/2006 al 30/07/2006 invece che dal 01/01/2006 al 30/04/2006.
Esempio 1 - Nessun argomento aggiuntivo
Panoramica
Aprire l'editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova scheda.
Lo script di caricamento contiene:
Un set di dati contenente un insieme di transazioni per il 2022 viene caricato in una tabella denominata 'Transactions'.
Un caricamento precedente con una variabile aggiuntiva, 'in_months', che determina quali transazioni hanno avuto luogo nello stesso trimestre del 15 maggio 2022.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
date
in_months
Tabella dei risultati
date
in_months
2/19/2022
0
3/7/2022
0
3/30/2022
0
4/5/2022
-1
4/16/2022
-1
5/1/2022
-1
5/7/2022
-1
5/22/2022
-1
6/15/2022
-1
6/26/2022
-1
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
Il campo 'in_months' viene creato nell'istruzione di caricamento precedente utilizzando la funzione inmonths(). Il primo argomento fornito è 3, che divide l'anno in segmenti di trimestre. Il secondo argomento identifica il campo da valutare, in questo esempio il campo data. Il terzo argomento è una data con hard coding per il 15 maggio, che è base_date e period_no di 0 è l'argomento finale.
Maggio rientra nel secondo trimestre dell'anno. Pertanto, qualsiasi transazione effettuata tra il 1° aprile e il 30 giugno restituirà un risultato booleano pari a TRUE. Questo viene convalidato nella tabella dei risultati.
Esempio 2 - period_no
Panoramica
Aprire l'editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova scheda.
Lo script di caricamento contiene:
Un set di dati contenente un insieme di transazioni per il 2022 viene caricato in una tabella denominata 'Transactions'.
Un caricamento precedente con una variabile aggiuntiva, 'previous_quarter', che determina se le transazioni hanno avuto luogo nel trimestre precedente al 15 maggio 2022.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
date
previous_quarter
Tabella dei risultati
date
trimestre precedente
2/19/2022
-1
3/7/2022
-1
3/30/2022
-1
4/5/2022
0
4/16/2022
0
5/1/2022
0
5/7/2022
0
5/22/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 funzione valuta se le transazioni si sono verificate nel primo trimestre dell'anno utilizzando -1 come argomento period_no della funzione inmonths(). Il 15 maggio è il base_date e ricade nel secondo trimestre dell'anno (aprile-giugno).
Pertanto, qualsiasi transazione che si verifichi tra gennaio e marzo restituirà un risultato booleano di TRUE.
Esempio 3 - first_month_of_year
Panoramica
Aprire l'editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova scheda.
Lo script di caricamento contiene:
Un set di dati contenente un insieme di transazioni per il 2022 viene caricato in una tabella denominata 'Transactions'.
Un caricamento precedente con una variabile aggiuntiva, 'in_months', che determina quali transazioni hanno avuto luogo nello stesso trimestre del 15 maggio 2022.
In questo esempio, il criterio organizzativo prevede che marzo sia il primo mese dell'anno finanziario.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
date
in_months
Tabella dei risultati
date
in_months
2/19/2022
0
3/7/2022
-1
3/30/2022
-1
4/5/2022
-1
4/16/2022
-1
5/1/2022
-1
5/7/2022
-1
5/22/2022
-1
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
Utilizzando 3 come argomento first_month_of_year nella funzione inmonths(), la funzione inizia l'anno il 1° marzo. La funzione inmonths() divide quindi l'anno in trimestri: Mar-Mag, Giu-Ago, Set-Nov, Dic-Feb. Pertanto, il 15 maggio cade nel primo trimestre dell'anno (marzo-maggio).
Qualsiasi transazione che si verifica in questi mesi restituirà un risultato booleano pari a TRUE.
Esempio 4 – Esempio di oggetto grafico
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 nello stesso trimestre del 15 maggio 2022 viene creato come misura in un grafico dell'app.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere questo campo come dimensione:
date
Per calcolare se le transazioni sono avvenute nello stesso trimestre del 15 maggio, creare la seguente misura:
=inmonths(3,date,'05/15/2022', 0)
Tabella dei risultati
date
=inmonths(3,date,'05/15/2022', 0)
2/19/2022
0
3/7/2022
0
3/30/2022
0
4/5/2022
-1
4/16/2022
-1
5/1/2022
-1
5/7/2022
-1
5/22/2022
-1
6/15/2022
-1
6/26/2022
-1
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
Il campo 'in_months' viene creato nel grafico mediante l'utilizzo della funzione inmonths(). Il primo argomento fornito è 3, che divide l'anno in segmenti di trimestre. Il secondo argomento identifica il campo da valutare, in questo esempio il campo data. Il terzo argomento è una data con hard coding per il 15 maggio, che è base_date e period_no di 0 è l'argomento finale.
Maggio rientra nel secondo trimestre dell'anno. Pertanto, qualsiasi transazione effettuata tra il 1° aprile e il 30 giugno restituirà un risultato booleano pari a TRUE. Questo viene convalidato nella tabella dei risultati.
Esempio 5 - Scenario
Panoramica
Aprire l'editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova scheda.
Lo script di caricamento contiene:
Un set di dati che viene caricato in una tabella chiamata 'Products'.
La tabella contiene i seguenti campi:
ID prodotto
tipo di prodotto
data di produzione
prezzo di costo
L'utente finale desidera un grafico che visualizzi, per tipologia di prodotto, il costo dei prodotti fabbricati nel primo segmento del 2021. L'utente vorrebbe poter definire la lunghezza di questo segmento.
La funzione inmonths() utilizza l'input dell'utente come argomento per definire la dimensione del segmento iniziale dell'anno. La funzione inserisce la data di produzione di ciascun prodotto come secondo argomento della funzione inmonths(). Utilizzando il 1° gennaio come terzo argomento della funzione inmonths(), i prodotti con date di produzione che cadono nel segmento iniziale dell'anno restituiranno un valore booleano di TRUE e quindi la funzione somma aggiungerà i costi di tali prodotti.
Hai trovato utile questa pagina?
Se riscontri problemi con questa pagina o con il suo contenuto – un errore di battitura, un passaggio mancante o un errore tecnico – facci sapere come possiamo migliorare!