inmonthstodate - skript- och diagramfunktion
Med den här funktionen får vi reda på om en tidsmarkör finns inom delen av månaden, tvåmånadersperioden, kvartalet, fyramånadersperioden eller halvåret fram till och inklusive den sista millisekunden av base_date. Det går även att se om tidsmarkören finns inom en föregående eller senare tidsperiod.
Syntax:
InMonths (n_months, timestamp, base_date, period_no[, first_month_of_year ])
Returnerad datatyp: Boolesk
Argument | Beskrivning |
---|---|
n_months |
Antalet månader som definierar perioden. Ett heltal eller uttryck vars resultat blir ett heltal som ska vara antingen: 1 (motsvaras av inmonth()-funktionen), 2 (tvåmånadersperiod), 3 (motsvaras av inquarter()-funktionen), 4 (fyramånadersperiod) eller 6 (halvår). |
timestamp | Det datum du vill jämföra mot base_date. |
base_date | Datum som används för att utvärdera perioden. |
period_no |
Periodens startpunkt kan flyttas med period_no, ett heltal, eller ett uttryck som resulterar i ett heltal, där värdet 0 anger den period som innehåller base_date. Negativa värden i period_no anger föregående perioder och positiva värden anger efterföljande perioder. |
first_month_of_year |
Om du vill arbeta med (budget)år som inte börjar i januari kan du ange ett värde mellan 2 och 12 i first_month_of_year. |
I inmonthstodate()-funktionen fungerar base_date som slutpunkt för det aktuella årssegmentet som det ingår i.
Om året exempelvis delas upp i tredjedelssegment, och base_date var 15 maj skulle alla tidsmarkörer mellan början av januari och slutet av april returnera det booleska resultatet FALSE. Datum mellan 1 maj och 15 maj skulle returnera TRUE. Resten av året skulle returnera FALSE.
Följande segment av året är tillgängliga i funktionen som n_month-argument.
Period | Antal månader |
---|---|
månad | 1 |
två månader | 2 |
kvartal | 3 |
tertial | 4 |
halvår | 6 |
Användning
Funktionen inmonthstodate() returnerar ett booleskt resultat. Vanligtvis används denna typ av funktion som ett villkor i en if expression. Genom att använda inmonthstodate()-funktionen kan du välja den period som du vill utvärdera. Exempelvis, tillhandahålla en indatavariabel som låter användaren identifiera de produkter som tillverkats under en månad, ett kvartal eller ett halvår i en viss period, fram till ett visst datum.
Lokala inställningar
Om inget annat anges använder exemplen i detta ämne följande datumformat: MM/DD/ÅÅÅÅ. Datumformatet anges i SET DateFormat-satsen i datainläsningsskriptet. Förvald datumformatering kan vara annorlunda i ditt system, på grund av dina regionala inställningar och andra faktorer. Du kan ändra formaten i exemplen nedan så att det passar dina krav. Eller så kan du ändra formaten i ditt laddningsskript så att de matchar dessa exempel. Mer information finns i Ändra regioninställningar för appar och skript.
Regionala standardinställningar i appar baseras på användarprofilen. Dessa regionala formatinställningar är inte relaterade till språket som visas i Qlik Cloud användargränssnittet. Qlik Cloud kommer att visas på samma språk som webbläsaren du använder.
Om du skapar appar, kan du ange standardregionen för de appar du skapar. Mer information finns här Ställa in önskade regioninställningar för att skapa appar och skript i Qlik Cloud-analys.
Exempel | Resultat |
---|---|
inmonthstodate(4, '01/25/2013', '04/25/2013', 0) | Returnerar True, eftersom värdet för timestamp, 01/25/2013, befinner sig inom fyramånadersperioden 01/01/2013 till slutet av 04/25/2013, där värdet för base_date, 04/25/2013 finns. |
inmonthstodate(4, '04/26/2013', '04/25/2006', 0) | Returnerar False, eftersom 04/26/2013 är utanför samma period som i förra exemplet. |
inmonthstodate(4, '09/25/2005', '02/01/2006', -1) | Returnerar True, eftersom värdet för period_no, -1 flyttar sökperioden bakåt en period på fyra månader (värdet för n-months), vilket innebär att sökperioden är 01/09/2005 till 02/01/2006. |
inmonthstodate(4, '04/25/2006', '06/01/2006', 0, 3) | Returnerar True eftersom värdet för first_month_of_year är angett till 3, vilket innebär att sökperioden är 03/01/2006 till 06/01/2006 i stället för 05/01/2006 till 06/01/2006. |