Selvstudium: Transformér data med en lagret procedure i et lager
Gælder for:✅ SQL Analytics-slutpunkt og warehouse i Microsoft Fabric
I dette selvstudium kan du få mere at vide om, hvordan du opretter en lagret procedure i et lager for at transformere data i en tabel.
Seddel
Dette selvstudium er en del af et end-to-end-scenarie. Hvis du vil fuldføre dette selvstudium, skal du først fuldføre disse selvstudier:
Opret en lagret procedure
I denne opgave kan du få mere at vide om, hvordan du opretter en lagret procedure for at transformere data i en lagertabel.
Sørg for, at det arbejdsområde, du oprettede i første selvstudium, er åbent.
På båndet Hjem skal du vælge Ny SQL-forespørgsel.
Indsæt følgende kode i forespørgselseditoren. Koden dropper den lagrede procedure (hvis den findes), og den opretter derefter en lagret procedure med navnet
populate_aggregate_sale_by_city
. Den lagrede procedurelogik opretter en tabel med navnetaggregate_sale_by_date_city
og indsætter data i den med en gruppe efter-forespørgsel, der joinforbinder tabellernefact_sale
ogdimension_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;
Hvis du vil udføre forespørgslen, skal du vælge Kørpå båndet i forespørgselsdesigneren.
Når udførelsen er fuldført, skal du omdøbe forespørgslen til
Create Aggregate Procedure
.Kontrollér, at
aggregate_sale_by_date_city
lagrede procedure findes inde fra lagrede procedurer mappe tildbo
skemaet i ruden Explorer.
Kør den lagrede procedure
I denne opgave kan du få mere at vide om, hvordan du udfører den lagrede procedure for at transformere data i en lagertabel.
Opret en ny forespørgsel.
Indsæt følgende kode i forespørgselseditoren. Koden udfører den
populate_aggregate_sale_by_city
lagrede procedure.--Execute the stored procedure to create and load aggregated data. EXEC [dbo].[populate_aggregate_sale_by_city];
Kør forespørgslen.
Når udførelsen er fuldført, skal du omdøbe forespørgslen til
Run Aggregate Procedure
.Hvis du vil have vist de aggregerede data, skal du vælge tabellen
aggregate_sale_by_date_city
i ruden Explorer.Seddel
Hvis tabellen ikke vises, skal du vælge ellipsen (...) for mappen Tabeller og derefter vælge Opdater.