Delen via


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:

  1. Een werkruimte maken
  2. Een warehouse- maken
  3. Gegevens inladen in een datawarehouse

Een opgeslagen procedure maken

In deze taak leert u hoe u een opgeslagen procedure maakt om gegevens in een magazijntabel te transformeren.

  1. Zorg ervoor dat de werkruimte die je hebt gemaakt in de eerste handleiding is geopend.

  2. Selecteer op het lint Startnieuwe SQL-query.

    Schermopname van het startlint met de optie Nieuwe SQL-query gemarkeerd.

  3. 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 genaamd aggregate_sale_by_date_city gecreëerd en worden gegevens erin ingevoegd met een groepsquery die de tabellen fact_sale en dimension_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;
    
  4. Als u de query wilt uitvoeren, selecteert u op de ribbon van de queryontwerper Uitvoeren.

  5. Wanneer de uitvoering is voltooid, wijzigt u de naam van de query als Create Aggregate Procedure.

  6. Controleer in het deelvenster Explorer vanuit de map Opgeslagen procedures voor het dbo schema of de aggregate_sale_by_date_city opgeslagen procedure bestaat.

    Schermopname van het deelvenster Explorer, waarin de zojuist gemaakte opgeslagen procedure wordt gemarkeerd.

De opgeslagen procedure uitvoeren

In deze taak leert u hoe u de opgeslagen procedure uitvoert om gegevens in een magazijntabel te transformeren.

  1. Maak een nieuwe query.

  2. 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];
    
  3. Voer de query uit.

  4. Wanneer de uitvoering is voltooid, wijzigt u de naam van de query als Run Aggregate Procedure.

  5. 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.

    Schermopname van het deelvenster Explorer, waarin de zojuist gemaakte tabel wordt gemarkeerd.

Volgende stap