Funkcije datuma i vremena

Funkcije datuma i vremena podacima manipuliraju temeljem parametra DATE i DATETIME.

Funkcija Primjer Opis Sintaksa

CURRENT_Date

CURRENT_DATE

Vraća današnji datum.

Datum određuje sustav u kojem je pokrenut Oracle BI.

CURRENT_DATE

CURRENT_TIME

CURRENT_TIME(3)

Vraća trenutačno vrijeme uz definirani broj znamenki za preciznost, na primjer: HH:MM:SS.SSS

Ako argument nije definiran, funkcija će vratiti zadanu preciznost.

CURRENT_TIME(expr)

CURRENT_TIMESTAMP

CURRENT_TIMESTAMP(3)

Vraća današnji datum / vremensku oznaku uz definirani broj znamenki za preciznost.

CURRENT_TIMESTAMP(expr)

DAYNAME

DAYNAME(Order_Date)

Vraća naziv dana u tjednu za definirani izraz datuma.

DAYNAME(expr)

DAYOFMONTH

DAYOFMONTH(Order_Date)

Vraća broj koji odgovara danu u mjesecu za definirani izraz datuma.

DAYOFMONTH(expr)

DAYOFWEEK

DAYOFWEEK(Order_Date)

Vraća broj između 1 i 7 koji odgovara danu u tjednu za definirani izraz datuma. 1, na primjer, uvijek odgovara nedjelji, 2 odgovara ponedjeljku itd. sve do subote koja će vratiti 7.

DAYOFWEEK(expr)

DAYOFYEAR

DAYOFYEAR(Order_Date)

Vraća broj (između 1 i 366) koji odgovara danu u godini za navedeni izraz datuma.

DAYOFYEAR(expr)

DAY_OF_QUARTER

DAY_OF_QUARTER(Order_Date)

Vraća broj (između 1 i 92) koji odgovara danu tromjesečja za navedeni izraz datuma.

DAY_OF_QUARTER(expr)

HOUR

HOUR(Order_Time)

Vraća broj (između 0 i 23) koji označava sat za navedeni izraz vremena. Npr., 0 označava ponoć, a 23 označava 11 navečer.

HOUR(expr)

MINUTE

MINUTE(Order_Time)

Vraća broj (između 0 i 59) koji predstavlja minutu za navedeni izraz vremena.

MINUTE(expr)

MONTH

MONTH(Order_Time)

Vraća broj (između 1 i 12) koji predstavlja mjesec za navedeni izraz datuma.

MONTH(expr)

MONTHNAME

MONTHNAME(Order_Time)

Vraća naziv mjeseca za navedeni izraz datuma.

MONTHNAME(expr)

MONTH_OF_QUARTER

MONTH_OF_QUARTER(Order_Date)

Vraća broj (između 1 i 3) koji odgovara mjesecu u tromjesečju za navedeni izraz datuma.

MONTH_OF_QUARTER(expr)

NOW

NOW()

Vraća trenutačnu vremensku oznaku. Funkcija NOW odgovara funkciji CURRENT_TIMESTAMP.

NOW()

QUARTER_OF_YEAR

QUARTER_OF_YEAR(Order_Date)

Vraća broj (između 1 i 4) koji odgovara tromjesečju u godini za navedeni izraz datuma.

QUARTER_OF_YEAR(expr)

SECOND

SECOND(Order_Time)

Vraća broj (između 0 i 59) koji predstavlja sekunde za navedeni izraz vremena.

SECOND(expr)

TIMESTAMPADD

TIMESTAMPADD(SQL_TSI_MONTH, 12,Time."Order Date")

Dodaje određeni broj intervala u vremensku oznaku i vraća jednu vremensku oznaku.

Za interval su dostupne sljedeće opcije: SQL_TSI_SECOND, SQL_TSI_MINUTE, SQL_TSI_HOUR, SQL_TSI_DAY, SQL_TSI_WEEK, SQL_TSI_MONTH, SQL_TSI_QUARTER, SQL_TSI_YEAR

TIMESTAMPADD(interval, expr, timestamp)

TIMESTAMPDIFF

TIMESTAMPDIFF(SQL_TSI_MONTH, Time."Order Date",CURRENT_DATE)

Vraća ukupan broj navedenih intervala između dvije vremenske oznake.

Upotrijebite iste intervale kao TIMESTAMPADD.

TIMESTAMPDIFF(interval, expr, timestamp2)

WEEK_OF_QUARTER

WEEK_OF_QUARTER(Order_Date)

Vraća broj (između 1 i 13) koji odgovara tjednu tromjesečja za navedeni izraz datuma.

WEEK_OF_QUARTER(expr)

WEEK_OF_YEAR

WEEK_OF_YEAR(Order_Date)

Vraća broj (između 1 i 53) koji odgovara tjednu godine za navedeni izraz datuma.

WEEK_OF_YEAR(expr)

YEAR

YEAR(Order_Date)

Vraća godinu za navedeni izraz datuma.

YEAR(expr)

Savjeti pri upotrebi funkcija datuma

Donosimo savjete za dobivanje najboljih rezultata pri upotrebi funkcija datuma u radnim knjigama za izračunavanje fiskalnih razdoblja, pretvaranje nizova u datume, prikazivanje datuma i vremena u konkretnoj vremenskoj zoni te izračunavanje razlika tijekom vremena.

Izračunavanje fiskalne godine, tromjesečja i mjeseca:

Predmetna područja obično imaju vremensku dimenziju, tako da možete upotrijebiti prethodno konfigurirana razdoblja poput fiskalnog tromjesečja, fiskalnog mjeseca i fiskalnog tjedna. Ako imate samo jedno polje za datum, ta razdoblja možete izračunati sami, s pomoću funkcija datuma.

U ovom je primjeru izračunato fiskalno tromjesečje:

'FY'||cast(YEAR(TIMESTAMPADD(SQL_TSI_MONTH, 7,<date field>)) as char)||'Q'||cast(QUARTER(TIMESTAMPADD(SQL_TSI_MONTH, 7,<same date field>)) as char)

U ovom su primjeru izračunati fiskalna godina i mjesec:

'FY'||cast(YEAR(TIMESTAMPADD(SQL_TSI_MONTH, 7,<date field>)) as char)||cast(MONTHNAME(<same date field>) as char)

Napomene:

  • || ulančava vrijednosti.
  • cast (xxx(date) as char) izdvaja dio polja s datumom.
  • TIMESTAMPADD dodaje razdoblja datumu (ili ih oduzima). U tom se primjeru upotrebljava vrijednost parametra SQL_TSI_MONTH za dodavanje mjeseci.

Prethodni izračuni upotrebljivi su u tablicama, ali pri upotrebi u filtrima, razmaci između vraćenih vrijednosti mogli bi djelovati neobično. U tom slučaju upotrijebite jasnije, ali složenije izračune na temelju sljedećih primjera:

'FY'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<date field>,7)),'YY')||'-Q'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<same date field>,7)),'Q')
'FY'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<date field>,7)),'YY')||'-'||evaluate ('to_char(%1,%2)'as char,<same date field>,'MON')

Konverzija niza u datum:

Oracle Analytics profilira vaše podatke i pruža preporuke za obogaćivanje, za izdvajanje i konverziju datuma. Ako sami želite konvertirati niz u datum, slijedite ove savjete.
  • U dizajneru radne knjige prijeđite na prozor s podacima za stupac koji želite konvertirati, pritisnite desnu tipku miša i odaberite Konvertiraj u datum. Konfigurirajte datum i pritisnite Dodaj korak.

  • U dizajneru radne knjige prijeđite na prozor s podacima za stupac koji želite konvertirati, pritisnite desnu tipku miša i odaberite Uredi. Konfigurirajte datum i pritisnite Dodaj korak.

    U tekstnom okviru koji sadrži naziv vašeg stupca u plavoj boji, umetnite To_DateTime( prije naziva stupca, a zatim dodajte format datuma koji želite upotrijebiti nakon naziva stupca te potom ) i pritisnite Dodaj korak.
    Slijedi opis za GUID-ADBD035B-A62A-4DED-8768-553365BAABFE-default.png
    .png

    Ako za stvaranje funkcije konverzije datuma upotrebljavate opciju uređivanja, možete upotrijebiti i Allow_Variable_Digits za obradu vrijednosti stupca jednoznamenkastim/dvoznamenkastim brojevima i argumente Null_On_Error za odbacivanje redaka koji ne odgovaraju traženom uzorku. Pogledajte i REPLACE te CAST kao alternativne načine obrade podataka koji ne odgovaraju traženom uzorku.

    Kao alternativu izrazu To_DateTime() upotrijebite CAST() za promjenu vrste podataka vrijednosti. Npr., CAST(SalesDate AS DATE).

    Osim toga, upotrijebite opciju Zamijeni. U dizajneru radne knjige prijeđite na prozor s podacima za stupac koji želite konvertirati, pritisnite desnu tipku miša i odaberite Zamijeni. Konfigurirajte željenu vrstu zamjene i pritisnite Dodaj korak.

Prikaz polja s datumom i vremenom u konkretnoj vremenskoj zoni:

Upotrijebite funkciju NEW_TIME iz baze podataka u kombinaciji s funkcijom EVALUATE. Na primjer:

evaluate ('new_time(%1,%2,%3)' as char, "DV - Pipeline and Forecast"."Opportunity"."Last Updated Date",'GMT','AST')

Uvjerite se da polje s datumom uključuje vremensku komponentu.

Izračunavanje razlike tijekom vremena:

Za prikaz razlike u broju i postotku između trenutačnog i jučerašnjeg stanja stvorite izračune temeljem sljedećih primjera:
  • Izračun mjerenja do jučer: filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
  • Izračun razlike: Measure - filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
  • Izračun postotka razlike: 1-(filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))/Measure prikaz u obliku postotka

Napomene:

  • U tim se primjerima upotrebljava SQL_TSI_DAY, međutim alternativno možete rabiti WEEK i MONTH tjedan za tjednom i mjesec za mjesecom.
  • Ti primjeri mogu se kombinirati s normalnim ili prirodnim kalendarom. Ako vam trebaju fiskalni mjeseci i tromjesečja, umjesto TIMESTAMPADD u izračunima upotrijebite varijable repozitorija. Alternativno, to možete kombinirati sa savjetom Izračunavanje fiskalne godine, tromjesečja i mjeseca.
  • Neka predmetna područja uključuju prethodno izračunate mjere prethodni-X kao što su PY (prethodna godina), PQ (prethodno tromjesečje) s pomoću kojih možete izračunavati razlike tijekom vremena.
  • Alternativno, možete upotrijebiti funkcije TIME SERIES: AGO, PERIODROLLING i TODATE. Pogledajte Funkcije vremenske serije.