U servisu Oracle Analytics, administratori postavljaju zadanu vremensku zonu koja služi za izračune datuma i vremena u izborniku Postavke sustava. Ta globalna postavka primjenjuje se na sve izračune. U ovoj je temi objašnjeno kako upotrijebiti funkciju TIMESTAMPADD
za definiranje druge vremenske zone ako u određenom izračunu želite upotrijebiti drugačiju vremensku oznaku.
Postavljanje zadane vremenske zone za izračune u izborniku Postavke sustava
CURRENT_DATE
CURRENT_TIME()
CURRENT_TIMESTAMP()
NOW()
Kao administrator možete promijeniti vremensku oznaku iz izračuna s pomoću opcije Zadana vremenska zona za izračunavanje datuma u konzoli, u izborniku Napredne postavke sustava. U padajućem izborniku odaberite željenu vremensku zonu i primijenite promjene kako bi nova vrijednost stupila na snagu.
.png
Više informacija o globalnim postavkama vremenske zone potražite ovdje: Postavke sustava - opcije formatiranja.
Upotreba specifične vremenske zone za vremenske oznake u izračunima
Želite li u svojim izračunima generirati vremensku oznaku koja se razlikuje od sistemske postavke, upotrijebite funkciju TIMESTAMPADD
te CURRENT_TIMESTAMP()
ili NOW()
. Osnovni izračun za TIMESTAMPADD
:
TIMESTAMPADD(SQL_TSI_<<interval>>, <<integer expression>>, <<timestamp expression>>)
Kod izračuna vremenskih oznaka, interval će biti HOUR
, a vremenski pomak bit će razlika u satima između UTC-a i vremenske zone za prijavljivanje. Na primjer:
TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP(5))
Taj izračun vraća trenutačnu vremensku oznaku za SAD/Stjenjačko vrijeme. Možete stvoriti novi stupac s vremenskom oznakom kao izvedeni stupac u izvoru logičke tablice ili ga pak mapirati izravno u bazu podataka. Razlika je u mjestu provođenja izračuna, odnosno je li to Oracle Analytics ili baza podataka. Sljedeća slika pokazuje izračun mapiran izravno u bazu podataka u dijaloškom okviru Alat za izradu izraza - izraz.
Ako je zadana vremenska zona postavljena na UTC, funkcija CURRENT_DATE
neće vratiti točan datum za određene sate u danu s obzirom na vremensku zonu korisnika. Npr., ako je ponoć u zoni UTC, lokalni datum neće odgovarati UTC datumu za trajanje vremenskog pomaka.
Taj se problem rješava odabirom izračuna vremenske oznake u obliku datuma. Na primjer:
cast(TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP) as date)
Sljedeća slika pokazuje izračun koji je stvoren kao izvedeni stupac u dijaloškom okviru Alat za izradu izraza - izvedeni logički stupac.
Kod jedinstvenih ili jednokratnih izvješća možete stvoriti izračune vremenskih oznaka na razini izvješća u vidu vizualizacije podataka ili klasične analize. Ako namjeravate ponovno upotrebljavati izračune, lakše ih je definirati kao stupce u semantičkom modelu (ili RPD datoteci).
Više informacija o funkcijama spomenutima u ovoj temi potražite ovdje: Funkcije datuma i vremena i Funkcije vremenske serije.