monthsend - script- en diagramfunctie
Deze functie retourneert een waarde die overeenkomt met de tijdstempel van de laatste milliseconde van de periode van een maand, twee maanden, kwartaal, vier maanden of half jaar die een basisdatum bevat. Het is tevens mogelijk om de tijdstempel voor het eind van een voorafgaande of volgende tijdsperiode te bepalen. De standaarduitvoernotatie is de DateFormat die is ingesteld in het script.
Syntaxis:
MonthsEnd(n_months, date[, period_no [, first_month_of_year]])
Retourgegevenstypen: dual
Argument | Beschrijving |
---|---|
n_months | Het aantal maanden dat de periode definieert. Een geheel getal of uitdrukking die wordt herleid tot een geheel getal dat een van de volgende waarden moet hebben: 1 (equivalent aan de functie inmonth()), 2 (2 maanden), 3 (equivalent aan de functie inquarter()), 4 (tertiaal) of 6 (half jaar). |
date | De te evalueren datum of tijdstempel. |
period_no | De periode kan worden verschoven met period_no, een geheel getal of een uitdrukking die wordt herleid tot een geheel getal, waarbij de waarde 0 de periode aangeeft die base_date bevat. Negatieve waarden in period_no geven voorafgaande perioden aan en positieve waarden geven volgende perioden aan. |
first_month_of_year |
Als u wilt werken met (boek)jaren die niet in januari beginnen, geeft u een waarde op tussen 2 en 12 in first_month_of_year. |
De functie monthsend() verdeelt het jaar in segmenten op basis van het opgegeven n_months-argument. De functie bekijkt vervolgens in welk segment elke opgegeven datum valt en retourneert de laatste milliseconde van dat segment in datumnotitie. De functie kan de eindtijdstempel retourneren van voorgaande of volgende segmenten en kan de eerste maand van het jaar opnieuw instellen.
De volgende segmenten van het jaar zijn beschikbaar in de functie als n_month-argumenten:
Periode | Aantal maanden |
---|---|
maandelijks | 1 |
tweemaandelijks | 2 |
kwartaal | 3 |
tertiaal | 4 |
halfjaarlijks | 6 |
Wanneer gebruiken
De monthsend()-functie wordt gebruikt als onderdeel van een uitdrukking als de gebruiker wil dat in de berekening het deel van de maand wordt gebruikt dat al is geweest. De gebruiker heeft de mogelijkheid om met gebruik van een variabele, de gewenste periode te selecteren. De monthsend()-functie kan bijvoorbeeld een invoervariabele geven waarmee de gebruiker de totale hoeveelheid rente kan berekenen die nog niet is opgebouwd gedurende de maand, het kwartaal of het halve jaar.
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.
Voorbeeld | Resultaat |
---|---|
monthsend(4, '07/19/2013') | Retourneert 08/31/2013. |
monthsend(4, '10/19/2013', -1) | Retourneert 08/31/2013. |
monthsend(4, '10/19/2013', 0, 2) | Retourneert 01/31/2014. Omdat het begin van het jaar maand 2 wordt. |