Opplæring: Transformere data med en lagret prosedyre i et lager
Gjelder for:✅ SQL Analytics-endepunkt og Warehouse i Microsoft Fabric
I denne opplæringen kan du lære hvordan du oppretter en lagret prosedyre i et lager for å transformere data i en tabell.
Notat
Denne opplæringen er en del av et ende-til-ende-scenario. Hvis du vil fullføre denne opplæringen, må du først fullføre disse opplæringene:
Opprette en lagret prosedyre
I denne oppgaven kan du lære hvordan du oppretter en lagret prosedyre for å transformere data i en lagertabell.
Kontroller at arbeidsområdet du opprettet i første opplæringen er åpen.
Velg ny SQL-spørringpå båndet Hjem .
Lim inn følgende kode i redigeringsprogrammet for spørringen. Koden slipper den lagrede prosedyren (hvis den finnes), og oppretter deretter en lagret prosedyre med navnet
populate_aggregate_sale_by_city
. Den lagrede prosedyrelogikken oppretter en tabell med navnetaggregate_sale_by_date_city
og setter inn data i den med en grupperingsspørring som føyer sammenfact_sale
ogdimension_city
tabeller.--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 kjøre spørringen, velger du Kjørpå båndet for spørringsutforming.
Når kjøringen er fullført, gir du spørringen nytt navn som
Create Aggregate Procedure
.Kontroller at
aggregate_sale_by_date_city
lagret prosedyre finnes i Explorer-ruten i Lagrede prosedyrer-mappen fordbo
-skjemaet.
Kjør den lagrede prosedyren
I denne oppgaven kan du lære hvordan du utfører den lagrede prosedyren for å transformere data i en lagertabell.
Opprett en ny spørring.
Lim inn følgende kode i redigeringsprogrammet for spørringen. Koden utfører
populate_aggregate_sale_by_city
lagret prosedyre.--Execute the stored procedure to create and load aggregated data. EXEC [dbo].[populate_aggregate_sale_by_city];
Kjør spørringen.
Når kjøringen er fullført, gir du spørringen nytt navn som
Run Aggregate Procedure
.Hvis du vil forhåndsvise de aggregerte dataene, velger du
aggregate_sale_by_date_city
-tabellen i Explorer--ruten.Notat
Hvis tabellen ikke vises, velger du ellipsen (...) for mappen Tabeller, og deretter velger du Oppdater.