Del via


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:

  1. Opret et arbejdsområde
  2. Opret et lager
  3. indfødning af data i et lager

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.

  1. Sørg for, at det arbejdsområde, du oprettede i første selvstudium, er åbent.

  2. På båndet Hjem skal du vælge Ny SQL-forespørgsel.

    Skærmbillede af båndet Hjem, hvor indstillingen Ny SQL-forespørgsel fremhæves.

  3. 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 navnet aggregate_sale_by_date_city og indsætter data i den med en gruppe efter-forespørgsel, der joinforbinder tabellerne fact_sale og 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;
    
  4. Hvis du vil udføre forespørgslen, skal du vælge Kørpå båndet i forespørgselsdesigneren.

  5. Når udførelsen er fuldført, skal du omdøbe forespørgslen til Create Aggregate Procedure.

  6. Kontrollér, at aggregate_sale_by_date_city lagrede procedure findes inde fra lagrede procedurer mappe til dbo skemaet i ruden Explorer.

    Skærmbillede af ruden Stifinder, der fremhæver den nyligt oprettede lagrede procedure.

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.

  1. Opret en ny forespørgsel.

  2. 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];
    
  3. Kør forespørgslen.

  4. Når udførelsen er fuldført, skal du omdøbe forespørgslen til Run Aggregate Procedure.

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

    Skærmbillede af ruden Stifinder, hvor den nyoprettede tabel fremhæves.

Næste trin