Met de functies voor datum en tijd worden gegevens bewerkt op basis van DATE
en DATETIME
.
Functie | Voorbeeld | Beschrijving | Syntaxis |
---|---|---|---|
CURRENT_Date |
|
Hiermee wordt de huidige datum geretourneerd. De datum wordt bepaald door het systeem waarop Oracle BI wordt uitgevoerd. |
|
CURRENT_TIME |
|
Hiermee wordt de huidige tijd geretourneerd met het opgegeven aantal cijfers achter de komma, bijvoorbeeld UU:MM:SS,SSS. Als er geen argument wordt opgegeven, retourneert de functie de standaardprecisie. |
|
CURRENT_TIMESTAMP |
|
Hiermee wordt de huidige datum/tijdstempel geretourneerd met het opgegeven aantal cijfers achter de komma. |
|
DAYNAME |
|
Hiermee wordt de naam van de dag van de week geretourneerd voor een opgegeven datumuitdrukking. |
|
DAYOFMONTH |
|
Hiermee wordt het getal geretourneerd dat overeenkomt met de dag van de maand voor een opgegeven datumuitdrukking. |
|
DAYOFWEEK |
|
Hiermee wordt een getal tussen 1 en 7 geretourneerd dat overeenkomt met de dag van de week voor een opgegeven datumuitdrukking. Hierbij staat de waarde 1 voor zondag, 2 voor maandag, enzovoort, tot en met 7 voor zaterdag. |
|
DAYOFYEAR |
|
Hiermee wordt een getal tussen 1 en 366 geretourneerd dat overeenkomt met de dag van het jaar voor een opgegeven datumuitdrukking. |
|
DAY_OF_QUARTER |
|
Hiermee wordt een getal tussen 1 en 92 geretourneerd dat overeenkomt met de dag van het kwartaal voor de opgegeven datumuitdrukking. |
|
HOUR |
|
Hiermee wordt een getal tussen 0 en 23 geretourneerd dat overeenkomt met het uur voor een opgegeven tijduitdrukking. 0 komt bijvoorbeeld overeen met 00:00 uur en 23 met 23:00 uur. |
|
MINUTE |
|
Hiermee wordt een getal tussen 0 en 59 geretourneerd dat overeenkomt met de minuut voor een opgegeven tijduitdrukking. |
|
MONTH |
|
Hiermee wordt een getal tussen 1 en 12 geretourneerd dat overeenkomt met de maand voor een opgegeven datumuitdrukking. |
|
MONTHNAME |
|
Hiermee wordt de naam van de maand geretourneerd voor een opgegeven datumuitdrukking. |
|
MONTH_OF_QUARTER |
|
Hiermee wordt een getal tussen 1 en 3 geretourneerd dat overeenkomt met de maand in het kwartaal voor een opgegeven datumuitdrukking. |
|
NOW |
|
Hiermee wordt de huidige tijdstempel geretourneerd. De functie |
|
QUARTER_OF_YEAR |
|
Hiermee wordt een getal tussen 1 en 4 geretourneerd dat overeenkomt met het kwartaal van het jaar voor een opgegeven datumuitdrukking. |
|
SECOND |
|
Hiermee wordt een getal tussen 0 en 59 geretourneerd dat overeenkomt met de seconden voor een opgegeven tijduitdrukking. |
|
TIMESTAMPADD |
|
Hiermee wordt een opgegeven aantal intervallen toegevoegd aan een tijdstempel en wordt één tijdstempel geretourneerd. De intervalopties zijn: SQL_TSI_SECOND, SQL_TSI_MINUTE, SQL_TSI_HOUR, SQL_TSI_DAY, SQL_TSI_WEEK, SQL_TSI_MONTH, SQL_TSI_QUARTER en SQL_TSI_YEAR. |
|
TIMESTAMPDIFF |
|
Hiermee wordt het totale aantal intervallen tussen twee tijdstempels geretourneerd. Deze functie gebruikt dezelfde intervallen als TIMESTAMPADD. |
|
WEEK_OF_QUARTER |
|
Hiermee wordt een getal tussen 1 en 13 geretourneerd dat overeenkomt met de week van het kwartaal voor de opgegeven datumuitdrukking. |
|
WEEK_OF_YEAR |
|
Hiermee wordt een getal tussen 1 en 53 geretourneerd dat overeenkomt met de week van het jaar voor de opgegeven datumuitdrukking. |
|
YEAR |
|
Hiermee wordt het jaar voor de opgegeven datumuitdrukking geretourneerd. |
|
Hier vindt u enkele tips voor het verkrijgen van de beste resultaten bij het gebruik van datumfuncties in uw werkmappen voor het berekenen van boekperioden, het converteren van strings naar datums, het tonen van een datum en tijd in een specifieke tijdzone en het berekenen van verschillen in de loop van de tijd.
Boekjaar, -kwartaal en -maand berekenen:
Onderwerpgebieden hebben doorgaans een tijdsdimensie. U kunt hiervoor de voorgeconfigureerde perioden gebruiken, zoals het boekkwartaal, de boekmaand of de boekweek. Als u alleen een datumveld hebt, kunt u deze perioden zelf berekenen met behulp van datumfuncties.
In dit voorbeeld wordt het boekkwartaal berekend:
'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)
In dit voorbeeld wordt het boekjaar en de boekmaand berekend:
'FY'||cast(YEAR(TIMESTAMPADD(SQL_TSI_MONTH, 7,<date field>)) as char)||cast(MONTHNAME(<same date field>) as char)
Opmerkingen:
||
aaneengeschakelde waarden.cast (xxx(date) as char)
extraheert een gedeelte van een datumveld.TIMESTAMPADD
voegt perioden toe aan (of trekt deze af van) een datum. In dit voorbeeld wordt de parameter SQL_TSI_MONTH gebruikt om maanden toe te voegen.De bovenstaande berekeningen werken goed in tabellen, maar in filters kan de ruimte tussen de geretourneerde waarden er vreemd uitzien. Gebruik in dat geval een nettere maar complexere berekening op basis van deze voorbeelden:
'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')
Een string converteren naar een datum:
Voeg in het tekstvak dat de naam van uw kolom in het blauw bevat To_DateTime(
toe voorafgaand aan de kolomnaam. Voeg vervolgens de datumnotatie toe die u wilt gebruiken na de kolomnaam, gevolgd door )
en klik op Stap toevoegen.
.png
Wanneer u de optie 'Bewerken' gebruikt om uw datumconversiefunctie te maken, kunt u ook Allow_Variable_Digits
gebruiken om kolomwaarden met één of twee cijfers te verwerken, evenals Null_On_Error
-argumenten om rijen uit te sluiten die niet overeenkomen met het vereiste patroon. Zie ook REPLACE en CAST voor alternatieve manieren waarop u gegevens kunt verwerken die niet overeenkomen met het vereiste patroon.
Als alternatief voor To_DateTime()
kunt u CAST() gebruiken om het gegevenstype van een waarde te wijzigen. Bijvoorbeeld: CAST(SalesDate AS DATE)
.
Gebruik daarnaast de optie Vervangen. Open de werkmapdesigner, ga in het venster 'Gegevens' naar de kolom die u wilt converteren, klik met de rechtermuisknop en selecteer Vervangen. Configureer het soort vervanging dat u wilt en klik op Stap toevoegen.
Een datum- en tijdveld tonen in een specifieke tijdzone:
Gebruik de functie NEW_TIME in de database in combinatie met EVALUATE. Bijvoorbeeld:
evaluate ('new_time(%1,%2,%3)' as char, "DV - Pipeline and Forecast"."Opportunity"."Last Updated Date",'GMT','AST')
Controleer of het datumveld de tijdcomponent bevat.
Verschillen in de loop van de tijd berekenen:
filter (Eenheid met datum <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
Measure - filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
1-(filter (Eenheid met datum <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))/Eenheid tonen als percentage
Opmerkingen:
SQL_TSI_DAY
. Als alternatief kunt u WEEK en MONTH gebruiken voor het verschil ten opzichte van een week en een maand geleden.