Κοινή χρήση μέσω


Εκμάθηση: Ταξίδι στον χρόνο με το T-SQL σε μια αποθήκη

Σε αυτή την εκμάθηση, μάθετε πώς να χρησιμοποιείτε προτάσεις T-SQL για να ταξιδιού στο χρόνο σε έναν πίνακα αποθήκης. Ταξίδι στον χρόνο σημαίνει υποβολή ερωτημάτων για δεδομένα όπως υπήρχαν σε ένα συγκεκριμένο χρονικό σημείο, το οποίο γίνεται αυτόματα δυνατό από την Fabric Warehouse τη διατήρηση δεδομένων.

Σημείωμα

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

  1. Δημιουργία χώρου εργασίας
  2. Δημιουργία Αποθήκης
  3. πρόσληψη δεδομένων σε Αποθήκης

Εργασία με ερωτήματα ταξιδιού χρόνου

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

  1. Βεβαιωθείτε ότι ο χώρος εργασίας που δημιουργήσατε στην πρώτη εκμάθηση είναι ανοιχτός.

  2. Στην κορδέλα Αρχική, επιλέξτε Νέο ερώτημα SQL.

    Στιγμιότυπο οθόνης της επιλογής

  3. Στο πρόγραμμα επεξεργασίας ερωτημάτων, επικολλήστε τον ακόλουθο κώδικα. Ο κώδικας δημιουργεί μια προβολή με ονομασία 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;
    
  4. Εκτελέστε το ερώτημα.

  5. Όταν ολοκληρωθεί η εκτέλεση, μετονομάστε το ερώτημα σε Create Top 10 Customer View.

  6. Στο τμήμα παραθύρου Explorer, μέσα από τον φάκελο Προβολές για το σχήμα dbo, επαληθεύστε ότι υπάρχει η προβολή Top10Customers.

    Στιγμιότυπο οθόνης του τμήματος παραθύρου Explorer, με επισήμανση της προβολής που μόλις δημιουργήθηκε.

  7. Δημιουργήστε ένα νέο ερώτημα για να εργαστείτε με ερωτήματα ταξιδιού χρόνου.

  8. Στο πρόγραμμα επεξεργασίας ερωτημάτων, επικολλήστε τον ακόλουθο κώδικα. Ο κώδικας ενημερώνει την 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) για ταξίδι χρόνου.

  9. Εκτελέστε το ερώτημα.

  10. Όταν ολοκληρωθεί η εκτέλεση, μετονομάστε το ερώτημα σε Time Travel.

  11. Στο τμήμα παραθύρου Αποτελεσμάτων , παρατηρήστε την τιμή χρονικής σήμανσης (η τιμή σας θα είναι η τρέχουσα ημερομηνία και ώρα UTC).

    Στιγμιότυπο οθόνης του τμήματος παραθύρου

  12. Για να ανακτήσετε τους 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');
    
  13. Μετονομάστε το ερώτημα σε Time Travel Now.

  14. Επιστρέψτε στο ερώτημα Time Travel και, στη συνέχεια, χρησιμοποιήστε την εντολή Αντιγραφή για να αντιγράψετε τα αποτελέσματα του ερωτήματος.

    Στιγμιότυπο οθόνης της εντολής Αντιγραφή, με επισήμανση στην Αντιγραφή αποτελεσμάτων ερωτήματος.

  15. Επιστρέψτε στο ερώτημα Time Travel Now και, στη συνέχεια, αντικαταστήστε YOUR_TIMESTAMP με τη χρονική σήμανση που αντιγράψατε στο πρόχειρο.

  16. Εκτελέστε το ερώτημα και παρατηρήστε ότι η δεύτερη πρώτη CustomerKey τιμή είναι 49 για Tailspin Toys (Muir, MI).

  17. Τροποποιήστε την τιμή χρονικής σήμανσης σε μια προηγούμενη , αφαιρώντας ενός λεπτού από τη χρονική σήμανση.

  18. Εκτελέστε ξανά το ερώτημα και παρατηρήστε ότι η δεύτερη πρώτη CustomerKey τιμή είναι 381 για Wingtip Toys (Sarversville, PA).

Φιλοδώρημα

Για περισσότερα παραδείγματα ταξιδιού χρόνου, ανατρέξτε στο θέμα Τρόπος: Υποβολή ερωτήματος με χρήση χρονικού ταξιδιού σε επίπεδο πρότασης.

Επόμενο βήμα