Denna funktion returnerar en tidsmarkör för aktuell tid. Denna funktion returnerar värdet i TimeStamp-systemvariabelformat. Som standard är timer_mode-värdet 1.
Syntax:
now([
timer_mode])
Returnerad datatyp: dual
now()-funktionen kan användas antingen i laddningsskriptet eller i diagramobjekt.
Argument
Argument
Beskrivning
timer_mode
Kan ha följande värden:
0 (tiden för senast avslutade dataladdning) 1 (tiden för funktionsanrop) 2 (tiden då appen öppnades)
Anteckning om informationOm du använder funktionen i ett dataladdningsskript, resulterar timer_mode=0 i tiden för senast slutförda dataladdning, medan timer_mode=1 visar tiden för funktionsanropet i den aktuella dataladdningen.
Anteckning om tipsnow()-funktionen har stor påverkan på prestanda som kan ge rullningsproblem om funktionen används i tabelluttryck. Om det inte är absolut nödvändigt att använda den rekommenderar vi att använda funktionen today() i stället. Om det är nödvändigt att använda now() i en layout rekommenderar vi att använda icke-standardinställningarna now(0) eller now(2), om det är möjligt, eftersom de inte kräver konstanta omberäkningar
Användning
now()-funktionen används vanligen som en komponenten inom ett uttryck. Det kan exempelvis användas för att beräkna den återstående tiden i en produkts livscykel. now()-funktionen används i stället för today()-funktionen när uttrycket kräver att en del av en dag används.
I följande tabell finns en förklaring av resultatet som returneras av now()-funktionen, förutsatt att värdena för timer_mode-argumenten är olika:
Exempel på funktioner
Värde för timer_mode
Resultat om det används i laddningsskript
Resultat om det används i diagramobjekt
0
Returnerar en tidsmarkör, i formatet för systemvariabelnTimeStamp, för den sista slutförda dataladdningen före den senaste dataladdningen
Returnerar en tidsmarkör, i formatet för systemvariabeln TimeStamp, för den senaste dataladdningen.
1
Returnerar en tidsmarkör, i formatet för systemvariabeln TimeStamp, för den senaste dataladdningen.
Returnerar tidsmarkören, i formatet för systemvariabeln TimeStamp, för funktionsanropet.
2
Returnerar en tidsmarkör, i formatet för systemvariabeln TimeStamp, för när användarens session i programmet började. Detta uppdateras inte, såvida inte användaren laddar skriptet.
Returnerar en tidsmarkör, i formatet för systemvariabeln TimeStamp, för när användarens session i programmet började. Detta kommer att uppdateras när en ny session börjar eller data i applikationen laddas igen.
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.
Exempel 1 – generering av objekt med laddningsskript
Översikt
Öppna skriptredigeraren och lägg till laddningsskriptet nedan i en ny flik.
I det här exemplet skapas tre variabler med now()-funktionen. För varje variabel används ett av timer_mode-alternativen för att visa hur det fungerar.
För att variablernas funktionalitet ska framgå laddar du skriptet en gång och, efter en kort stund, ytterligare en gång. Resultatet blir att now(0)- och now(1)-variablernas funktionalitet framgår genom att de visar olika värden.
Laddningsskript
LET vPreviousDataLoad = now(0);
LET vCurrentDataLoad = now(1);
LET vApplicationOpened = now(2);
Resultat
När data har lästs in en andra gång, skapar du tre textrutor enligt anvisningarna nedan.
Skapa först en textruta för data som tidigare har lästs in.
Gör följande:
Skapa en textruta genom att använda diagramobjektet Text och bild.
Lägg till följande mått till objektet:
=vPreviousDataLoad
Under Utseende, väljer du Show titles och lägger till rubriken "Tidigare inläsningstid" till objektet.
Skapa sedan en textruta för de data som för närvarande läses in.
Gör följande:
Skapa en textruta genom att använda diagramobjektet Text och bild.
Lägg till följande mått till objektet:
=vCurrentDataLoad
Under Utseende, väljer du Show titles och lägger till rubriken "Aktuell inläsningstid" till objektet.
Skapa en sista textruta för att visa när användarens session i programmet startade.
Gör följande:
Skapa en textruta genom att använda diagramobjektet Text och bild.
Lägg till följande mått till objektet:
=vApplicationOpened
Under Utseende, väljer du Show titles och lägger till rubriken "Användarsession startade" till objektet.
Bilden ovan visar exempelvärden för var och en av de skapade variablerna. Värdena skulle exempelvis kunna se ut som följer:
Föregående laddningstid: 6/22/2022 8:54:03
Aktuell laddningstid: 6/22/2022 9:02:08 AM
Användarsessionen började: 6/22/2022 8:40:40 AM
Exempel 2 – generering av objekt utan laddningsskript
Översikt
I det här exemplet kommer du att skapa tre diagramobjekt med now()-funktionen utan att ladda några variabler eller data till programmet. För vart och ett av diagramobjekten används ett av timer_mode-alternativen för att visa hur det fungerar.
Det finns inget laddningsskript för det här exemplet.
Gör följande:
Öppna Skriptredigeraren.
Klicka på Läs in data utan att ändra det befintliga laddningsskriptet.
Efter en kort stund laddar du skriptet på nytt.
Resultat
När data har lästs in en andra gång skapar du tre textrutor.
Först skapar du en textruta för den senaste dataladdningen.
Gör följande:
Skapa en textruta genom att använda diagramobjektet Text och bild.
Lägg till följande mått:
=now(0)
Under Utseende, väljer du Visa rubriker och lägger till rubriken "Senaste datainläsning" till objektet.
Skapa sedan en textruta för att visa aktuell tid.
Gör följande:
Skapa en textruta genom att använda diagramobjektet Text och bild.
Lägg till följande mått:
=now(1)
Under Utseende, väljer du Visa rubriker och lägger till rubriken "Aktuell tid" till objektet.
Skapa en sista textruta för att visa när användarens session i programmet startade.
Gör följande:
Skapa en textruta genom att använda diagramobjektet Text och bild.
Lägg till följande mått:
=now(2)
Under Utseende, väljer du Visa rubriker och lägger till rubriken "Användarsession började" till objektet.
Bilden ovan visar exempelvärden för vart och ett av de skapade objekten. Värdena skulle exempelvis kunna se ut som följer:
Data laddades senast: 6/22/2022 9:02:08
Aktuell tid: 6/22/2022 9:25:16
Användarsessionen började: 6/22/2022 8:40:40 AM
Diagramobjektet "Data laddades senast" använder ett timer_mode-värde på 0. Då returneras tidsmarkören för d en senaste tidpunkten som data senast laddades.
Diagramobjektet "Aktuell tid" använder ett timer_mode-värde på 1. Då returneras den aktuella tiden enligt systemklockan. Om arket eller objektet uppdateras kommer det här värdet att uppdateras.
Diagramobjektet "Användarsessionen började" använder ett timer_mode-värde på 2. Då returneras tidsmarkören för när programmet öppnades, och användarsessionen började.
Exempel 3 – Scenario
Översikt
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
En datauppsättning som består av ett lager för en åtgärd för mining av kryptovaluta, som laddas i en tabell som heter Inventory.
Data med följande fält: id, purchase_date och wph (watt per timma).
Användaren behöver en tabell som visar den totala kostnaden för varje miningrigg hittills under månaden avseende strömförbrukning, sorterat på id.
Om allt stämmer ska det här värdet uppdateras när diagramobjektet uppdateras. Den aktuella kostnaden för el är 0,0678 USD per kWH.
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension: id.
Skapa följande mått:
=(now(1)-monthstart(now(1)))*24*wph/1000*0.0678
Om diagramobjektet var uppdaterades 22/06/2022 10:39:05 skulle det returnera följande resultat:
Resultattabell
id
=(now(1)-monthstart(now(1)))*24*wph/1000*0.0678
8188
$39.18
8189
$49.97
8190
$42.81
8191
$46.13
8192
$44.42
8193
$39.18
8194
$46.83
8195
$81.72
8196
$42.95
8197
$42.95
8198
$39.18
8199
$42.29
8200
$42.67
8201
$42.99
8202
$42.99
8203
$42.25
8204
$43.37
8205
$46.13
8206
$39.53
Användaren vill att objektresultaten ska uppdateras varje gång objektet uppdateras. Därför finns timer_mode-argumentet med tillhandahållna instanser i now()-funktionen i uttrycket. Tidsmarkören för början av månaden, som identifieras genom att använda now()-funktionen som tidsmarkörargument i monthstart()-funktionen subtraheras från den aktuella tiden som identifieras med now()-funktionen. Detta ger den totala tidsmängden som har förflutit hittills under månaden, i dagar.
Det här värdet multipliceras med 24 (antalet timmar på ett dygn) och därefter med värdet i wph-fältet.
Resultatet divideras med 1000 så att det konverteras från watt per timma till kilowatt per timma innan det slutligen multipliceras med den angivna kWh-taxan.
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!