Εκμάθηση: Μετασχηματισμός δεδομένων με μια αποθηκευμένη διαδικασία σε μια Αποθήκη
Ισχύει για:✅ Τελικό σημείο ανάλυσης SQL και Αποθήκη στο Microsoft Fabric
Σε αυτή την εκμάθηση, μάθετε πώς μπορείτε να δημιουργήσετε μια αποθηκευμένη διαδικασία σε μια Αποθήκη για να μετασχηματίστε δεδομένα σε έναν πίνακα.
Σημείωση
Αυτό το εκπαιδευτικό βοήθημα αποτελεί μέρος ενός σεναρίου από άκρο σε άκρο. Για να ολοκληρώσετε αυτή την εκμάθηση, πρέπει πρώτα να ολοκληρώσετε αυτά τα προγράμματα εκμάθησης:
- Δημιουργία χώρου εργασίας
- Δημιουργία Αποθήκης
- πρόσληψη δεδομένων σε Αποθήκης
Δημιουργία αποθηκευμένης διαδικασίας
Σε αυτή την εργασία, μάθετε πώς μπορείτε να δημιουργήσετε μια αποθηκευμένη διαδικασία για τον μετασχηματισμό δεδομένων σε έναν πίνακα αποθήκης.
Βεβαιωθείτε ότι ο χώρος εργασίας που δημιουργήσατε στην πρώτη εκμάθηση είναι ανοιχτός.
Στην κορδέλα Αρχική, επιλέξτε Νέο ερώτημα SQL.
Στο πρόγραμμα επεξεργασίας ερωτημάτων, επικολλήστε τον ακόλουθο κώδικα. Ο κώδικας απορρίπτει την αποθηκευμένη διαδικασία (εάν υπάρχει) και, στη συνέχεια, δημιουργεί μια αποθηκευμένη διαδικασία με την ονομασία
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;
Για να εκτελέσετε το ερώτημα, στην κορδέλα του εργαλείου σχεδίασης ερωτημάτων, επιλέξτε Εκτέλεση.
Όταν ολοκληρωθεί η εκτέλεση, μετονομάστε το ερώτημα σε
Create Aggregate Procedure
.Στο τμήμα παραθύρου εξερεύνησης
, από το εσωτερικό του φακέλου Αποθηκευμένες διαδικασίες για το σχήμα, επαληθεύστε ότι υπάρχει η αποθηκευμένη διαδικασία .
Εκτέλεση της αποθηκευμένη διαδικασίας
Σε αυτή την εργασία, μάθετε πώς μπορείτε να εκτελέσετε την αποθηκευμένη διαδικασία για τον μετασχηματισμό δεδομένων σε έναν πίνακα αποθήκης.
Δημιουργήστε ένα νέο ερώτημα.
Στο πρόγραμμα επεξεργασίας ερωτημάτων, επικολλήστε τον ακόλουθο κώδικα. Ο κώδικας εκτελεί τη
populate_aggregate_sale_by_city
αποθηκευμένη διαδικασία.--Execute the stored procedure to create and load aggregated data. EXEC [dbo].[populate_aggregate_sale_by_city];
Εκτελέστε το ερώτημα.
Όταν ολοκληρωθεί η εκτέλεση, μετονομάστε το ερώτημα σε
Run Aggregate Procedure
.Για προεπισκόπηση των συγκεντρωτικών δεδομένων, στο τμήμα παραθύρου εξερεύνησης
, επιλέξτε τον πίνακα . Σημείωση
Εάν ο πίνακας δεν εμφανίζεται, επιλέξτε τα αποσιωπητικά (...) για τον φάκελο Tables και, στη συνέχεια, επιλέξτε Ανανέωση.
Επόμενο βήμα
Πρόγραμμα εκμάθησης : Ταξίδι στον χρόνο με το T-SQL σε μια Αποθήκης