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


Εκμάθηση: Μετασχηματισμός δεδομένων με μια αποθηκευμένη διαδικασία σε μια Αποθήκη

Ισχύει για:✅ Τελικό σημείο ανάλυσης SQL και Αποθήκη στο Microsoft Fabric

Σε αυτή την εκμάθηση, μάθετε πώς μπορείτε να δημιουργήσετε μια αποθηκευμένη διαδικασία σε μια Αποθήκη για να μετασχηματίστε δεδομένα σε έναν πίνακα.

Σημείωση

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

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

Δημιουργία αποθηκευμένης διαδικασίας

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

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

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

    Στιγμιότυπο οθόνης της κορδέλας Αρχική, με επισήμανση της επιλογής Νέο ερώτημα SQL.

  3. Στο πρόγραμμα επεξεργασίας ερωτημάτων, επικολλήστε τον ακόλουθο κώδικα. Ο κώδικας απορρίπτει την αποθηκευμένη διαδικασία (εάν υπάρχει) και, στη συνέχεια, δημιουργεί μια αποθηκευμένη διαδικασία με την ονομασία populate_aggregate_sale_by_city. Η αποθηκευμένη λογική διαδικασίας δημιουργεί έναν πίνακα με την ονομασία aggregate_sale_by_date_city και εισάγει δεδομένα σε αυτόν με ένα ερώτημα ομαδοποίησης που συνδέει τους fact_sale και dimension_city πίνακες.

     --Drop the stored procedure if it already exists.
     DROP PROCEDURE IF EXISTS [dbo].[populate_aggregate_sale_by_city];
     GO
    
     --Create the populate_aggregate_sale_by_city stored procedure.
     CREATE PROCEDURE [dbo].[populate_aggregate_sale_by_city]
     AS
     BEGIN
         --Drop the aggregate table if it already exists.
         DROP TABLE IF EXISTS [dbo].[aggregate_sale_by_date_city];
         --Create the aggregate table.
         CREATE TABLE [dbo].[aggregate_sale_by_date_city]
         (
            [Date] [DATETIME2](6),
            [City] [VARCHAR](8000),
            [StateProvince] [VARCHAR](8000),
            [SalesTerritory] [VARCHAR](8000),
            [SumOfTotalExcludingTax] [DECIMAL](38,2),
            [SumOfTaxAmount] [DECIMAL](38,6),
            [SumOfTotalIncludingTax] [DECIMAL](38,6),
            [SumOfProfit] [DECIMAL](38,2)
         );
    
         --Load aggregated data into the table.
         INSERT INTO [dbo].[aggregate_sale_by_date_city]
         SELECT
            FS.[InvoiceDateKey] AS [Date], 
            DC.[City], 
            DC.[StateProvince], 
            DC.[SalesTerritory], 
            SUM(FS.[TotalExcludingTax]) AS [SumOfTotalExcludingTax], 
            SUM(FS.[TaxAmount]) AS [SumOfTaxAmount], 
            SUM(FS.[TotalIncludingTax]) AS [SumOfTotalIncludingTax], 
            SUM(FS.[Profit]) AS [SumOfProfit]
         FROM [dbo].[fact_sale] AS FS
         INNER JOIN [dbo].[dimension_city] AS DC
            ON FS.[CityKey] = DC.[CityKey]
         GROUP BY
            FS.[InvoiceDateKey],
            DC.[City], 
            DC.[StateProvince], 
            DC.[SalesTerritory]
         ORDER BY 
            FS.[InvoiceDateKey], 
            DC.[StateProvince], 
            DC.[City];
     END;
    
  4. Για να εκτελέσετε το ερώτημα, στην κορδέλα του εργαλείου σχεδίασης ερωτημάτων, επιλέξτε Εκτέλεση.

  5. Όταν ολοκληρωθεί η εκτέλεση, μετονομάστε το ερώτημα σε Create Aggregate Procedure.

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

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

Εκτέλεση της αποθηκευμένη διαδικασίας

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

  1. Δημιουργήστε ένα νέο ερώτημα.

  2. Στο πρόγραμμα επεξεργασίας ερωτημάτων, επικολλήστε τον ακόλουθο κώδικα. Ο κώδικας εκτελεί τη populate_aggregate_sale_by_city αποθηκευμένη διαδικασία.

     --Execute the stored procedure to create and load aggregated data.
     EXEC [dbo].[populate_aggregate_sale_by_city];
    
  3. Εκτελέστε το ερώτημα.

  4. Όταν ολοκληρωθεί η εκτέλεση, μετονομάστε το ερώτημα σε Run Aggregate Procedure.

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

    Σημείωση

    Εάν ο πίνακας δεν εμφανίζεται, επιλέξτε τα αποσιωπητικά (...) για τον φάκελο Tables και, στη συνέχεια, επιλέξτε Ανανέωση.

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

Επόμενο βήμα

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