Del via


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:

  1. Opprette et arbeidsområde
  2. Opprette et
  3. innta data i et lager

Opprette en lagret prosedyre

I denne oppgaven kan du lære hvordan du oppretter en lagret prosedyre for å transformere data i en lagertabell.

  1. Kontroller at arbeidsområdet du opprettet i første opplæringen er åpen.

  2. Velg ny SQL-spørringpå båndet Hjem .

    Skjermbilde av Hjem-båndet, og uthever alternativet Ny SQL-spørring.

  3. 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 navnet aggregate_sale_by_date_city og setter inn data i den med en grupperingsspørring som føyer sammen fact_sale og dimension_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;
    
  4. Hvis du vil kjøre spørringen, velger du Kjørpå båndet for spørringsutforming.

  5. Når kjøringen er fullført, gir du spørringen nytt navn som Create Aggregate Procedure.

  6. Kontroller at aggregate_sale_by_date_city lagret prosedyre finnes i Explorer-ruten i Lagrede prosedyrer-mappen for dbo-skjemaet.

    Skjermbilde av Explorer-ruten, og uthever den nylig opprettede lagrede prosedyren.

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.

  1. Opprett en ny spørring.

  2. 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];
    
  3. Kjør spørringen.

  4. Når kjøringen er fullført, gir du spørringen nytt navn som Run Aggregate Procedure.

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

    Skjermbilde av Explorer-ruten, og uthever den nyopprettede tabellen.

Neste trinn