Gå till huvudinnehåll Gå till ytterligare innehåll

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

Diagram för inmonthstodate-funktionen.

Diagram som visar hur inmonthstodate-funktionen kan användas för att identifiera om en tidsmarkör ligger innanför eller utanför ett inställt tidssegment.
Argument
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.

Diagram för det booleska resultatintervallet från inmonthstodate-funktionen.

Diagram för intervallet över booleska resultat från inmonthstodate-funktionen.

Följande segment av året är tillgängliga i funktionen som n_month-argument.

n_month-argument
Period Antal månader
månad 1
två månader 2
kvartal 3
tertial 4
halvår 6

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.

Standardregionalinställningar i appar baseras på de regionala systeminställningarna för datorn eller servern där Qlik Sense är installerad. Om Qlik Sense-servern du ansluter till är inställd på Sverige så kommer skriptredigeraren använda regionala inställningar för Sverige för datum, tid och valuta. Dessa regionala formatinställningar är inte relaterade till språket som visas i Qlik Sense användargränssnittet. Qlik Sense kommer att visas på samma språk som webbläsaren du använder.

Exempel på funktioner
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.

Exempel 1 – inga ytterligare argument

Exempel 2 – period_no

Exempel 3 – first_month_of_year

Exempel 4 – diagramexempel

Exempel 5 – Scenario

Var den här sidan till hjälp för dig?

Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!