inmonthstodate - script- en diagramfunctie
Deze functie bepaalt of een tijdstempel binnen het gedeelte van een periode van de maand, twee maanden, kwartaal, tertiaal of half jaar tot en met de laatste milliseconde van base_date valt. Het is tevens mogelijk om te bepalen of de tijdstempel binnen een voorafgaande of volgende tijdsperiode valt.
Syntaxis:
InMonths (n_months, timestamp, base_date, period_no[, first_month_of_year ])
Retourgegevenstypen: Booleaanse waarde
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). |
timestamp | De datum die u wilt vergelijken met base_date. |
base_date | Datum op basis waarvan de periode wordt geëvalueerd. |
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. |
In de inmonthstodate()-functie functioneert de base_date als het eindpunt van een specifiek jaarsegment waar het onderdeel van is.
Als het jaar bijvoorbeeld in drie segmenten is verdeeld en de base_date 15 mei was, zou iedere tijdstempel tussen het begin van januari en het eind van april een booleaans resultaat FALSE retourneren. Datums tussen 1 mei en 15 mei zouden TRUE retourneren. De rest van het jaar zou FALSE retourneren.
De volgende segmenten van het jaar zijn beschikbaar in de functie als n_month-argumenten:
Periode | Aantal maanden |
---|---|
maandelijks | 1 |
tweemaandelijks | 2 |
kwartaal | 3 |
viermaandelijks | 4 |
halfjaarlijks | 6 |
Wanneer gebruiken
De functie inmonthstodate() retourneert een booleaanse waarde. Dit type functie wordt doorgaans gebruikt als voorwaarde in een if expression. Door de inmonthstodate()-functie te gebruiken, kunt u de periode selecteren die u wilt laten evalueren. Bijvoorbeeld: door een invoervariabele te geven waarmee de gebruiker producten kan identificeren die in de maand, het kwartaal of de jaarhelft van een periode tot een bepaalde datum zijn geproduceerd.
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. Ga voor meer informatie naar Regionale instellingen voor apps en scripts aanpassen.
Standaard landinstellingen van de app zijn gebaseerd op het gebruikersprofiel. Deze landinstellingen voor indelingen zijn niet gerelateerd aan de taal die wordt weergegeven in de gebruikersinterface van Qlik Cloud. Qlik Cloud wordt weergegeven in dezelfde taal als de browser die u gebruikt.
Als u een app-ontwikkelaar bent, kunt u de standaardregio instellen voor apps die u maakt. Ga voor meer informatie naar Instellen van uw voorkeur voor regionale instellingen voor het maken van apps en scripts in Qlik Cloud Analyse.
Voorbeeld | Resultaat |
---|---|
inmonthstodate(4, '01/25/2013', '04/25/2013', 0) | Retourneert True omdat de waarde van de timestamp, 01/25/2013, binnen de periode van vier maanden van 01/01/2013 tot het einde van 04/25/2013 ligt, waarin de waarde van base_date, 04/25/2013 ligt. |
inmonthstodate(4, '04/26/2013', '04/25/2006', 0) | Retourneert False, omdat 04/26/2013 buiten dezelfde periode als het voorafgaande voorbeeld ligt. |
inmonthstodate(4, '09/25/2005', '02/01/2006', -1) | Retourneert True, omdat de waarde van period_no, -1, de zoekperiode één periode van vier maanden (de waarde van n-months) terugschuift, waardoor de zoekperiode van 01/09/2005 t/m 02/01/2006 valt. |
inmonthstodate(4, '04/25/2006', '06/01/2006', 0, 3) | Retourneert True, omdat de waarde van first_month_of_year is ingesteld op 3, waardoor de zoekperiode van 03/01/2006 t/m 06/01/2006 valt in plaats van van 05/01/2006 t/m 06/01/2006. |