Λειτουργίες ημερομηνίας και ώρας

Οι λειτουργίες ημερομηνίας και ώρας χειρίζονται τα δεδομένα με βάση τα DATE και DATETIME.

Συνάρτηση Παράδειγμα Περιγραφή Σύνταξη

CURRENT_Date

CURRENT_DATE

Επιστρέφει την τρέχουσα ημερομηνία.

Η ημερομηνία καθορίζεται από το σύστημα στο οποίο εκτελείται το Oracle BI.

CURRENT_DATE

CURRENT_TIME

CURRENT_TIME(3)

Επιστρέφει την τρέχουσα ώρα στον καθορισμένο αριθμό ψηφίων ακριβείας, για παράδειγμα: ΩΩ:ΛΛ:ΔΔ.ΔΔΔ

Εάν δεν έχει καθοριστεί όρισμα, η συνάρτηση επιστρέφει την προεπιλεγμένη ακρίβεια.

CURRENT_TIME(expr)

CURRENT_TIMESTAMP

CURRENT_TIMESTAMP(3)

Επιστρέφει την τρέχουσα ημερομηνία/χρονική σήμανση στον καθορισμένο αριθμό ψηφίων ακριβείας.

CURRENT_TIMESTAMP(expr)

DAYNAME

DAYNAME(Order_Date)

Επιστρέφει το όνομα της ημέρας της εβδομάδας για μια καθορισμένη έκφραση ημερομηνίας.

DAYNAME(expr)

DAYOFMONTH

DAYOFMONTH(Order_Date)

Επιστρέφει τον αριθμό που αντιστοιχεί στην ημέρα του μήνα για μια καθορισμένη έκφραση ημερομηνίας.

DAYOFMONTH(expr)

DAYOFWEEK

DAYOFWEEK(Order_Date)

Επιστρέφει έναν αριθμό μεταξύ 1 και 7 που αντιστοιχεί στην ημέρα της εβδομάδας για μια καθορισμένη έκφραση ημερομηνίας. Για παράδειγμα, το 1 αντιστοιχεί πάντα στην Κυριακή, το 2 αντιστοιχεί στη Δευτέρα, κ.λπ. έως το Σάββατο που επιστρέφει το 7.

DAYOFWEEK(expr)

DAYOFYEAR

DAYOFYEAR(Order_Date)

Επιστρέφει τον αριθμό (μεταξύ 1 και 366) που αντιστοιχεί στην ημέρα του έτους για μια καθορισμένη έκφραση ημερομηνίας.

DAYOFYEAR(expr)

DAY_OF_QUARTER

DAY_OF_QUARTER(Order_Date)

Επιστρέφει έναν αριθμό (μεταξύ 1 και 92) που αντιστοιχεί στην ημέρα του τριμήνου για την καθορισμένη έκφραση ημερομηνίας.

DAY_OF_QUARTER(expr)

HOUR

HOUR(Order_Time)

Επιστρέφει έναν αριθμό (μεταξύ 0 και 23) που αντιστοιχεί στην ώρα για μια καθορισμένη έκφραση ώρας. Για παράδειγμα, το 0 αντιστοιχεί στις 12 π.μ. και το 23 στις 11 μ.μ.

HOUR(expr)

MINUTE

MINUTE(Order_Time)

Επιστρέφει έναν αριθμό (μεταξύ 0 και 59) που αντιστοιχεί στο λεπτό για μια καθορισμένη έκφραση ώρας.

MINUTE(expr)

MONTH

MONTH(Order_Time)

Επιστρέφει έναν αριθμό (μεταξύ 1 και 12) που αντιστοιχεί στο μήνα για μια καθορισμένη έκφραση ημερομηνίας.

MONTH(expr)

MONTHNAME

MONTHNAME(Order_Time)

Επιστρέφει το όνομα του μήνα για μια καθορισμένη έκφραση ημερομηνίας.

MONTHNAME(expr)

MONTH_OF_QUARTER

MONTH_OF_QUARTER(Order_Date)

Επιστρέφει τον αριθμό (μεταξύ 1 και 3) που αντιστοιχεί στο μήνα του τριμήνου για μια καθορισμένη έκφραση ημερομηνίας.

MONTH_OF_QUARTER(expr)

NOW

NOW()

Επιστρέφει την τρέχουσα χρονική ένδειξη. Η συνάρτηση NOW είναι ισοδύναμη με τη συνάρτηση CURRENT_TIMESTAMP.

NOW()

QUARTER_OF_YEAR

QUARTER_OF_YEAR(Order_Date)

Επιστρέφει τον αριθμό (μεταξύ 1 και 4) που αντιστοιχεί στο τρίμηνο του έτους για μια καθορισμένη έκφραση ημερομηνίας.

QUARTER_OF_YEAR(expr)

SECOND

SECOND(Order_Time)

Επιστρέφει τον αριθμό (μεταξύ 0 και 59) που αντιστοιχεί στα δευτερόλεπτα για μια καθορισμένη έκφραση ώρας.

SECOND(expr)

TIMESTAMPADD

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

Προσθέτει έναν καθορισμένο αριθμό διαστημάτων σε μια χρονική σήμανση και επιστρέφει μια μοναδική χρονική σήμανση.

Οι επιλογές των διαστημάτων είναι: 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)

Επιστρέφει το συνολικό αριθμό καθορισμένων διαστημάτων μεταξύ δύο χρονικών ενδείξεων.

Χρησιμοποιεί τα ίδια διαστήματα με τη συνάρτηση TIMESTAMPADD.

TIMESTAMPDIFF(interval, expr, timestamp2)

WEEK_OF_QUARTER

WEEK_OF_QUARTER(Order_Date)

Επιστρέφει έναν αριθμό (μεταξύ 1 και 13) που αντιστοιχεί στην εβδομάδα του τριμήνου για την καθορισμένη έκφραση ημερομηνίας.

WEEK_OF_QUARTER(expr)

WEEK_OF_YEAR

WEEK_OF_YEAR(Order_Date)

Επιστρέφει έναν αριθμό (μεταξύ 1 και 53) που αντιστοιχεί στην εβδομάδα του έτους για την καθορισμένη έκφραση ημερομηνίας.

WEEK_OF_YEAR(expr)

YEAR

YEAR(Order_Date)

Επιστρέφει το έτος για την καθορισμένη έκφραση ημερομηνίας.

YEAR(expr)

Συμβουλές για τη χρήση των συναρτήσεων ημερομηνίας

Ακολουθούν ορισμένες συμβουλές για να έχετε τα καλύτερα αποτελέσματα όταν χρησιμοποιείτε συναρτήσεις ημερομηνίας στα βιβλία εργασίας σας για τον υπολογισμό των οικονομικών περιόδων, τη μετατροπή συμβολοσειρών σε ημερομηνίες, την εμφάνιση ημερομηνίας και ώρας σε μια συγκεκριμένη ζώνη ώρας και τον υπολογισμό των διαφορών με την πάροδο του χρόνου.

Υπολογισμός οικονομικού έτους, τριμήνου και μήνα:

Οι θεματικές περιοχές έχουν συνήθως μια χρονική διάσταση, επομένως μπορείτε να χρησιμοποιήσετε τις προδιαμορφωμένες περιόδους, όπως το οικονομικό τρίμηνο, τον οικονομικό μήνα και την οικονομική εβδομάδα. Εάν έχετε μόνο ένα πεδίο ημερομηνίας, μπορείτε να υπολογίσετε μόνοι σας αυτές τις περιόδους χρησιμοποιώντας συναρτήσεις ημερομηνίας.

Αυτό το παράδειγμα υπολογίζει το οικονομικό τρίμηνο:

'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')

Μετατροπή συμβολοσειράς σε ημερομηνία:

Το Oracle Analytics δημιουργεί προφίλ στα δεδομένα σας και παρέχει προτάσεις εμπλουτισμού για την εξαγωγή και τη μετατροπή ημερομηνιών. Εάν πρέπει να μετατρέψετε μόνοι σας μια συμβολοσειρά σε ημερομηνία, χρησιμοποιήστε αυτές τις συμβουλές.
  • Στη σχεδίαση βιβλίου εργασίας, μεταβείτε στο παράθυρο δεδομένων στη στήλη που θέλετε να μετατρέψετε και, στη συνέχεια, κάντε δεξί κλικ και επιλέξτε Μετατροπή σε ημερομηνία. Διαμορφώστε την ημερομηνία και, στη συνέχεια, κάντε κλικ στο Προσθήκη βήματος.

  • Στη σχεδίαση βιβλίου εργασίας, μεταβείτε στο παράθυρο δεδομένων στη στήλη που θέλετε να μετατρέψετε και, στη συνέχεια, κάντε δεξί κλικ και επιλέξτε Επεξεργασία. Διαμορφώστε την ημερομηνία και, στη συνέχεια, κάντε κλικ στο Προσθήκη βήματος.

    Στο πλαίσιο κειμένου που περιέχει το όνομα της στήλης σας με μπλε χρώμα, εισαγάγετε To_DateTime( πριν από το όνομα της στήλης και, στη συνέχεια, προσθέστε τη μορφή ημερομηνίας που θέλετε να χρησιμοποιήσετε μετά το όνομα της στήλης, ακολουθούμενη από ) και, στη συνέχεια, κάντε κλικ στην επιλογή Προσθήκη βήματος.
    Ακολουθεί η περιγραφή για GUID-ADBD035B-A62A-4DED-8768-553365BAABFE-default.png
    .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 από εβδομάδα σε εβδομάδα και από μήνα σε μήνα.
  • Αυτά τα παραδείγματα λειτουργούν με ένα κανονικό ή φυσικό ημερολόγιο. Εάν χρειάζεστε οικονομικούς μήνες και τρίμηνα, χρησιμοποιήστε μεταβλητές αποθετηρίου στους υπολογισμούς σας αντί για TIMESTAMPADD. Εναλλακτικά, συνδυάστε το με την συμβουλή Υπολογισμός οικονομικού έτους, τριμήνου και μήνα.
  • Ορισμένοι θεματικοί τομείς περιλαμβάνουν προ-υπολογισμένες μετρήσεις του προηγούμενου X, όπως PY (προηγούμενο έτος), PQ (προηγούμενο τρίμηνο) που μπορείτε να χρησιμοποιήσετε για να υπολογίσετε τις διαφορές με την πάροδο του χρόνου.
  • Εναλλακτικά, μπορείτε να χρησιμοποιήσετε τις λειτουργίες TIME SERIES: AGO, PERIODROLLING και TODATE. Ανατρέξτε στην ενότητα Συναρτήσεις χρονικής σειράς.