A dátum- és időfüggvények a DATE
és DATETIME
alapján végeznek műveleteket az adatokon.
Függvény | Példa | Leírás | Szintaxis |
---|---|---|---|
CURRENT_Date |
|
Visszatérési értéke az aktuális dátum. A dátumot az a rendszer határozza meg, amelyiken az Oracle BI fut. |
|
CURRENT_TIME |
|
Visszatérési értéke az aktuális idő, megadott számjegyű pontossággal kifejezve, például: HH:MM:SS.SSS Argumentum hiányában a függvény visszatérési értéke az alapértelmezett pontosság. |
|
CURRENT_TIMESTAMP |
|
Visszatérési értéke az aktuális dátum/időbélyeg, megadott számjegyű pontossággal kifejezve. |
|
DAYNAME |
|
Visszatérési értéke az adott dátumkifejezéshez tartozó hét napjának a neve. |
|
DAYOFMONTH |
|
Visszatérési értéke a nap hónapon belüli sorszáma a megadott dátumkifejezésnél. |
|
DAYOFWEEK |
|
Visszatérési értéke az adott dátumkifejezés napjának a héten belüli pozíciója (1 és 7 közötti szám). Például az 1 a vasárnapot, a 2 a hétfőt és így tovább, a 7 pedig a szombatot jelöli. |
|
DAYOFYEAR |
|
Visszatérési értéke az adott dátumkifejezés napjának az éven belüli pozíciója (1 és 366 közötti szám). |
|
DAY_OF_QUARTER |
|
Visszatérési értéke az adott dátumkifejezés napjának a negyedéven belüli pozíciója (1 és 92 közötti szám). |
|
HOUR |
|
Visszatérési értéke a megadott időpont-kifejezés órában kifejezett értéke (0 és 23 közötti szám). A 0 a déli 12 órának, a 23 pedig az este 11 órának felel meg. |
|
MINUTE |
|
Visszatérési értéke a megadott időpont-kifejezés percben kifejezett értéke (0 és 59 közötti szám). |
|
MONTH |
|
Visszatérési értéke a megadott dátumkifejezés hónapban kifejezett értéke (1 és 12 közötti szám). |
|
MONTHNAME |
|
Visszatérési értéke a hónap neve a megadott dátumkifejezésnél. |
|
MONTH_OF_QUARTER |
|
Visszatérési értéke az adott dátumkifejezés hónapjának a negyedévben belüli pozíciója (1 és 3 közötti szám). |
|
NOW |
|
Visszatérési értéke az aktuális időbélyeg. A |
|
QUARTER_OF_YEAR |
|
Visszatérési értéke az adott dátumkifejezés negyedévének az éven belüli pozíciója (1 és 4 közötti szám). |
|
SECOND |
|
Visszatérési értéke a megadott időpont-kifejezés percben kifejezett értéke (0 és 59 közötti szám). |
|
TIMESTAMPADD |
|
Egy időbélyeghez megadott számú időtartamot ad hozzá, és ennek eredményét egyetlen időbélyegként adja vissza. Lehetséges időköz-beállítások: SQL_TSI_SECOND, SQL_TSI_MINUTE, SQL_TSI_HOUR, SQL_TSI_DAY, SQL_TSI_WEEK, SQL_TSI_MONTH, SQL_TSI_QUARTER, SQL_TSI_YEAR |
|
TIMESTAMPDIFF |
|
Visszatérési értéke két időbélyeg közötti időtartam a megadott időközök számával kifejezve. Ugyanazokat az időközöket használhatja, mint a TIMESTAMPADD függvény esetében. |
|
WEEK_OF_QUARTER |
|
Visszatérési értéke az adott dátumkifejezés hetének a negyedéven belüli pozíciója (1 és 13 közötti szám). |
|
WEEK_OF_YEAR |
|
Visszatérési értéke az adott dátumkifejezés hetének az éven belüli pozíciója (1 és 53 közötti szám). |
|
YEAR |
|
Visszatérési értéke a megadott dátumkifejezés évszáma. |
|
Íme néhány tipp, hogy a lehető legjobb eredményeket érhesse el, amikor dátumfüggvényeket használ a munkafüzetében pénzügyi időszakok kiszámításához, karakterláncok dátummá konvertálásához, dátum és idő megjelenítéséhez egy adott időzóna szerint, illetve a különbségek kiszámításához az idők folyamán.
Pénzügyi év, negyedév és hónap kiszámítása:
A tárgyterületek tipikusan rendelkeznek egy idő dimenzióval, ezért használhatók az olyan előre konfigurált időszakok, mint a pénzügyi negyedév, a pénzügyi hónap és a pénzügyi hét. Ha csak dátum mezővel rendelkezik, ezeket az időszakokat Ön is kiszámíthatja dátumfüggvények használatával.
Ez a példa a pénzügyi negyedévet számítja ki:
'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)
Ez a példa a pénzügyi évet és hónapot számítja ki:
'FY'||cast(YEAR(TIMESTAMPADD(SQL_TSI_MONTH, 7,<date field>)) as char)||cast(MONTHNAME(<same date field>) as char)
Megjegyzések:
||
összefűzi az értékeket.cast (xxx(date) as char)
kinyeri egy dátum mező egy részét.TIMESTAMPADD
hozzáad időszakokat egy dátumhoz (vagy kivonja őket belőle). Ez a példa az SQL_TSI_MONTH paraméterértéket használja hónapok hozzáadásához.A fenti számítások jól működnek táblázatokban, de ha szűrőkben használják őket, a visszaadott értékek közötti térköz furcsán nézhet ki. Ebben az esetben használjon tisztább, de összetettebb számítást a következő példák alapján:
'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')
Karakterlánc dátummá alakítása:
Az oszlop nevét kék színűen tartalmazó szövegmezőbe illessze be a To_DateTime(
elemet az oszlop neve elé, majd adja hozzá a használni kívánt dátumformátumot, utána a )
elemet, majd kattintson a Lépés hozzáadása lehetőségre.
.png ábra leírása
Amikor a Szerkesztés beállítás használatával hozza létre a dátumátalakítási függvényt, használhatja az Allow_Variable_Digits
karakterláncot az egy vagy két számjegyű oszlopértékek feldolgozásához, míg a Null_On_Error
argumentumokkal elvetheti azokat a sorokat, amelyek nem felelnek meg a szükséges mintának. A REPLACE és CAST is használható a szükséges mintának nem megfelelő adatok feldolgozásához.
A To_DateTime()
helyett használható a CAST() értékek adattípusának módosításához. Például: CAST(SalesDate AS DATE)
.
Továbbá használhatja a Csere opciót. A munkafüzet-tervezőben, az adatok panelen navigáljon az átalakítani kívánt oszlopra, kattintson a jobb egérgombbal, és válassza a Csere lehetőséget. Konfigurálja a kívánt csere típusát, majd kattintson a Lépés hozzáadása lehetőségre.
Dátum és idő mező megjelenítése egy adott időzónában:
Az adatbázisban használja egyszerre a NEW_TIME és az EVALUATE függvényeket. Például:
evaluate ('new_time(%1,%2,%3)' as char, "DV - Pipeline and Forecast"."Opportunity"."Last Updated Date",'GMT','AST')
Győződjön meg róla, hogy a dátum mező tartalmazza az időösszetevőt.
Időszak alatti különbség kiszámítása:
filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
Measure - filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
1-(filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))/Measure display as percentage
Megjegyzések:
SQL_TSI_DAY
, karakterláncot használják, viszont a WEEK és MONTH is használható hétről hétre és hónapról hónapra számításban.