Questa funzione restituisce un valore corrispondente a un indicatore temporale recante il primo millisecondo del mese, del bimestre, del trimestre, del quadrimestre o del semestre contenente una data di base. È inoltre possibile individuare l'indicatore temporale per un periodo di tempo precedente o successivo.Il formato di output predefinito è il formato DateFormat impostato nello script.
La funzione monthsstart() divide l'anno in segmenti in base all'argomento n_months fornito. Quindi valuta in quale segmento rientra ogni data fornita e restituisce il primo millisecondo, in formato data, di quel segmento. La funzione offre anche la possibilità di restituire il timestamp iniziale dai segmenti precedenti o successivi, oltre a ridefinire qual è il primo mese dell'anno.
I seguenti segmenti dell'anno sono disponibili nella funzione come argomenti di n_month :
Possibili argomenti di n_month
Periodi
Numero di mesi
mese
1
bimestre
2
trimestre
3
quattro mesi
4
semestre
6
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).
date
La data o la data e ora da valutare.
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.
Casi di utilizzo
La funzione monthsstart() viene comunemente utilizzata come parte di un'espressione quando l'utente desidera che il calcolo utilizzi la frazione di un periodo non ancora trascorso. Questo potrebbe essere utilizzato, ad esempio, per fornire una variabile di input che consenta all'utente di calcolare il totale degli interessi accumulati fino a quel momento nel mese, nel trimestre o nel semestre.
Esempi di funzioni
Esempio
Risultato
monthsstart(4, '10/19/2013')
Restituisce 09/01/2013.
monthsstart(4, '10/19/2013, -1)
Restituisce 05/01/2013.
monthsstart(4, '10/19/2013', 0, 2
)
Restituisce 10/01/2013, poiché l'inizio dell'anno corrisponde al mese 2.
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.
Le impostazioni regionali predefinite delle app si basano sulle impostazioni regionali del sistema del computer o del server in cui risulta installato Qlik Sense. Se il server Qlik Sense a cui si accede è impostato in Svezia, l'editor caricamento dati utilizzerà le impostazioni regionali svedesi per date, ora e valuta. Queste impostazioni di formato regionale non riguardano la lingua visualizzata nell'interfaccia utente Qlik Sense. Qlik Sense verrà visualizzato nella stessa lingua del browser utilizzato.
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, caricato in una tabella denominata Transactions.
Il campo della data fornito nel formato della variabile di sistema DateFormat (MM/GG/AAAA).
La creazione di un campo, bi_monthly_start, che raggruppa le transazioni in segmenti bimestrali e restituisce il timestamp iniziale del segmento per ogni transazione.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
date
bi_monthly_start
bi_monthly_start_timestamp
Tabella dei risultati
date
bi_monthly_start
bi_monthly_start_timestamp
2/19/2022
01/01/2022
1/1/2022 12:00:00 AM
3/7/2022
03/01/2022
3/1/2022 12:00:00 AM
3/30/2022
03/01/2022
3/1/2022 12:00:00 AM
4/5/2022
03/01/2022
3/1/2022 12:00:00 AM
4/16/2022
03/01/2022
3/1/2022 12:00:00 AM
5/1/2022
05/01/2022
5/1/2022 12:00:00 AM
5/7/2022
05/01/2022
5/1/2022 12:00:00 AM
5/22/2022
05/01/2022
5/1/2022 12:00:00 AM
6/15/2022
05/01/2022
5/1/2022 12:00:00 AM
6/26/2022
05/01/2022
5/1/2022 12:00:00 AM
7/9/2022
07/01/2022
7/1/2022 12:00:00 AM
7/22/2022
07/01/2022
7/1/2022 12:00:00 AM
7/23/2022
07/01/2022
7/1/2022 12:00:00 AM
7/27/2022
07/01/2022
7/1/2022 12:00:00 AM
8/2/2022
07/01/2022
7/1/2022 12:00:00 AM
8/8/2022
07/01/2022
7/1/2022 12:00:00 AM
8/19/2022
07/01/2022
7/1/2022 12:00:00 AM
9/26/2022
09/01/2022
9/1/2022 12:00:00 AM
10/14/2022
09/01/2022
9/1/2022 12:00:00 AM
10/29/2022
09/01/2022
9/1/2022 12:00:00 AM
Il campo bi_monthly_start viene creato nell'istruzione LOAD precedente utilizzando la funzione monthsstart(). Il primo argomento fornito è 2, dividendo l'anno in segmenti bimestrali. Il primo argomento identifica il campo da valutare.
La transazione 8195 avviene il 22 maggio. La funzione monthsstart() divide inizialmente l'anno in segmenti bimestrali. La transazione 8195 rientra nel segmento tra il 1 maggio e il 30 giugno. Pertanto, la funzione restituisce il primo millisecondo di questo segmento, il 1° maggio 2022 alle ore 12:00:00 AM.
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:
Vengono utilizzati lo stesso set di dati e lo stesso scenario del primo esempio.
La creazione di un campo, 'prev_bi_monthly_start', che restituisce il primo millisecondo del segmento bimestrale prima che avvenga la transazione.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
date
prev_bi_monthly_start
prev_bi_monthly_start_timestamp
Tabella dei risultati
date
prev_bi_monthly_start
prev_bi_monthly_start_timestamp
2/19/2022
11/01/2021
1/11/2021 12:00:00 AM
3/7/2022
01/01/2022
1/1/2022 12:00:00 AM
3/30/2022
01/01/2022
1/1/2022 12:00:00 AM
4/5/2022
01/01/2022
1/1/2022 12:00:00 AM
4/16/2022
01/01/2022
1/1/2022 12:00:00 AM
5/1/2022
03/01/2022
3/1/2022 12:00:00 AM
5/7/2022
03/01/2022
3/1/2022 12:00:00 AM
5/22/2022
03/01/2022
3/1/2022 12:00:00 AM
6/15/2022
03/01/2022
3/1/2022 12:00:00 AM
6/26/2022
03/01/2022
3/1/2022 12:00:00 AM
7/9/2022
05/01/2022
5/1/2022 12:00:00 AM
7/22/2022
05/01/2022
5/1/2022 12:00:00 AM
7/23/2022
05/01/2022
5/1/2022 12:00:00 AM
7/27/2022
05/01/2022
5/1/2022 12:00:00 AM
8/2/2022
05/01/2022
5/1/2022 12:00:00 AM
8/8/2022
05/01/2022
5/1/2022 12:00:00 AM
8/19/2022
05/01/2022
5/1/2022 12:00:00 AM
9/26/2022
07/01/2022
7/1/2022 12:00:00 AM
10/14/2022
07/01/2022
7/1/2022 12:00:00 AM
10/29/2022
07/01/2022
7/1/2022 12:00:00 AM
Utilizzando -1 come argomento period_no della funzione monthsstart(), dopo aver inizialmente diviso un anno in segmenti bimestrali, la funzione restituisce il primo millisecondo del segmento bimestrale precedente al momento in cui avviene una transazione.
La transazione 8195 è stata effettuata nel segmento tra maggio e giugno. Pertanto, il segmento bimestrale precedente era compreso tra il 1° marzo e il 30 aprile, quindi la funzione restituisce il primo millisecondo di questo segmento, il 1° marzo 2022 alle 12:00:00.
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:
Vengono utilizzati lo stesso set di dati e lo stesso scenario del primo esempio.
La creazione di un campo, bi_monthly_start, che raggruppa le transazioni in segmenti bimestrali e restituisce il timestamp iniziale del set per ogni transazione.
Tuttavia, in questo esempio, dobbiamo anche impostare aprile come primo mese dell'anno finanziario.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
date
bi_monthly_start
bi_monthly_start_timestamp
Tabella dei risultati
date
bi_monthly_start
bi_monthly_start_timestamp
2/19/2022
02/01/2022
2/1/2022 12:00:00 AM
3/7/2022
02/01/2022
2/1/2022 12:00:00 AM
3/30/2022
02/01/2022
2/1/2022 12:00:00 AM
4/5/2022
04/01/2022
4/1/2022 12:00:00 AM
4/16/2022
04/01/2022
4/1/2022 12:00:00 AM
5/1/2022
04/01/2022
4/1/2022 12:00:00 AM
5/7/2022
04/01/2022
4/1/2022 12:00:00 AM
5/22/2022
04/01/2022
4/1/2022 12:00:00 AM
6/15/2022
06/01/2022
6/1/2022 12:00:00 AM
6/26/2022
06/01/2022
6/1/2022 12:00:00 AM
7/9/2022
06/01/2022
6/1/2022 12:00:00 AM
7/22/2022
06/01/2022
6/1/2022 12:00:00 AM
7/23/2022
06/01/2022
6/1/2022 12:00:00 AM
7/27/2022
06/01/2022
6/1/2022 12:00:00 AM
8/2/2022
08/01/2022
8/1/2022 12:00:00 AM
8/8/2022
08/01/2022
8/1/2022 12:00:00 AM
8/19/2022
08/01/2022
8/1/2022 12:00:00 AM
9/26/2022
08/01/2022
8/1/2022 12:00:00 AM
10/14/2022
10/01/2022
10/1/2022 12:00:00 AM
10/29/2022
10/01/2022
10/1/2022 12:00:00 AM
Utilizzando 4 come argomento first_month_of_year nella funzione monthsstart(), la funzione inizia l'anno il 1 aprile, quindi divide l'anno in segmenti bimestrali: Apr-May,Jun-Jul,Aug-Sep,Oct-Nov,Dec-Jan,Feb-Mar.
La transazione 8195 è avvenuta il 22 maggio e rientra nel segmento tra il 1 aprile e il 31 maggio. Pertanto, la funzione restituisce il primo millisecondo di questo segmento, il 1° aprile 2022 alle ore 12:00:00 AM.
Esempio 4 – Esempio di oggetto grafico
Panoramica
Aprire l'editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova scheda.
Lo script di caricamento contiene lo stesso set di dati e lo stesso scenario del primo esempio.
Tuttavia, in questo esempio, il set di dati invariato viene caricato nell'applicazione. Il calcolo che raggruppa le transazioni in segmenti bimestrali e restituisce il timestamp iniziale del set per ogni transazione viene creato come misura in un oggetto grafico dell'applicazione.
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere questo campo come dimensione: date.
Creare le seguenti misure:
=monthsstart(2,date)
=timestamp(monthsstart(2,date))
Questi calcoli recuperano il timestamp iniziale del segmento bimestrale in cui ha avuto luogo ciascuna transazione.
Tabella dei risultati
date
=monthsstart(2,date)
=timestamp(monthsstart(2,date))
9/26/2022
09/01/2022
9/1/2022 12:00:00 AM
10/14/2022
09/01/2022
9/1/2022 12:00:00 AM
10/29/2022
09/01/2022
9/1/2022 12:00:00 AM
7/9/2022
07/01/2022
7/1/2022 12:00:00 AM
7/22/2022
07/01/2022
7/1/2022 12:00:00 AM
7/23/2022
07/01/2022
7/1/2022 12:00:00 AM
7/27/2022
07/01/2022
7/1/2022 12:00:00 AM
8/2/2022
07/01/2022
7/1/2022 12:00:00 AM
8/8/2022
07/01/2022
7/1/2022 12:00:00 AM
8/19/2022
07/01/2022
7/1/2022 12:00:00 AM
5/1/2022
05/01/2022
5/1/2022 12:00:00 AM
5/7/2022
05/01/2022
5/1/2022 12:00:00 AM
5/22/2022
05/01/2022
5/1/2022 12:00:00 AM
6/15/2022
05/01/2022
5/1/2022 12:00:00 AM
6/26/2022
05/01/2022
5/1/2022 12:00:00 AM
3/7/2022
03/01/2022
3/1/2022 12:00:00 AM
3/30/2022
03/01/2022
3/1/2022 12:00:00 AM
4/5/2022
03/01/2022
3/1/2022 12:00:00 AM
4/16/2022
03/01/2022
3/1/2022 12:00:00 AM
2/19/2022
01/01/2022
1/1/2021 12:00:00 AM
La transazione 8195 è avvenuta il 22 maggio. La funzione monthsstart() divide inizialmente l'anno in segmenti bimestrali. La transazione 8195 rientra nel segmento tra il 1 maggio e il 30 giugno. Pertanto, la funzione restituisce il primo millisecondo di questo segmento, in data 01/05/2022 alle ore 12:00:00 AM.
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 contenente un insieme di saldi di prestiti, che viene caricato in una tabella chiamata Loans.
Dati costituiti dagli ID dei prestiti, dal saldo all'inizio del mese e dal tasso di interesse semplice annuo applicato a ciascun prestito.
L'utente finale desidera un oggetto grafico che visualizzi, in base all'ID del prestito, gli interessi correnti maturati su ciascun prestito per un periodo a scelta. L'esercizio finanziario inizia a gennaio.
All'inizio dello script di caricamento, viene creata una variabile (vPeriod) che sarà collegata al controllo di input della variabile. Quindi, configurare la variabile come oggetto personalizzato nel foglio.
Procedere come indicato di seguito:
Nel pannello delle risorse, fare clic su Oggetti personalizzati.
Selezionare Includi dashboard Qlik e creare un oggetto Input variabile.
Immettere un titolo per l'oggetto grafico.
In Variabile, selezionare vPeriod come Nome e impostare l'oggetto in modo che venga visualizzato come elenco a discesa.
In Valori, configurare l'oggetto in modo che utilizzi valori dinamici. Inserire quanto segue: ='1~month|2~bi-month|3~quarter|4~tertial|6~half-year'
Quindi, creare la tabella dei risultati.
Procedere come indicato di seguito:
Creare una nuova tabella. Aggiungere i seguenti campi come dimensioni:
employee_id
employee_name
Creare una misura per calcolare gli interessi accumulati:
Impostare la Formattazione numero della misura su Denaro. Fare clic su Termina modifica. È ora possibile modificare i dati mostrati nella tabella regolando il segmento temporale nell'oggetto della variabile.
Ecco come apparirà la tabella dei risultati quando sarà selezionata l'opzione del periodo month:
La funzione monthsstart(), utilizzando l'input dell'utente come primo argomento e la data odierna come secondo argomento, restituisce la data di inizio del periodo scelto dall'utente. Sottraendo tale risultato dalla data corrente, l'espressione restituisce il numero di giorni trascorsi fino a ora in questo periodo.
Questo valore viene quindi moltiplicato per il tasso di interesse e diviso per 365, per restituire il tasso di interesse effettivo incorso per questo periodo. Il risultato viene poi moltiplicato per il saldo iniziale del prestito per ottenere gli interessi maturati fino a ora in questo periodo.
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!