Tijdstempels configureren

In Oracle Analytics stellen beheerders de standaardtijdzone in die wordt gebruikt voor datum- en tijdberekeningen. Dit doen ze in Systeeminstellingen. Deze algemene instelling is van toepassing op alle berekeningen. In dit onderwerp wordt uitgelegd hoe u de functie TIMESTAMPADD kunt gebruiken om een andere tijdzone op te geven als u een ander tijdstempel wilt gebruiken in een bepaalde berekening.

Standaardtijdzone voor berekeningen instellen in 'Systeeminstellingen'

De systeemtijd voor Oracle Analytics Cloud is standaard gebaseerd op UTC-tijd. De volgende functies retourneren waarden die zijn gebaseerd op de UTC-tijd of -datum:
  • CURRENT_DATE
  • CURRENT_TIME()
  • CURRENT_TIMESTAMP()
  • NOW()

Als beheerder kunt u de tijdstempel wijzigen die wordt gebruikt in berekeningen. Hiervoor gaat u naar de optie Standaardtijdzone voor datumberekeningen in de console, onder Geavanceerde systeeminstellingen. Selecteer de gewenste tijdzone in de dropdownlijst en pas de wijzigingen toe om de nieuwe waarde van kracht te laten worden.

Beschrijving van GUID-8DB3356D-CD0C-471F-ACA2-9151598FAB51-default.png volgt hierna
.png

Zie 'Systeeminstellingen': 'Opmaakopties' voor meer informatie over algemene instellingen voor tijdzones.

Een specifieke tijdzone gebruiken voor tijdstempels in berekeningen

Als u in uw berekeningen een andere tijdstempel wilt genereren dan die is opgegeven in de systeeminstellingen, gebruikt u de functie TIMESTAMPADD in combinatie met CURRENT_TIMESTAMP() of NOW(). De basisberekening door TIMESTAMPADD is als volgt:

TIMESTAMPADD(SQL_TSI_<<interval>>, <<uitdrukking met geheel getal>>, <<uitdrukking met tijdstempel>>)

Bij berekeningen met een tijdstempel is HOUR het interval en bestaat de tijdoffset uit het verschil in uren tussen UTC en de tijdzone waarover moet worden gerapporteerd. Bijvoorbeeld:

TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP(5))

Deze berekening retourneert de huidige tijdstempel in US Mountain Time. U kunt de nieuwe kolom voor tijdstempels maken als een afgeleide kolom in de logische tabelbron of rechtstreeks toewijzen aan de database. Het verschil tussen de twee methoden is de locatie waar de berekening wordt uitgevoerd: Oracle Analytics of de database. De volgende afbeelding toont een berekening die direct aan de database is toegewezen in het dialoogvenster Uitdrukkingsbuilder - Uitdrukking.

Beschrijving van GUID-27A25D1D-56A1-4C02-9FC2-106F9BAFBE71-default.jpg volgt hierna
.jpg

Wanneer de standaardtijdzone is ingesteld op UTC, retourneert de functie CURRENT_DATE niet de juiste datum voor bepaalde uren van de dag ten opzichte van de tijdzone van een gebruiker. Als het bijvoorbeeld middernacht is in UTC-tijd, komt de lokale datum niet overeen met de UTC-datum voor de duur van de tijdoffset.

U kunt dit probleem oplossen door de berekening van de tijdstempel te casten als een datum. Bijvoorbeeld:

cast(TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP) as date)

De volgende afbeelding toont een berekening die wordt gemaakt als een afgeleide kolom in het dialoogvenster Uitdrukkingsbuilder - Afgeleide logische kolom.

Beschrijving van GUID-49CFA011-ED91-477F-AE42-7CEE3D090E34-default.jpg volgt hierna
.jpg

Voor unieke of eenmalige rapporten kunt u tijdstempelberekeningen maken op rapportniveau. Dit kan in een visualisatie van gegevens of via een klassieke analyse. Als u van plan bent om de berekeningen opnieuw te gebruiken, is het vaak gemakkelijker om ze als kolommen te definiëren in het semantische model (of RPD-bestand).

Zie Datum- en tijdfuncties en Tijdreeksfuncties voor meer informatie over de functies die in dit onderwerp worden genoemd