Ve službě Oracle Analytics nastavují správci výchozí časové pásmo používané pro výpočty data a času na stránce Nastavení systému a toto globální nastavení se vztahuje na všechny výpočty. Pokud chcete v konkrétním výpočtu použít jinou časovou značku, můžete k zadání požadovaného časového pásma použít funkci TIMESTAMPADD
.
Nastavení výchozího časového pásma pro výpočty na stránce Nastavení systému
CURRENT_DATE
CURRENT_TIME()
CURRENT_TIMESTAMP()
NOW()
Správci mohou změnit časovou značku používanou ve výpočtech pomocí volby Výchozí časové pásmo pro výpočty kalendářních dat v konzole na stránce Nastavení systému. Z rozevíracího seznamu vyberte požadované časové pásmo a proveďte změny, aby se nová hodnota uplatnila.
Další informace o globálním nastavení časového pásma naleznete v tématu Nastavení systému – Volby formátu.
Použití určitého časového pásma pro časové značky ve výpočtech
Chcete-li ve výpočtech generovat jinou časovou značku, než odpovídá systémovému nastavení, použijte funkci TIMESTAMPADD
ve spojení s funkcí CURRENT_TIMESTAMP()
nebo NOW()
. Základní výpočet funkce TIMESTAMPADD
je:
TIMESTAMPADD(SQL_TSI_<<interval>>, <<celočíselný výraz>>, <<výraz časové značky>>)
U výpočtů časových značek bude parametrem HOUR interval a časový posun bude rozdíl v hodinách mezi časem UTC a časovým pásmem, ve kterém budou vykazovány. Například:
TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP(5))
Tento výpočet vrací aktuální časovou značku pro časové pásmo Horská oblast USA. Nový sloupec časové značky může být vytvořen jako odvozený sloupec ve zdroji logické tabulky nebo mapován přímo do databáze. Rozdíl spočívá v tom, zda má být výpočet proveden ve službě Oracle Analytics nebo v databázi. Zde je výpočet mapován přímo do databáze:
V jiném případě, kdy je výchozí časové pásmo nastaveno na UTC, funkce CURRENT_DATE
nevrací správné datum pro určité hodiny dne vzhledem k časovému pásmu uživatele. Například když nastane půlnoc v pásmu UTC, místní datum nebude odpovídat datu v pásmu UTC po dobu časového posunu.
Tento problém vyřeší provedení výpočtu časové značky jako data. Například:
cast(TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP) as date)
Zde je výpočet vytvořen jako odvozený sloupec:
U jednorázových sestav můžete výpočty časových značek vytvářet na úrovni sestavy buď ve vizualizaci dat, nebo v klasické analýze. Pokud plánujete používat výpočty opakovaně, je často jednodušší definovat je jako sloupce v sémantickém modelu (nebo v souboru RPD).
Další informace o funkcích zmíněných v tomto tématu naleznete v tématech Funkce času a data a Funkce časové řady.