Zelfstudie: Gegevens transformeren met een opgeslagen procedure in een magazijn
Van toepassing op:✅ SQL Analytics-eindpunt en -magazijn in Microsoft Fabric
In deze zelfstudie leert u hoe u een opgeslagen procedure in een magazijn maakt om gegevens in een tabel te transformeren.
Notitie
Deze tutorial maakt deel uit van een end-to-end scenario. Als u deze zelfstudie wilt voltooien, moet u eerst deze zelfstudies voltooien:
Een opgeslagen procedure maken
In deze taak leert u hoe u een opgeslagen procedure maakt om gegevens in een magazijntabel te transformeren.
Zorg ervoor dat de werkruimte die je hebt gemaakt in de eerste handleiding is geopend.
Selecteer op het lint Startnieuwe SQL-query.
Plak de volgende code in de query-editor. De code verwijdert de opgeslagen procedure (indien aanwezig) en maakt vervolgens een opgeslagen procedure met de naam
populate_aggregate_sale_by_city
. Met de opgeslagen procedurelogica wordt een tabel genaamdaggregate_sale_by_date_city
gecreëerd en worden gegevens erin ingevoegd met een groepsquery die de tabellenfact_sale
endimension_city
samenvoegt.--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;
Als u de query wilt uitvoeren, selecteert u op de ribbon van de queryontwerper Uitvoeren.
Wanneer de uitvoering is voltooid, wijzigt u de naam van de query als
Create Aggregate Procedure
.Controleer in het deelvenster Explorer vanuit de map Opgeslagen procedures voor het
dbo
schema of deaggregate_sale_by_date_city
opgeslagen procedure bestaat.
De opgeslagen procedure uitvoeren
In deze taak leert u hoe u de opgeslagen procedure uitvoert om gegevens in een magazijntabel te transformeren.
Maak een nieuwe query.
Plak de volgende code in de query-editor. De code voert de opgeslagen procedure
populate_aggregate_sale_by_city
uit.--Execute the stored procedure to create and load aggregated data. EXEC [dbo].[populate_aggregate_sale_by_city];
Voer de query uit.
Wanneer de uitvoering is voltooid, wijzigt u de naam van de query als
Run Aggregate Procedure
.Als u een voorbeeld van de samengevoegde gegevens wilt bekijken, selecteert u in het deelvenster Explorer de
aggregate_sale_by_date_city
tabel.Notitie
Als de tabel niet wordt weergegeven, selecteert u het beletselteken (...) voor de map Tabellen en selecteert u vervolgens Vernieuwen.