Administratorer angir standard tidssone i Oracle Analytics som brukes til beregning av datoer og klokkeslett, i Systeminnstillinger. Denne globale innstillingen gjelder for alle beregninger. Dette emnet beskriver hvordan du bruker funksjonen TIMESTAMPADD
til å angi en annen tidssone hvis du vil bruke et annet tidsstempel for en bestemt beregning.
Angi standard tidssone for beregninger i Systeminnstillinger
CURRENT_DATE
CURRENT_TIME()
CURRENT_TIMESTAMP()
NOW()
Som administrator kan du endre tidsstempelet som brukes i beregninger, ved hjelp av valget Standard tidssone for datoberegninger under Avanserte systeminnstillinger i konsollen. Velg ønsket tidssone fra rullegardinlisten, og bruk endringene for at den nye verdien skal tre i kraft.
.png
Hvis du vil ha flere opplysninger om globale innstillinger for tidssone, kan du se Systeminnstillinger – formateringsvalg.
Bruke en spesifikk tidssone for tidsstempler i beregninger
Hvis du vil generere et annet tidsstempel enn systeminnstillingen i beregningene, bruker du funksjonen TIMESTAMPADD
i forbindelse med CURRENT_TIMESTAMP()
eller NOW()
. Den grunnleggende beregningen for TIMESTAMPADD
er som følger:
TIMESTAMPADD(SQL_TSI_<<intervall>>, <<heltallsuttrykk>>, <<tidsstempeluttrykk>>)
HOUR
er intervallet for tidsstempelberegninger, og tidsforskyvningen er forskjellen i timer mellom UTC og tidssonen det skal rapporteres for. Eksempel:
TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP(5))
Denne beregningen returnerer det gjeldende tidsstempelet i tidssonen Rocky Mountains (USA). Du kan opprette den nye tidsstempelkolonnen som en avledet kolonne i den logiske tabellkilden eller tilordne den direkte til databasen. Forskjellen er hvor beregningen skal utføres, det vil si i Oracle Analytics eller databasen. Figuren nedenfor viser en beregning som er tilordnet direkte til databasen i dialogboksen Uttrykksverktøy – Uttrykk.
Når standard tidssone er satt til UTC, returnerer ikke funksjonen CURRENT_DATE
den riktige datoen for enkelte timer på dagen i forhold til tidssonen for en bruker. Når det for eksempel er midnatt i UTC, samsvarer ikke den lokale datoen med UTC-datoen i tidsforskyvningens varighet.
Dette problemet løses ved å tilordne tidsstempelberegningen som en dato. Eksempel:
cast(TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP) as date)
Figuren nedenfor viser en beregning som er opprettet som en utledet kolonne i dialogboksen Uttrykksverktøy – Avledet logisk kolonne.
For unike rapporter eller enkeltrapporter kan du opprette tidsstempelberegninger på rapportnivå i en datavisualisering eller en klassisk analyse. Hvis du har tenkt å bruke beregningene på nytt, er det ofte enklere å definere dem som kolonner i den semantiske modellen (eller RPD-filen).
Hvis du vil ha flere opplysninger om funksjonene som er nevnt i dette emnet, kan du se Dato- og klokkeslettfunksjoner og Tidsseriefunksjoner.