Järjestelmänvalvojat määrittävät Oracle Analyticsin päivämäärä- ja aikalaskutoimituksissa käytettävän oletusaikavyöhykkeen Järjestelmäasetukset-valikossa. Tämä yleisasetus koskee kaikkia laskutoimituksia. Seuraavassa kuvataan, miten TIMESTAMPADD
-funktiolla voi määrittää jonkin toisen aikavyöhykkeen tilanteessa, jossa tietyssä laskutoimituksessa halutaan käyttää toista aikaleimaa.
Oletusaikavyöhykkeen asettaminen laskutoimituksille järjestelmäasetuksissa
CURRENT_DATE
CURRENT_TIME()
CURRENT_TIMESTAMP()
NOW()
Järjestelmänvalvojat voivat muuttaa laskutoimituksissa käytettävän aikaleiman konsolin Järjestelmän lisäasetukset -valikon kohdassa Oletusaikavyöhyke päivämäärän laskentaa varten. Valitse avattavasta valikosta haluamasi aikavyöhyke ja ota muutokset käyttöön, jotta uusi arvo astuu voimaan.
Lisätietoja maailmanlaajuisesta aikavyöhykkeiden asetuksista on kohdassa Järjestelmäasetukset – muotoiluvalinnat.
Aikavyöhykkeen käyttäminen laskentojen aikaleimoissa
Voit luoda laskennoissa järjestelmäasetuksista poikkeavan aikaleiman käyttämällä TIMESTAMPADD
.toimintoa CURRENT_TIMESTAMP()
- tai NOW()
-toiminnon yhteydessä. TIMESTAMPADD
-peruslaskenta on:
TIMESTAMPADD(SQL_TSI_<<interval>>, <<integer expression>>, <<timestamp expression>>)
Aikaleimalaskutoimituksissa aikaväli on HOUR
ja aikaero on UTC:n ja raportoinnissa käytettävän aikavyöhykkeen välinen ero tunteina. Esimerkki:
TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP(5))
Tämä laskenta palauttaa sen hetkisen aikaleiman Yhdysvaltain Kalliovuorten ajassa. Voit luoda uuden aikaleimasarakkeen johdettuna sarakkeena loogisen taulun lähteessä tai liittää sen suoraan tietokantaan. Erona on se, missä laskutoimitus suoritetaan, Oracle Analytics -palvelussa vai tietokannassa. Seuraavassa kuvassa laskutoimitus on liitetty suoraan tietokantaan Lausekkeen muodostin - Lauseke -valintaikkunassa.
Jos oletusaikavyöhyke on asetettu UTC-aikaan, CURRENT_DATE
-funktio ei palauta oikeaa päivämäärää päivän tiettyinä tunteina. Esimerkiksi ajan ollessa UTC-arvona keskiyö paikallinen päivämäärä ei vastaa UTC-päivämäärää aikaeron keston ajan.
Aikaleiman laskenta päivämääränä ratkaisee tämän ongelman. Esimerkki:
cast(TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP) as date)
Seuraavassa kuvassa laskutoimitus on luotu johdettuna sarakkeena Lausekkeen muodostin - Johdettu looginen sarake -valintaikkunassa.
Yksittäisten raporttien tapauksessa aikaleimalaskutoimitukset voi luoda raportin tasolla joko tietojen visualisoinnissa tai perinteisessä analyysissä. Jos haluat käyttää laskentoja uudelleen, ne on usein helpompi määritellä sarakkeina semanttisessa mallissa (tai RPD-tiedostossa).
Lisätietoja tässä aiheessa mainituista funktioista on kohdissa Päivämäärän ja ajan funktiot ja Aikasarjafunktiot.