Päivän ja kelloajan funktiot käsittelevät tietoa DATE
- ja DATETIME
-parametrien perusteella.
Funktio | Esimerkki | Kuvaus | Syntaksi |
---|---|---|---|
CURRENT_Date |
|
Palauttaa nykyisen päivämäärän. Päivämäärä määritetään järjestelmässä, jossa Oracle BI on käytössä. |
|
CURRENT_TIME |
|
Palauttaa nykyisen ajan määritetyn numeromäärän tarkkuudella, esimerkiksi HH:MM:SS.SSS Jos argumenttia ei ole määritetty, funktio palauttaa oletusarvoisen tarkkuuden. |
|
CURRENT_TIMESTAMP |
|
Palauttaa nykyisen päivämäärän/aikaleiman määritetyn numeromäärän tarkkuudella. |
|
DAYNAME |
|
Palauttaa määritetyn päivämäärälausekkeen mukaisen viikonpäivän nimen. |
|
DAYOFMONTH |
|
Palauttaa määritetyn päivämäärälausekkeen mukaisen kuukauden päivää vastaavan numeron. |
|
DAYOFWEEK |
|
Palauttaa määritetyn päivämäärälausekkeen mukaisen viikonpäivää vastaavan numeron väliltä 1 - 7. Esimerkiksi 1 vastaa aina sunnuntaita, 2 vastaa aina maanantaita, ja lauantai palauttaa arvon 7. |
|
DAYOFYEAR |
|
Palauttaa määritetyn päivämäärälausekkeen mukaisen vuoden päivää vastaavan numeron (väliltä 1 - 366). |
|
DAY_OF_QUARTER |
|
Palauttaa määritetyn päivämäärälausekkeen mukaisen neljännesvuoden päivää vastaavan numeron (väliltä 1 - 92). |
|
HOUR |
|
Palauttaa määritetyn aikalausekkeen mukaisen tuntia vastaavan numeron (väliltä 1 - 23). Esimerkiksi 0 on sama kuin klo 12 ja 23 on sama kuin klo 23. |
|
MINUTE |
|
Palauttaa määritetyn aikalausekkeen mukaisen minuuttia vastaavan numeron (väliltä 0 - 59). |
|
MONTH |
|
Palauttaa määritetyn päivämäärälausekkeen mukaisen kuukautta vastaavan numeron (väliltä 1 - 12). |
|
MONTHNAME |
|
Palauttaa määritetyn päivämäärälausekkeen mukaisen kuukauden nimen. |
|
MONTH_OF_QUARTER |
|
Palauttaa määritetyn päivämäärälausekkeen mukaisen neljännesvuoden kuukautta vastaavan numeron (väliltä 1 - 3). |
|
NOW |
|
Palauttaa nykyisen aikaleiman. |
|
QUARTER_OF_YEAR |
|
Palauttaa määritetyn päivämäärälausekkeen mukaisen vuoden neljännesvuotta vastaavan numeron (väliltä 1 - 4). |
|
SECOND |
|
Palauttaa määritetyn aikalausekkeen mukaisen sekuntia vastaavan numeron (väliltä 0 - 59). |
|
TIMESTAMPADD |
|
Lisää määritetyn määrän aikavälejä aikaleimaan ja palauttaa yksittäisen aikaleiman. Aikavälit: 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 |
|
Palauttaa kahden aikaleiman välisten määritettyjen aikavälien kokonaismäärän. Käyttää samoja aikavälejä kuin TIMESTAMPADD. |
|
WEEK_OF_QUARTER |
|
Palauttaa määritetyn päivämäärälausekkeen mukaisen neljännesvuoden viikkoa vastaavan numeron (väliltä 1 - 13). |
|
WEEK_OF_YEAR |
|
Palauttaa määritetyn päivämäärälausekkeen mukaisen vuoden viikkoa vastaavan numeron (väliltä 1 - 53). |
|
YEAR |
|
Palauttaa määritetyn päivämäärälausekkeen mukaisen vuoden. |
|
Tässä on joitakin vihjeitä, joiden avulla saat parhaita mahdollisia tuloksia käyttäessäsi työkirjojen päivämääräfunktioita tilikausien laskentaan, merkkijonojen muuntamiseen päivämääriksi, tietyn aikavyöhykkeen päivämäärien ja kellonaikojen näyttämiseen ja erojen laskentaan tietyllä aikavälillä.
Tilivuoden, -vuosineljänneksen ja -kuukauden laskenta:
Aihealueilla on tavallisesti aikadimensio, joten voit käyttää ennalta määritettyjä jaksoja, kuten tilivuosineljännestä, tilikuukautta ja tiliviikkoa. Jos käytössäsi on vain päivämääräkenttä, voit laskea nämä jaksot itse päivämääräfunktioiden avulla.
Tässä esimerkissä lasketaan tilivuosineljännes:
'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)
Tässä esimerkissä lasketaan tilivuosi ja -kuukausi:
'FY'||cast(YEAR(TIMESTAMPADD(SQL_TSI_MONTH, 7,<date field>)) as char)||cast(MONTHNAME(<same date field>) as char)
Huomautuksia:
||
yhdistää arvoja.cast (xxx(date) as char)
poimii osan päivämääräkentästä.TIMESTAMPADD
lisää jaksoja päivämäärään tai poistaa niitä siitä. Tässä esimerkissä käytetään parametrin arvoa SQL_TSI_MONTH kuukausien lisäämiseen.Edellä mainitut laskutoimitukset toimivat hyvin taulukoissa, mutta kun niitä käytetään suodattimissa, palautettujen arvojen välinen välistys saattaa näyttää oudolta. Käytä siinä tapauksessa selkeämpää, mutta monimutkaisempaa laskutoimitusta, joka perustuu näihin esimerkkeihin:
'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')
Merkkijonon muuntaminen päivämääräksi:
Lisää tekstiruutuun, joka sisältää sarakkeesi nimen sinisellä kirjoitettuna, To_DateTime(
ennen sarakkeen nimeä. Lisää käytettävä päivämäärän muoto sarakkeen nimen jälkeen, lisää perään )
ja valitse Lisää vaihe.
.png kuvaus
Kun luot päivämääränmuuntofunktion Muokkaa-valintaa käyttäen, voit myös käsitellä yksi- tai kaksinumeroisia sarakearvoja argumentin Allow_Variable_Digits
avulla sekä hylätä rivit, jotka eivät vastaa vaadittua kaavaa, argumentin Null_On_Error
avulla. Katso myös REPLACE ja CAST, jotka ovat vaihtoehtoisia tapoja käsitellä tietoja, jotka eivät vastaa vaadittua kaavaa.
To_DateTime()
-funktion sijaan arvon tietotyyppiä voidaan vaihtaa myös CAST()-funktiolla. Esimerkki: CAST(SalesDate AS DATE)
.
Käytä lisäksi Korvaa-valintaa. Siirry työkirjan suunnitteluohjelman Tiedot-ruudussa muunnettavaan sarakkeeseen, napsauta hiiren kakkospainiketta ja valitse Korvaa. Konfiguroi haluamasi korvaustyyppi ja valitse Lisää vaihe.
Päivämäärä- ja aikakentän näyttäminen tietyllä aikavyöhykkeellä:
Käytä NEW_TIME-funktiota tietokannassa yhdessä EVALUATE-funktion kanssa. Esimerkki:
evaluate ('new_time(%1,%2,%3)' as char, "DV - Pipeline and Forecast"."Opportunity"."Last Updated Date",'GMT','AST')
Varmista, että päivämääräkenttä sisältää aikakomponentin.
Eron laskenta tietyllä aikavälillä:
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
Huomautuksia:
SQL_TSI_DAY
-funktiota. Voit kuitenkin käyttää myös WEEK- ja MONTH-funktioita viikoittaisissa ja kuukausittaisissa vertailuissa.