Datum- och tidsfunktioner
Datum- och tidsfunktionerna i QlikView används för att konvertera datum- och tidsvärden. Samtliga funktioner kan användas både i laddningsskriptet och i diagramuttryck.
Funktionerna bygger på ett serienummer för datum och tid som motsvarar antalet dagar sedan den 30 december 1899. Heltalet motsvarar dagen och fraktionen motsvarar tiden på dagen.
QlikView använder parameterns numeriska värde, så ett tal är giltigt som parameter även när det inte är formaterat som ett datum eller en tidspunkt. Om parametern inte motsvarar ett numeriskt värde, exempelvis eftersom den är en sträng, försöker QlikView tolka strängen enligt datum- och tidsmiljövariablerna.
Om du använder ett tidformat i parametern som inte motsvarar operativsystemets inställningar, kan QlikView inte göra en korrekt tolkning. För att lösa detta kan du antingen ändra inställningarna eller använda en tolkningsfunktion.
I exemplen för varje funktion antas standardformaten för tid och datum hh:mm:ss och YYYY-MM-DD (ISO 8601).
När en tidsmarkör bearbetas med en datum- eller tidsfunktion ignorerarQlikView eventuella sommartidsparametrar, om inte datum- eller tidsfunktionen inkluderar en geografisk position.
Till exempel skulle ConvertToLocalTime( filetime('Time.qvd'), 'Paris') använda sommartidsparametrar, medan ConvertToLocalTime(filetime('Time.qvd'), 'GMT-01:00') inte skulle använda sommartidsparametrar.
Använd listrutan för varje funktion för att visa en kort beskrivning och syntax för varje funktion. Klicka på funktionens namn i syntaxbeskrivningen för fler detaljer.
Tidsuttryck
Denna funktion returnerar ett heltal som motsvarar sekunden om decimaldelen av expression tolkas som en tidpunkt enligt standardtolkningen av tal.
second(expression)
Denna funktion returnerar ett heltal som motsvarar minuten om decimaldelen av expression tolkas som tid enligt standardtolkningen av tal.
minute(expression)
Denna funktion returnerar ett heltal som motsvarat timmen om decimaldelen av expression tolkas som en tidpunkt enligt standardtolkningen av tal.
hour(expression)
Denna funktion returnerar ett heltal som motsvarar dagen om decimaldelen av expression tolkas som datum enligt standardtolkningen av tal.
day(expression)
Denna funktion returnerar ett heltal som motsvarar veckonumret enligt ISO 8601. Veckonumret beräknas utifrån datumtolkningen av uttrycket, enligt standardtalformatet.
week(timestamp [, first_week_day [, broken_weeks [, reference_day]]])
Denna funktion returnerar ett dualt värde med månadsnamnet som det är definierat i miljövariabeln MonthNames och ett heltal mellan 1 och 12. Månaden beräknas utifrån datumtolkningen av uttrycket, enligt standardtalformatet.
month(expression)
Denna funktion returnerar ett heltal som motsvarar året om expression tolkas som ett datum enligt standardtolkningen av tal.
year(expression)
Denna funktion returnerar det år som veckonumret hör till enligt ISO 8601. Veckonummer går från 1 till cirka 52.
weekyear(expression)
Denna funktion returnerar ett dualt värde med: Ett namn på en dag som definierat i miljövariabeln DayNames. Ett heltal mellan 0 och 6 som motsvarar den nominella veckodagen (0-6).
weekday(date)
Tidsmarkörer
Denna funktion returnerar en tidsmarkör för aktuell tid från systemklockan. Standardvärdet är 1.
now([ timer_mode])
Denna funktion returnerar aktuellt datum från systemklockan.
today([timer_mode])
Denna funktion returnerar en tidsmarkör för aktuell tid från systemklockan för en angiven tidszon.
localtime([timezone [, ignoreDST ]])
Make
Denna funktion returnerar ett datum beräknat utifrån året YYYY, månaden MM och dagen DD.
makedate(YYYY [ , MM [ , DD ] ])
Denna funktion returnerar ett datum beräknat utifrån året YYYY, veckan WW och veckodagen D.
makeweekdate(YYYY [ , WW [ , D ] ])
Denna funktion returnerar en tid beräknat utifrån timmar hh, minuter mm och sekunder ss.
maketime(hh [ , mm [ , ss [ .fff ] ] ])
Övriga datumfunktioner
Denna funktion returnerar det datum som infaller n månader efter startdate eller, om n är negativt, det datum som infaller n månader före startdate.
addmonths(startdate, n , [ , mode])
Denna funktion returnerar det datum som infaller n år efter startdate eller, om n är negativt, det datum som infaller n år före startdate.
addyears(startdate, n)
Denna funktion räknar ut om datumet hamnar inom året för datumet skriptet senast laddades och returnerar True om så är fallet, False om så inte är fallet.
yeartodate(timestamp [ , yearoffset [ , firstmonth [ , todaydate] ] ])
Tidszoner
Den här funktionen returnerar namnet på den aktuella tidszonen, som den definierats i Windows, och tar inte hänsyn till sommartidsjusteringen.
timezone( )
Denna funktion returnerar datum och aktuell Greenwich Mean Time utifrån systemklockan och Windows-tidsinställningarna.
GMT( )
Returnerar datumet och aktuell Coordinated Universal Time.
UTC( )
Returnerar den aktuella anpassningen till sommartid/vintertid enligt Windows definition.
Konverterar en UTC- eller GMT-tidsmarkör till lokal tid i form av ett dualt värde. Ett antal städer och tidszoner i hela världen kan användas.
converttolocaltime(timestamp [, place [, ignore_dst=false]])
Ange tid
Den här funktionen tar som indata en timestamp och ett year och uppdaterar timestamp med det year som har angetts i indata.
setdateyear (timestamp, year)
Den här funktionen tar som indata en timestamp, en month och ett year och uppdaterar timestamp med det year och den month som har angetts i indata.
setdateyearmonth (timestamp, year, month)
In...
Denna funktion returnerar True om timestamp ligger inom det år som innehåller base_date.
inyear(date, basedate , shift [, first_month_of_year = 1])
Denna funktion returnerar True om timestamp ligger inom den del av året som innehåller base_date fram till och inklusive den sista millisekunden av base_date.
inyeartodate (date, basedate , shift [, first_month_of_year = 1])
Denna funktion returnerar True om timestamp ligger inom det kvartal som innehåller base_date.
inquarter (date, basedate , shift [, first_month_of_year = 1])
Denna funktion returnerar True om timestamp ligger inom den del av det kvartal som innehåller base_date fram till och inklusive den sista millisekunden av base_date.
inquartertodate (date, basedate , shift [, first_month_of_year = 1])
Denna funktion returnerar True om timestamp ligger inom den månad som innehåller base_date.
inmonth(date, basedate , shift)
Returnerar True om timestamp ligger inom den del av månaden som innehåller base_date fram till och inklusive den sista millisekunden av base_date.
inmonthtodate (date, basedate , shift)
Denna funktion hittar om en tidsstämpel hamnar inom samma månad, tvåmånadersperiod, kvartal, fyramånadersperiod eller halvår som ett basdatum. Det går även att se om tidsmarkören finns inom en föregående eller senare tidsperiod.
inmonths(n, date, basedate , shift [, first_month_of_year = 1])
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.
inmonthstodate (n, date, basedate , shift [, first_month_of_year = 1])
Denna funktion returnerar True om timestamp ligger inom den vecka som innehåller base_date.
inweek(date, basedate , shift [, weekstart])
Denna funktion returnerar True om timestamp ligger inom den del av veckan som innehåller base_date fram till och inklusive den sista millisekunden av base_date.
inweektodate (date, basedate , shift [, weekstart])
Med denna funktion returneras true om timestamp ligger inom den sjudagarsperiod som innehåller base_date. Sjudagarsperioder i QlikView definieras genom att 1 januari räknas som den första dagen på veckan.
inlunarweek (date, basedate , shift [, weekstart])
Denna funktion returnerar true om timestamp ligger inom delen av sjudagarsperioden fram till och inklusive den sista millisekunden av base_date. Sjudagarsperioder i QlikView definieras genom att 1 januari räknas som den första dagen på veckan.
inlunarweektodate (date, basedate , shift [, weekstart])
Denna funktion returnerar True om timestamp ligger inom den dag som innehåller base_timestamp.
inday(timestamp, basetimestamp , shift [, daystart])
Denna funktion returnerar True om timestamp ligger inom den del av dagen som innehåller base_timestamp fram till och inklusive den exakta millisekunden för base_timestamp.
indaytotime(timestamp, basetimestamp , shift [, daystart])
Start... end
Denna funktion returnerar en tidsmarkör som motsvarar starten på den första dagen av året som innehåller date. Det förvalda utdataformatet blir det DateFormat som har definierats i skriptet.
yearstart( date [, shift = 0 [, first_month_of_year = 1]])
Denna funktion returnerar ett värde som motsvarar en tidsmarkör med den sista millisekunden av den sista dagen i det år som innehåller date. Det förvalda utdataformatet blir det DateFormat som har definierats i skriptet.
yearend( date [, shift = 0 [, first_month_of_year = 1]])
Denna funktion returnerar ett fyrsiffrigt år som visningsvärde med ett underliggande numeriskt värde som motsvarar en tidsmarkör för den första millisekunden av den första dagen på det år som innehåller date.
yearname(date [, shift = 0 [, first_month_of_year = 1]] )
Denna funktion returnerar ett värde som motsvarar en tidsmarkör för den första millisekunden i det kvartal som innehåller date. Det förvalda utdataformatet blir det DateFormat som har definierats i skriptet.
quarterstart(date [, shift = 0 [, first_month_of_year = 1]])
Denna funktion returnerar ett värde som motsvarar en tidsmarkör för den sista millisekunden i det kvartal som innehåller date. Det förvalda utdataformatet blir det DateFormat som har definierats i skriptet.
quarterend(date [, shift = 0 [, first_month_of_year = 1]])
Denna funktion returnerar ett visningsvärde med kvartalets månader (formaterat enligt skriptvariabeln MonthNames) och år med ett underliggande numeriskt värde som motsvarar en tidsmarkör för den första millisekunden av kvartalets första dag.
quartername(date [, shift = 0 [, first_month_of_year = 1]])
Denna funktion returnerar ett värde som motsvarar en tidsmarkör för den första millisekunden av den första dagen i den månad som innehåller date. Det förvalda utdataformatet blir det DateFormat som har definierats i skriptet.
monthstart(date [, shift = 0])
Denna funktion returnerar ett värde som motsvarar en tidsmarkör med den sista millisekunden av den sista dagen i den månad som innehåller date. Det förvalda utdataformatet blir det DateFormat som har definierats i skriptet.
monthend(date [, shift = 0])
Denna funktion returnerar ett visningsvärde med månaden (formaterat enligt skriptvariabeln MonthNames) och året med ett underliggande numeriskt värde som motsvarar en tidsmarkör för den första millisekunden av månadens första dag.
monthname(date [, shift = 0])
Denna funktion returnerar ett värde som motsvarar en tidsmarkör för den första millisekunden i månaden, tvåmånadersperioden, kvartalet, fyramånadersperioden eller halvåret som innehåller ett basdatum. Det går även att hitta tidsmarkören för en föregående eller senare tidsperiod.
monthsstart(n, date [, shift = 0 [, first_month_of_year = 1]])
Denna funktion returnerar ett värde som motsvarar en tidsmarkör för den sista millisekunden i månaden, tvåmånadersperioden, kvartalet, fyramånadersperioden eller halvåret som innehåller ett basdatum. Det går även att hitta tidsmarkören för en föregående eller senare tidsperiod.
monthsend(n, date [, shift = 0 [, first_month_of_year = 1]])
Denna funktion returnerar ett visningsvärde som representerar månadsintervallet i perioden (formaterat enligt skriptvariabeln MonthNames) liksom året. Det underliggande numeriska värdet motsvarar en tidsmarkör för den första millisekunden i månaden, tvåmånadersperioden, kvartalet, fyramånadersperioden eller halvåret som innehåller ett basdatum.
monthsname(n, date [, shift = 0 [, first_month_of_year = 1]])
Denna funktion returnerar ett värde som motsvarar en tidsmarkör för den första millisekunden på den första dagen (måndag) i den kalendervecka som innehåller date. Det förvalda utdataformatet är det DateFormat som har definierats i skriptet.
weekstart(date [, shift = 0 [,weekoffset = 0]])
Denna funktion returnerar ett värde som motsvarar en tidsmarkör för den sista millisekunden på den sista dagen (söndag) i den kalendervecka som innehåller date. Det förvalda utdataformatet blir det DateFormat som har definierats i skriptet.
weekend(date [, shift = 0 [,weekoffset = 0]])
Denna funktion returnerar ett värde som visar år och veckonummer med ett underliggande numeriskt värde som motsvarar en tidsmarkör för den första millisekunden på den första dagen i veckan som innehåller date.
weekname(date [, shift = 0 [,weekoffset = 0]])
Denna funktion returnerar ett värde som motsvarar en tidsmarkör för den första millisekunden i den sjudagarsperiod som innehåller date. Sjudagarsperioder i QlikView definieras genom att 1 januari räknas som den första dagen på veckan.
lunarweekstart(date [, shift = 0 [,weekoffset = 0]])
Denna funktion returnerar ett värde som motsvarar en tidsmarkör för den sista millisekunden i den sjudagarsperiod som innehåller date. Sjudagarsperioder i QlikView definieras genom att 1 januari räknas som den första dagen på veckan.
lunarweekend(date [, shift = 0 [,weekoffset = 0]])
Denna funktion returnerar ett visningsvärde som visar året och sjudagarsperiodsnumret som motsvarar en tidsmarkör för den första millisekunden på den första dagen i sjudagarsperioden som innehåller date. Sjudagarsperioder i QlikView definieras genom att 1 januari räknas som den första dagen på veckan.
lunarweekname(date [, shift = 0 [,weekoffset = 0]])
Denna funktion returnerar ett värde som motsvarar en tidsmarkör med den första millisekunden av den dag som ingår i argumentet time. Det förvalda utdataformatet blir det TimestampFormat som har definierats i skriptet.
daystart(timestamp [, shift = 0 [, dayoffset = 0]])
Denna funktion returnerar ett värde som motsvarar en tidsmarkör för den sista millisekunden av den dag som ingår i time. Det förvalda utdataformatet blir det TimestampFormat som har definierats i skriptet.
dayend(timestamp [, shift = 0 [, dayoffset = 0]])
Denna funktion returnerar ett värde som visar datumet med ett underliggande numeriskt värde som motsvarar en tidsmarkör för den första millisekunden på dagen som innehåller time.
dayname(timestamp [, shift = 0 [, dayoffset = 0]])
Dagsnumrering
Funktionen age returnerar åldern vid tidpunkten för timestamp (i fyllda år) för någon som är född på date_of_birth.
age(timestamp, date_of_birth)
Funktionen networkdays returnerar antalet arbetsdagar (måndag-fredag) mellan och inklusive start_date och end_date med hänsyn till eventuella holiday.
networkdays (start:date, end_date {, holiday})
Funktionen firstworkdate returnerar senast möjliga startdatum för att uppnå no_of_workdays (måndag–fredag) som tar slut senast end_date med hänsyn till alla eventuella helgdagar. end_date och holiday ska vara giltiga datum eller tidsmarkörer.
firstworkdate(end_date, no_of_workdays {, holiday} )
Funktionen lastworkdate returnerar det tidigaste slutdatumet för att uppnå no_of_workdays (måndag–fredag) med början vid start_date och hänsyn tagen till valfria holiday.start_date och holiday ska vara giltiga datum eller tidsmarkörer.
lastworkdate(start_date, no_of_workdays {, holiday})
Beräknar dagens nummer på året där tidsmarkören finns. Beräkningen är gjord från den första millisekunden av den första dagen på året, men startpunkten för den första månaden kan flyttas.
daynumberofyear(date[,firstmonth])
Beräknar dagens nummer i kvartalet där tidsmarkören finns.
daynumberofquarter(date[,firstmonth])