Megosztás a következőn keresztül:


Oktatóanyag: Adatok átalakítása tárolt eljárással egy raktárban

A következőkre vonatkozik:✅ SQL Analytics-végpont és Warehouse a Microsoft Fabricben

Ebben az oktatóanyagban megtudhatja, hogyan hozhat létre tárolt eljárást egy raktárban egy tábla adatainak átalakításához.

Jegyzet

Ez az oktatóanyag egy végpontok közötti forgatókönyv részét képezi. Az oktatóanyag elvégzéséhez először az alábbi oktatóanyagokat kell elvégeznie:

  1. Munkaterület létrehozása
  2. Raktár létrehozása
  3. Adatok betöltése az adattárolóba

Tárolt eljárás létrehozása

Ebben a feladatban megtudhatja, hogyan hozhat létre tárolt eljárást egy raktártábla adatainak átalakításához.

  1. Bizonyosodj meg róla, hogy az első oktatóanyagban létrehozott munkaterület nyitva van.

  2. A Kezdőlap menüszalagján válassza Új SQL-lekérdezéslehetőséget.

    Képernyőkép a Kezdőlap menüszalagjáról, kiemelve az Új SQL-lekérdezés lehetőséget.

  3. A lekérdezésszerkesztőben illessze be a következő kódot. A kód elveti a tárolt eljárást (ha létezik), majd létrehoz egy populate_aggregate_sale_by_citynevű tárolt eljárást. A tárolt eljáráslogika létrehoz egy aggregate_sale_by_date_city nevű táblát, és adatokat szúr be a fact_sale és dimension_city táblákat összekapcsoló csoportosítási lekérdezéssel.

     --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. A lekérdezés végrehajtásához a lekérdezéstervező menüszalagján válassza a Futtatáslehetőséget.

  5. A végrehajtás befejezésekor nevezze át a lekérdezést Create Aggregate Procedure.

  6. Az Explorer panelen, a dbo séma Tárolt eljárások mappájából ellenőrizze, hogy létezik-e a aggregate_sale_by_date_city tárolt eljárás.

    Képernyőkép az Explorer panelről, kiemelve az újonnan létrehozott tárolt eljárást.

A tárolt eljárás futtatása

Ebben a feladatban megtudhatja, hogyan hajthatja végre a tárolt eljárást a raktártáblák adatainak átalakításához.

  1. Hozzon létre egy új lekérdezést.

  2. A lekérdezésszerkesztőben illessze be a következő kódot. A kód végrehajtja a populate_aggregate_sale_by_city tárolt eljárást.

     --Execute the stored procedure to create and load aggregated data.
     EXEC [dbo].[populate_aggregate_sale_by_city];
    
  3. Futtassa a lekérdezést.

  4. A végrehajtás befejezésekor nevezze át a lekérdezést Run Aggregate Procedure.

  5. Az összesített adatok előnézetének megtekintéséhez az Explorer panelen válassza ki a aggregate_sale_by_date_city táblát.

    Jegyzet

    Ha a táblázat nem jelenik meg, jelölje ki a kihagyást (…) a Táblák mappához, majd válassza a Frissítéslehetőséget.

    Képernyőkép az Explorer panelről, kiemelve az újonnan létrehozott táblát.

Következő lépés