I Oracle Analytics ställer administratörer in standardtidszonen som används för beräkning av datum och tid i Systeminställningar. Den här globala inställningen tillämpas på alla beräkningar. Det här avsnittet förklarar hur du använder funktionen TIMESTAMPADD
för att ange en annan tidszon om du vill använda en annan tidsstämpel i en viss beräkning.
Ställa in en standardtidszon för beräkningar i systeminställningarna
CURRENT_DATE
CURRENT_TIME()
CURRENT_TIMESTAMP()
NOW()
Som administratör kan du ändra den tidsstämpel som används i beräkningar med alternativet Standardtidszon för datumberäkningar i konsolen under Avancerade systeminställningar. Välj önskad tidszon i listrutan och tillämpa ändringarna för att det nya värdet ska börja användas.
.png
Mer information om tidszonsinställningar finns i Systeminställningar – formatalternativ.
Använda en specifik tidszon för tidsstämplar i beräkningar
Du genererar en annan tidsstämpel än den systeminställda i dina beräkningar med funktionen TIMESTAMPADD
ihop med CURRENT_TIMESTAMP()
eller NOW()
. Standarberäkningen av TIMESTAMPADD
är:
TIMESTAMPADD(SQL_TSI_<<interval>>, <<integer expression>>, <<timestamp expression>>)
För tidsstämpelsberäkningar är HOUR
intervallet och tidsförskjutningen är skillnaden i timmar mellan UTC-tid och den tidszon som ska rapporteras. Exempel:
TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP(5))
Den här beräkningen returnerar den aktuella tidsstämpeln i Mountain Time (USA). Du kan skapa den nya tidsstämpelskolumnen som en härledd kolumn i den logiska tabellkällan eller mappa den direkt till databasen. Skillnaden är var beräkningen ska utföras, det vill säga i Oracle Analytics eller i databasen. Följande figur visar en beräkning som har mappats direkt till databasen i uttrycksverktyget – dialogrutan Uttryck.
När UTC-tid har angetts som standardtidszon returnerar funktionen CURRENT_DATE
inte rätt datum för vissa tider på dagen för en användares tidszon. När det till exempel är midnatt i UTC-tid matchar inte datumet i lokal tid datumet i UTC-tid för längden på tidsförskjutningen.
Problemet kan lösas genom att tidstämpelsberäkningen görs för ett datum. Exempel:
cast(TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP) as date)
Följande figur visar en beräkning som har skapats som en härledd kolumn i uttrycksverktyget – dialogrutan Härledd logisk kolumn.
För unika eller enskilda rapporter kan du skapa tidsstämpelsberäkningar på rapportnivå i en datavisualisering eller en klassisk analys. Om du planerar att återanvända beräkningarna är det oftare enklare att definiera dem som kolumner i den semantiska modellen (eller RPD-filen).
Mer information om de funktioner som nämns i detta avsnitt finns i Funktioner för datum och tid och Tidsseriefunktioner.