Εκμάθηση: Ταξίδι στον χρόνο με το T-SQL σε μια αποθήκη
Σε αυτή την εκμάθηση, μάθετε πώς να χρησιμοποιείτε προτάσεις T-SQL για να ταξιδιού στο χρόνο σε έναν πίνακα αποθήκης. Ταξίδι στον χρόνο σημαίνει υποβολή ερωτημάτων για δεδομένα όπως υπήρχαν σε ένα συγκεκριμένο χρονικό σημείο, το οποίο γίνεται αυτόματα δυνατό από την Fabric Warehouse τη διατήρηση δεδομένων.
Σημείωμα
Αυτό το εκπαιδευτικό βοήθημα αποτελεί μέρος ενός σεναρίου από άκρο σε άκρο. Για να ολοκληρώσετε αυτή την εκμάθηση, πρέπει πρώτα να ολοκληρώσετε αυτά τα προγράμματα εκμάθησης:
- Δημιουργία χώρου εργασίας
- Δημιουργία Αποθήκης
- πρόσληψη δεδομένων σε Αποθήκης
Εργασία με ερωτήματα ταξιδιού χρόνου
Σε αυτή την εργασία, μάθετε πώς μπορείτε να δημιουργήσετε μια προβολή των 10 κορυφαίων πελατών κατά πωλήσεις. Θα χρησιμοποιήσετε την προβολή στην επόμενη εργασία για να εκτελέσετε ερωτήματα χρονικού ταξιδιού.
Βεβαιωθείτε ότι ο χώρος εργασίας που δημιουργήσατε στην πρώτη εκμάθηση είναι ανοιχτός.
Στην κορδέλα Αρχική, επιλέξτε Νέο ερώτημα SQL.
Στο πρόγραμμα επεξεργασίας ερωτημάτων, επικολλήστε τον ακόλουθο κώδικα. Ο κώδικας δημιουργεί μια προβολή με ονομασία
Top10Customers
. Η προβολή χρησιμοποιεί ένα ερώτημα για την ανάκτηση των 10 κορυφαίων πελατών με βάση τις πωλήσεις.--Create the Top10Customers view. CREATE VIEW [dbo].[Top10Customers] AS SELECT TOP(10) FS.[CustomerKey], DC.[Customer], SUM(FS.[TotalIncludingTax]) AS [TotalSalesAmount] FROM [dbo].[dimension_customer] AS DC INNER JOIN [dbo].[fact_sale] AS FS ON DC.[CustomerKey] = FS.[CustomerKey] GROUP BY FS.[CustomerKey], DC.[Customer] ORDER BY [TotalSalesAmount] DESC;
Εκτελέστε το ερώτημα.
Όταν ολοκληρωθεί η εκτέλεση, μετονομάστε το ερώτημα σε
Create Top 10 Customer View
.Στο τμήμα παραθύρου Explorer, μέσα από τον φάκελο Προβολές για το σχήμα
dbo
, επαληθεύστε ότι υπάρχει η προβολήTop10Customers
.Δημιουργήστε ένα νέο ερώτημα για να εργαστείτε με ερωτήματα ταξιδιού χρόνου.
Στο πρόγραμμα επεξεργασίας ερωτημάτων, επικολλήστε τον ακόλουθο κώδικα. Ο κώδικας ενημερώνει την
TotalIncludingTax
τιμή για μία μόνο γραμμή δεδομένων για να διογκώσει σκόπιμα τις συνολικές πωλήσεις της. Ανακτά επίσης την τρέχουσα χρονική σήμανση.--Update the TotalIncludingTax for a single fact row to deliberately inflate its total sales. UPDATE [dbo].[fact_sale] SET [TotalIncludingTax] = 200000000 WHERE [SaleKey] = 22632918; --For customer 'Tailspin Toys (Muir, MI)' GO --Retrieve the current (UTC) timestamp. SELECT CURRENT_TIMESTAMP;
Σημείωμα
Προς το παρόν, μπορείτε να χρησιμοποιήσετε μόνο τη ζώνη ώρας Συντονισμένη παγκόσμια ώρα (UTC) για ταξίδι χρόνου.
Εκτελέστε το ερώτημα.
Όταν ολοκληρωθεί η εκτέλεση, μετονομάστε το ερώτημα σε
Time Travel
.Στο τμήμα παραθύρου Αποτελεσμάτων
, παρατηρήστε την τιμή χρονικής σήμανσης (η τιμή σας θα είναι η τρέχουσα ημερομηνία και ώρα UTC). Για να ανακτήσετε τους 10 κορυφαίους πελάτες από τώρα, σε ένα νέο πρόγραμμα επεξεργασίας ερωτημάτων, επικολλήστε την ακόλουθη πρόταση. Ο κώδικας ανακτά τους 10 κορυφαίους πελάτες χρησιμοποιώντας την υπόδειξη ερωτήματος
FOR TIMESTAMP AS OF
.--Retrieve the top 10 customers as of now. SELECT * FROM [dbo].[Top10Customers] OPTION (FOR TIMESTAMP AS OF 'YOUR_TIMESTAMP');
Μετονομάστε το ερώτημα σε
Time Travel Now
.Επιστρέψτε στο ερώτημα
Time Travel
και, στη συνέχεια, χρησιμοποιήστε την εντολή Αντιγραφή για να αντιγράψετε τα αποτελέσματα του ερωτήματος.Επιστρέψτε στο ερώτημα
Time Travel Now
και, στη συνέχεια, αντικαταστήστεYOUR_TIMESTAMP
με τη χρονική σήμανση που αντιγράψατε στο πρόχειρο.Εκτελέστε το ερώτημα και παρατηρήστε ότι η δεύτερη πρώτη
CustomerKey
τιμή είναι 49 γιαTailspin Toys (Muir, MI)
.Τροποποιήστε την τιμή χρονικής σήμανσης σε μια προηγούμενη , αφαιρώντας ενός λεπτού από τη χρονική σήμανση.
Εκτελέστε ξανά το ερώτημα και παρατηρήστε ότι η δεύτερη πρώτη
CustomerKey
τιμή είναι 381 γιαWingtip Toys (Sarversville, PA)
.
Φιλοδώρημα
Για περισσότερα παραδείγματα ταξιδιού χρόνου, ανατρέξτε στο θέμα Τρόπος: Υποβολή ερωτήματος με χρήση χρονικού ταξιδιού σε επίπεδο πρότασης.
Επόμενο βήμα
Πρόγραμμα εκμάθησης : Δημιουργία ερωτήματος με το εργαλείο δόμησης ερωτημάτων απεικόνισης σε μια Warehouse