Az Oracle Analytics programban az adminisztrátorok állítják be a dátum- és időszámításokhoz használatos alapértelmezett időzónát a Rendszerbeállításokban. Ez a globális beállítás minden számításra érvényes. Ez a témakör ismerteti, hogyan használja a TIMESTAMPADD
függvényt egy másik időzóna meghatározására, ha más időbélyeget szeretne használni egy adott számításban.
A számítások alapértelmezett időzónájának beállítása a rendszerbeállításokban
CURRENT_DATE
CURRENT_TIME()
CURRENT_TIMESTAMP()
NOW()
Adminisztrátorként módosíthatja a számításokban használt időbélyeget a Speciális rendszerbeállítások Alapértelmezett időzóna a dátumszámításokhoz opciójánál. Válassza ki a kívánt időzónát a legördülő listából, és alkalmazza a módosításokat. Az új érték érvénybe lép.
További információ a globális időzóna-beállításokról: Rendszerbeállítások – Formázási beállítások.
Adott időzóna használata időbélyegeknél a számításokban
Ha a számításában a rendszerbeállítástól eltérő időbélyeget szeretne generálni, használja a TIMESTAMPADD
függvényt a következők valamelyikével egyszerre: CURRENT_TIMESTAMP()
vagy NOW()
. Az alapvető TIMESTAMPADD
számítás a következő:
TIMESTAMPADD(SQL_TSI_<<időintervallum>>, <<egész szám értékű kifejezés>>, <<időbélyeg értékű kifejezés>>)
Az időbélyegek számításainál az HOUR
érték az időintervallum, az időeltolás pedig az UTC és a jelentés alapját képező időzóna közötti órák száma. Például:
TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP(5))
Ez a számítás az aktuális időbélyeget az USA hegyvidéki időzónában adja vissza. Az új időbélyeg oszlop létrehozható származtatott oszlopként a logikai táblaforrásban, vagy közvetlenül megfeleltethető az adatbázisnak. A különbség a számítás elvégzésének helye, azaz az Oracle Analytics vagy az adatbázis. A következő ábrán egy számítás látható, amely közvetlenül az adatbázisnak van megfeleltetve a Kifejezés varázsló - Kifejezés párbeszédpanelen.
Ha az alapértelmezett időzóna az UTC, a CURRENT_DATE
függvény nem adja vissza a megfelelő dátumot a nap bizonyos óráiban (a felhasználó időzónájához képest). Például, ha UTC idő szerint éjfél van, a helyi dátum nem felel meg az UTC dátumnak az időeltolódás idején.
Megoldja a problémát, ha dátumként használjuk az időbélyeg-számítást. Például:
cast(TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP) as date)
A következő ábrán egy olyan számítás látható, amelyet származtatott oszlopként hoztak létre a Kifejezés varázsló - Származtatott logikai oszlop párbeszédpanelen.
Egyedi vagy egyszeri jelentéseknél létrehozhat időbélyeg-számításokat a kimutatás szintjén is adatábrázolásban vagy klasszikus elemzésben. Ha újra fel szeretné használni a számításokat, gyakran egyszerűbb őket oszlopként definiálni a szemantikai modellben (vagy az RPD fájlban).
További információ a témakörben említett függvényekről: Dátum- és időfüggvények és Idősorfüggvények.