Deze functie retourneert een waarde die overeenkomt met een tijdstempel van de laatste milliseconde van de laatste dag van de maand die date bevat. De standaarduitvoernotatie is de DateFormat die is ingesteld in het script.
Syntaxis:
MonthEnd(date[, period_no])
Met andere woorden, de functie monthend() bepaalt in welke maand de datum valt. Hij retourneert vervolgens een tijdstempel, in datumnotatie, voor de laatste milliseconde van die maand.
Wanneer gebruiken
De functie monthend() wordt gebruikt als onderdeel van een uitdrukking als u wilt dat in de berekening een deel van de maand wordt gebruikt dat nog niet heeft plaatsgevonden. Bijvoorbeeld als u de totale rente wilt berekenen die nog niet is berekend gedurende de maand.
Retourgegevenstypen: dual
Argumenten
Argument
Beschrijving
date
De te evalueren datum of tijdstempel.
period_no
period_no is een geheel getal dat, indien het 0 is of wordt weggelaten, de maand aangeeft die date bevat. Negatieve waarden in period_no geven voorafgaande maanden aan en positieve waarden geven volgende maanden aan.
Landinstellingen
Tenzij anders aangegeven, wordt in de voorbeelden in dit onderwerp de volgende datumindeling gebruikt: MM/DD/JJJJ. De datumopmaak wordt opgegeven in de opdracht SET DateFormat in uw script voor het laden van gegevens. De standaard datumindeling is mogelijk anders op uw systeem vanwege landinstellingen en andere factoren. U kunt de indelingen in de voorbeelden wijzigen zodat deze aansluiten op uw behoeften. Of u kunt de indelingen in uw load-script wijzigen zodat ze overeenkomen met deze voorbeelden.
Standaard landinstellingen in apps zijn gebaseerd op de regionale systeeminstellingen van de computer of server waarop Qlik Sense is geïnstalleerd. Als de Qlik Sense-server die u gebruikt is ingesteld op Zweden, gebruikt de editor voor laden van gegevens de Zweedse landinstellingen voor datums, tijd en valuta. Deze landinstellingen voor indelingen zijn niet gerelateerd aan de taal die wordt weergegeven in de gebruikersinterface van Qlik Sense. Qlik Sense wordt weergegeven in dezelfde taal als de browser die u gebruikt.
Voorbeelden van functies
Voorbeeld
Resultaat
monthend('02/19/2012')
Retourneert 02/29/2012 23:59:59.
monthend('02/19/2001', -1)
Retourneert 01/31/2001 23:59:59.
Voorbeeld 1 – Basisvoorbeeld
Overzicht
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
Een gegevensverzameling met een set transacties voor 2022 wordt in de tabel Transactions geladen.
Een datumveld dat wordt weergegeven in de DateFormat-systeemvariabele met de notatie MM/DD/YYYY.
Een voorgaande load-instructie met:
De monthend()-functie die is ingesteld als het veld end_of_month.
De timestamp-functie die is ingesteld als het veld end_of_month_timestamp.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
id
date
end_of_month
end_of_month_timestamp
Resultatentabel
id
date
end_of_month
end_of_month_timestamp
8188
1/7/2022
01/31/2022
1/31/2022 11:59:59 PM
8189
1/19/2022
01/31/2022
1/31/2022 11:59:59 PM
8190
2/5/2022
02/28/2022
2/28/2022 11:59:59 PM
8191
2/28/2022
02/28/2022
2/28/2022 11:59:59 PM
8192
3/16/2022
03/31/2022
3/31/2022 11:59:59 PM
8193
4/1/2022
04/30/2022
4/30/2022 11:59:59 PM
8194
5/7/2022
05/31/2022
5/31/2022 11:59:59 PM
8195
5/16/2022
05/31/2022
5/31/2022 11:59:59 PM
8196
6/15/2022
06/30/2022
6/30/2022 11:59:59 PM
8197
6/26/2022
06/30/2022
6/30/2022 11:59:59 PM
8198
7/9/2022
07/31/2022
7/31/2022 11:59:59 PM
8199
7/22/2022
07/31/2022
7/31/2022 11:59:59 PM
8200
7/23/2022
07/31/2022
7/31/2022 11:59:59 PM
8201
7/27/2022
07/31/2022
7/31/2022 11:59:59 PM
8202
8/2/2022
08/31/2022
8/31/2022 11:59:59 PM
8203
8/8/2022
08/31/2022
8/31/2022 11:59:59 PM
8204
8/19/2022
08/31/2022
8/31/2022 11:59:59 PM
8205
9/26/2022
09/30/2022
9/30/2022 11:59:59 PM
8206
10/14/2022
10/31/2022
10/31/2022 11:59:59 PM
8207
10/29/2022
10/31/2022
10/31/2022 11:59:59 PM
Het end_of_month-veld wordt gemaakt in de voorafgaande load-instructie met behulp van de monthend()-functie en geeft het datumveld door als het argument van de functie.
De functie monthend() identificeert in welke maand de datumwaarde valt en retourneert een tijdstempel voor de laatste milliseconde van die maand.
Transactie 8192 vond plaats op 16 maart. De functie monthend() retourneert de laatste milliseconde van die maand, namelijk 31 maart om 11:59:59 PM.
Voorbeeld 2 – period_no
Overzicht
Dezelfde gegevensverzameling en het scenario uit het eerste voorbeeld worden gebruikt.
In dit voorbeeld wordt een veld gemaakt, previous_month_end, dat de tijdstempel voor het eind van de maand retourneert voordat de transactie plaatsvond.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
id
date
previous_month_end
previous_month_end_timestamp
Resultatentabel
id
date
previous_month_end
previous_month_end_timestamp
8188
1/7/2022
12/31/2021
12/31/2021 11:59:59 PM
8189
1/19/2022
12/31/2021
12/31/2021 11:59:59 PM
8190
2/5/2022
01/31/2022
1/31/2022 11:59:59 PM
8191
2/28/2022
01/31/2022
1/31/2022 11:59:59 PM
8192
3/16/2022
02/28/2022
2/28/2022 11:59:59 PM
8193
4/1/2022
03/31/2022
3/31/2022 11:59:59 PM
8194
5/7/2022
04/30/2022
4/30/2022 11:59:59 PM
8195
5/16/2022
04/30/2022
4/30/2022 11:59:59 PM
8196
6/15/2022
05/31/2022
5/31/2022 11:59:59 PM
8197
6/26/2022
05/31/2022
5/31/2022 11:59:59 PM
8198
7/9/2022
06/30/2022
6/30/2022 11:59:59 PM
8199
7/22/2022
06/30/2022
6/30/2022 11:59:59 PM
8200
7/23/2022
06/30/2022
6/30/2022 11:59:59 PM
8201
7/27/2022
06/30/2022
6/30/2022 11:59:59 PM
8202
8/2/2022
07/31/2022
7/31/2022 11:59:59 PM
8203
8/8/2022
07/31/2022
7/31/2022 11:59:59 PM
8204
8/19/2022
07/31/2022
7/31/2022 11:59:59 PM
8205
9/26/2022
08/31/2022
8/31/2022 11:59:59 PM
8206
10/14/2022
09/30/2022
9/30/2022 11:59:59 PM
8207
10/29/2022
09/30/2022
9/30/2022 11:59:59 PM
De monthend()-functie identificeert eerst de maand waarin de transacties plaatsvinden als een period_no van -1 wordt gebruikt als het offset-argument. Het verschuift dan naar een maand eerder en identificeert de laatste milliseconde van die maand.
Transactie 8192 vond plaats op 16 maart. De monthend()-functie stelt vast dat de maand voor de transactie februari was. Vervolgens wordt de laatste milliseconde van die maand geretourneerd: 28 februari om 11:59:59 PM.
Voorbeeld 3 – Diagramvoorbeeld
Overzicht
Dezelfde gegevensverzameling en het scenario uit het eerste voorbeeld worden gebruikt.
In dit voorbeeld is de gegevensverzameling niet gewijzigd en wordt in de app geladen. De berekening die een tijdstempel retourneert voor het einde van de maand waarin de transacties plaatsvonden is gemaakt als meting in een diagramobject van de app.
De monthend()-functie retourneert de einddatum van de huidige maand door de datum van vandaag als enige argument te gebruiken. Door vervolgens de datum van vandaag af te trekken van de einddatum van de maand, retourneert de uitdrukking het aantal resterende dagen in deze maand.
Deze waarde wordt vervolgens vermenigvuldigd met de gemiddelde dagelijkse onkostendeclaratie van elke werknemer om de geschatte waarde te berekenen van de declaraties die elke werknemer naar verwachting in de resterende maand zal indienen.
Was deze pagina nuttig?
Als u problemen ervaart op deze pagina of de inhoud onjuist is – een typfout, een ontbrekende stap of een technische fout – laat het ons weten zodat we dit kunnen verbeteren!