Διαμόρφωση χρονικών σημάνσεων

Στο Oracle Analytics, οι διαχειριστές ορίζουν την προεπιλεγμένη ζώνη ώρας που χρησιμοποιείται για τους υπολογισμούς ημερομηνίας και ώρας στις Ρυθμίσεις συστήματος. Αυτή η καθολική ρύθμιση ισχύει για όλους τους υπολογισμούς. Αυτό το θέμα εξηγεί πώς να χρησιμοποιείτε τη συνάρτηση TIMESTAMPADD για να καθορίζετε μια άλλη ζώνη ώρας εάν θέλετε μια διαφορετική χρονική σήμανση σε έναν συγκεκριμένο υπολογισμό.

Ορισμός της προεπιλεγμένης ζώνης ώρας για υπολογισμούς στις Ρυθμίσεις συστήματος

Από προεπιλογή, η ώρα συστήματος για το Oracle Analytics Cloud βασίζεται στην ώρα UTC. Οι ακόλουθες συναρτήσεις επιστρέφουν τιμές χρησιμοποιώντας την ώρα ή ημερομηνία βάσει UTC:
  • CURRENT_DATE
  • CURRENT_TIME()
  • CURRENT_TIMESTAMP()
  • NOW()

Ως διαχειριστής, μπορείτε να αλλάξετε τη χρονική σήμανση που χρησιμοποιείται στους υπολογισμούς, χρησιμοποιώντας την επιλογή Προεπιλεγμένη ζώνη ώρας για υπολογισμούς ημερομηνίας στην ενότητα Ρυθμίσεις συστήματος της Κονσόλας. Επιλέξτε την επιθυμητή ζώνη ώρας από την αναπτυσσόμενη λίστα και εφαρμόστε τις αλλαγές, προκειμένου να ισχύει η νέα τιμή.

Ακολουθεί η περιγραφή για GUID-8DB3356D-CD0C-471F-ACA2-9151598FAB51-default.png
.png''

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

Χρήση συγκεκριμένης ζώνης ώρας για χρονικές σημάνσεις σε υπολογισμούς

Για να δημιουργήσετε μια διαφορετική χρονική σήμανση από τη ρύθμιση συστήματος στους υπολογισμούς σας, χρησιμοποιήστε τη συνάρτηση TIMESTAMPADD σε συνδυασμό με τις συναρτήσεις CURRENT_TIMESTAMP() ή NOW(). Ο βασικός υπολογισμός TIMESTAMPADD είναι:

TIMESTAMPADD(SQL_TSI_<<χρονικό διάστημα>>, <<έκφραση ακεραίου>>, <<έκφραση χρονικής σήμανσης>>)

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

TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP(5))

Αυτός ο υπολογισμός επιστρέφει την τρέχουσα χρονική σήμανση σε Ορεινή ώρα ΗΠΑ. Μπορείτε να δημιουργήσετε τη νέα στήλη χρονικής σήμανσης ως παραγόμενη στήλη στην προέλευση λογικού πίνακα ή να την αντιστοιχίσετε απευθείας στη βάση δεδομένων. Η διαφορά έγκειται στο πού θα εκτελεστεί ο υπολογισμός, δηλαδή, στο Oracle Analytics ή στη βάση δεδομένων. Το ακόλουθο σχήμα παρουσιάζει έναν υπολογισμό που αντιστοιχίζεται απευθείας στη βάση δεδομένων στο πλαίσιο διαλόγου "Δόμηση έκφρασης - Έκφραση".

Ακολουθεί η περιγραφή για GUID-27A25D1D-56A1-4C02-9FC2-106F9BAFBE71-default.jpg
.jpg''

Όταν η προεπιλεγμένη ζώνη ώρας έχει οριστεί σε UTC, η συνάρτηση CURRENT_DATE δεν επιστρέφει τη σωστή ημερομηνία για ορισμένες ώρες της ημέρας σε σχέση με τη ζώνη ώρας ενός χρήστη. Για παράδειγμα, όταν είναι μεσάνυχτα στη ζώνη ώρας UTC, η τοπική ημερομηνία δεν συμφωνεί με την ημερομηνία UTC για τη διάρκεια της χρονικής μετατόπισης.

Η μετατροπή του υπολογισμού χρονικής σήμανσης ως ημερομηνίας λύνει αυτό το πρόβλημα. Για παράδειγμα:

cast(TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP) as date)

Το ακόλουθο σχήμα παρουσιάζει έναν υπολογισμό που δημιουργείται ως παραγόμενη στήλη στο πλαίσιο διαλόγου "Δόμηση έκφρασης - Παραγόμενη λογική στήλη".

Ακολουθεί η περιγραφή για GUID-49CFA011-ED91-477F-AE42-7CEE3D090E34-default.jpg
.jpg''

Για μοναδικές ή μεμονωμένες αναφορές, μπορείτε να δημιουργήσετε υπολογισμούς χρονικής σήμανσης στο επίπεδο αναφοράς είτε σε μια απεικόνιση δεδομένων είτε σε μια κλασική ανάλυση. Αν σκοπεύετε να χρησιμοποιήσετε ξανά τους υπολογισμούς, είναι συχνά ευκολότερο να τους ορίσετε ως στήλες στο σημασιολογικό μοντέλο (ή αρχείο RPD).

Για περισσότερες πληροφορίες σχετικά με τις συναρτήσεις που αναφέρονται σε αυτό το θέμα, δείτε τις ενότητες Λειτουργίες ημερομηνίας και ώρας και Συναρτήσεις χρονικών σειρών