Οι λειτουργίες ημερομηνίας και ώρας χειρίζονται τα δεδομένα με βάση τα DATE
και DATETIME
.
Συνάρτηση | Παράδειγμα | Περιγραφή | Σύνταξη |
---|---|---|---|
CURRENT_Date |
|
Επιστρέφει την τρέχουσα ημερομηνία. Η ημερομηνία καθορίζεται από το σύστημα στο οποίο εκτελείται το Oracle BI. |
|
CURRENT_TIME |
|
Επιστρέφει την τρέχουσα ώρα στον καθορισμένο αριθμό ψηφίων ακριβείας, για παράδειγμα: ΩΩ:ΛΛ:ΔΔ.ΔΔΔ Εάν δεν έχει καθοριστεί όρισμα, η συνάρτηση επιστρέφει την προεπιλεγμένη ακρίβεια. |
|
CURRENT_TIMESTAMP |
|
Επιστρέφει την τρέχουσα ημερομηνία/χρονική σήμανση στον καθορισμένο αριθμό ψηφίων ακριβείας. |
|
DAYNAME |
|
Επιστρέφει το όνομα της ημέρας της εβδομάδας για μια καθορισμένη έκφραση ημερομηνίας. |
|
DAYOFMONTH |
|
Επιστρέφει τον αριθμό που αντιστοιχεί στην ημέρα του μήνα για μια καθορισμένη έκφραση ημερομηνίας. |
|
DAYOFWEEK |
|
Επιστρέφει έναν αριθμό μεταξύ 1 και 7 που αντιστοιχεί στην ημέρα της εβδομάδας για μια καθορισμένη έκφραση ημερομηνίας. Για παράδειγμα, το 1 αντιστοιχεί πάντα στην Κυριακή, το 2 αντιστοιχεί στη Δευτέρα, κ.λπ. έως το Σάββατο που επιστρέφει το 7. |
|
DAYOFYEAR |
|
Επιστρέφει τον αριθμό (μεταξύ 1 και 366) που αντιστοιχεί στην ημέρα του έτους για μια καθορισμένη έκφραση ημερομηνίας. |
|
DAY_OF_QUARTER |
|
Επιστρέφει έναν αριθμό (μεταξύ 1 και 92) που αντιστοιχεί στην ημέρα του τριμήνου για την καθορισμένη έκφραση ημερομηνίας. |
|
HOUR |
|
Επιστρέφει έναν αριθμό (μεταξύ 0 και 23) που αντιστοιχεί στην ώρα για μια καθορισμένη έκφραση ώρας. Για παράδειγμα, το 0 αντιστοιχεί στις 12 π.μ. και το 23 στις 11 μ.μ. |
|
MINUTE |
|
Επιστρέφει έναν αριθμό (μεταξύ 0 και 59) που αντιστοιχεί στο λεπτό για μια καθορισμένη έκφραση ώρας. |
|
MONTH |
|
Επιστρέφει έναν αριθμό (μεταξύ 1 και 12) που αντιστοιχεί στο μήνα για μια καθορισμένη έκφραση ημερομηνίας. |
|
MONTHNAME |
|
Επιστρέφει το όνομα του μήνα για μια καθορισμένη έκφραση ημερομηνίας. |
|
MONTH_OF_QUARTER |
|
Επιστρέφει τον αριθμό (μεταξύ 1 και 3) που αντιστοιχεί στο μήνα του τριμήνου για μια καθορισμένη έκφραση ημερομηνίας. |
|
NOW |
|
Επιστρέφει την τρέχουσα χρονική ένδειξη. Η συνάρτηση |
|
QUARTER_OF_YEAR |
|
Επιστρέφει τον αριθμό (μεταξύ 1 και 4) που αντιστοιχεί στο τρίμηνο του έτους για μια καθορισμένη έκφραση ημερομηνίας. |
|
SECOND |
|
Επιστρέφει τον αριθμό (μεταξύ 0 και 59) που αντιστοιχεί στα δευτερόλεπτα για μια καθορισμένη έκφραση ώρας. |
|
TIMESTAMPADD |
|
Προσθέτει έναν καθορισμένο αριθμό διαστημάτων σε μια χρονική σήμανση και επιστρέφει μια μοναδική χρονική σήμανση. Οι επιλογές των διαστημάτων είναι: 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 |
|
Επιστρέφει το συνολικό αριθμό καθορισμένων διαστημάτων μεταξύ δύο χρονικών ενδείξεων. Χρησιμοποιεί τα ίδια διαστήματα με τη συνάρτηση TIMESTAMPADD. |
|
WEEK_OF_QUARTER |
|
Επιστρέφει έναν αριθμό (μεταξύ 1 και 13) που αντιστοιχεί στην εβδομάδα του τριμήνου για την καθορισμένη έκφραση ημερομηνίας. |
|
WEEK_OF_YEAR |
|
Επιστρέφει έναν αριθμό (μεταξύ 1 και 53) που αντιστοιχεί στην εβδομάδα του έτους για την καθορισμένη έκφραση ημερομηνίας. |
|
YEAR |
|
Επιστρέφει το έτος για την καθορισμένη έκφραση ημερομηνίας. |
|
Ακολουθούν ορισμένες συμβουλές για να έχετε τα καλύτερα αποτελέσματα όταν χρησιμοποιείτε συναρτήσεις ημερομηνίας στα βιβλία εργασίας σας για τον υπολογισμό των οικονομικών περιόδων, τη μετατροπή συμβολοσειρών σε ημερομηνίες, την εμφάνιση ημερομηνίας και ώρας σε μια συγκεκριμένη ζώνη ώρας και τον υπολογισμό των διαφορών με την πάροδο του χρόνου.
Υπολογισμός οικονομικού έτους, τριμήνου και μήνα:
Οι θεματικές περιοχές έχουν συνήθως μια χρονική διάσταση, επομένως μπορείτε να χρησιμοποιήσετε τις προδιαμορφωμένες περιόδους, όπως το οικονομικό τρίμηνο, τον οικονομικό μήνα και την οικονομική εβδομάδα. Εάν έχετε μόνο ένα πεδίο ημερομηνίας, μπορείτε να υπολογίσετε μόνοι σας αυτές τις περιόδους χρησιμοποιώντας συναρτήσεις ημερομηνίας.
Αυτό το παράδειγμα υπολογίζει το οικονομικό τρίμηνο:
'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)
Αυτό το παράδειγμα υπολογίζει το οικονομικό έτος και μήνα:
'FY'||cast(YEAR(TIMESTAMPADD(SQL_TSI_MONTH, 7,<date field>)) as char)||cast(MONTHNAME(<same date field>) as char)
Σημειώσεις:
||
συνενώνει τις τιμές.cast (xxx(ημ/νία) ως char)
εξάγει ένα τμήμα ενός πεδίου ημερομηνίας.TIMESTAMPADD
προσθέτει (ή αφαιρεί) περιόδους από μια ημερομηνία. Αυτό το παράδειγμα χρησιμοποιεί την τιμή παραμέτρου SQL_TSI_MONTH για την προσθήκη μηνών.Οι παραπάνω υπολογισμοί λειτουργούν καλά σε πίνακες, αλλά όταν χρησιμοποιούνται σε φίλτρα, η απόσταση μεταξύ των επιστρεφόμενων τιμών μπορεί να φαίνεται περίεργη. Σε αυτήν την περίπτωση, χρησιμοποιήστε έναν καθαρότερο αλλά πιο περίπλοκο υπολογισμό με βάση αυτά τα παραδείγματα:
'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')
Μετατροπή συμβολοσειράς σε ημερομηνία:
Στο πλαίσιο κειμένου που περιέχει το όνομα της στήλης σας με μπλε χρώμα, εισαγάγετε To_DateTime(
πριν από το όνομα της στήλης και, στη συνέχεια, προσθέστε τη μορφή ημερομηνίας που θέλετε να χρησιμοποιήσετε μετά το όνομα της στήλης, ακολουθούμενη από )
και, στη συνέχεια, κάντε κλικ στην επιλογή Προσθήκη βήματος.
.png''
Όταν χρησιμοποιείτε την επιλογή Επεξεργασία για να δημιουργήσετε τη συνάρτηση μετατροπής ημερομηνίας, μπορείτε επίσης να χρησιμοποιήσετε το Allow_Variable_Digits
για να επεξεργαστείτε τιμές στηλών με μονοψήφιους ή διψήφιους αριθμούς και ορίσματα Null_On_Error
για απορρίψτε σειρές που δεν ταιριάζουν με το μοτίβο που απαιτείται. Ανατρέξτε επίσης στις REPLACE και CAST για εναλλακτικούς τρόπους επεξεργασίας δεδομένων που δεν ταιριάζουν με το απαιτούμενο μοτίβο.
Ως εναλλακτική για τη χρήση του To_DateTime()
, χρησιμοποιήστε το CAST() για να αλλάξετε τον τύπο δεδομένων μιας τιμής. Για παράδειγμα, CAST(SalesDate AS DATE)
.
Επιπλέον, χρησιμοποιήστε την επιλογή Αντικατάσταση. Στη σχεδίαση βιβλίου εργασίας, μεταβείτε στο παράθυρο δεδομένων στη στήλη που θέλετε να μετατρέψετε και, στη συνέχεια, κάντε δεξί κλικ και επιλέξτε Αντικατάσταση. Διαμορφώστε τον τύπο αντικατάστασης που θέλετε και, στη συνέχεια, κάντε κλικ στην επιλογή Προσθήκη βήματος.
Εμφάνιση πεδίου ημερομηνίας και ώρας σε μια συγκεκριμένη ζώνη ώρας:
Χρησιμοποιήστε τη συνάρτηση NEW_TIME στη βάση δεδομένων σε συνδυασμό με το EVALUATE. Για παράδειγμα:
evaluate ('new_time(%1,%2,%3)' as char, "DV - Pipeline and Forecast"."Opportunity"."Last Updated Date",'GMT','AST')
Βεβαιωθείτε ότι το πεδίο ημερομηνίας περιλαμβάνει το στοιχείο ώρας.
Υπολογισμός διαφοράς με την πάροδο του χρόνου:
filter (Μέτρηση με χρήση ημερομηνίας <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
Measure - filter (Μέτρηση με χρήση ημερομηνίας <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
1-(filter (Μέτρηση με χρήση ημερομηνίας <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))/Measure εμφάνιση ως ποσοστό
Σημειώσεις:
SQL_TSI_DAY
, ωστόσο μπορείτε εναλλακτικά να χρησιμοποιήσετε WEEK και MONTH από εβδομάδα σε εβδομάδα και από μήνα σε μήνα.