Freigeben über


Tutorial: Daten mit einer gespeicherten Prozedur in einem Datenlager transformieren

Gilt für:✅ SQL-Analyseendpunkt und Warehouse in Microsoft Fabric

In diesem Lernprogramm erfahren Sie, wie Sie eine gespeicherte Prozedur in einem Warehouse erstellen, um Daten in einer Tabelle zu transformieren.

Anmerkung

Dieses Tutorial ist Teil eines End-to-End-Szenarios. Um dieses Tutorial abzuschließen, müssen Sie zuerst diese Tutorials abschließen:

  1. Erstellen eines Arbeitsbereichs
  2. Erstellen eines Lagers
  3. Erfassen von Daten in einem Warehouse

Erstellen einer gespeicherten Prozedur

In dieser Aufgabe erfahren Sie, wie Sie eine gespeicherte Prozedur erstellen, um Daten in einer Lagertabelle zu transformieren.

  1. Stellen Sie sicher, dass der Arbeitsbereich, den Sie im ersten Tutorial erstellt haben, geöffnet ist.

  2. Wählen Sie im Menüband Start Neue SQL-Abfrage aus.

    Screenshot: Menüband „Start“ mit hervorgehobener Option „Neue SQL-Abfrage“.

  3. Fügen Sie im Abfrage-Editor den folgenden Code ein. Der Code legt die gespeicherte Prozedur (sofern vorhanden) ab und erstellt dann eine gespeicherte Prozedur mit dem Namen populate_aggregate_sale_by_city. Die Logik der gespeicherten Prozedur erstellt eine Tabelle mit dem Namen aggregate_sale_by_date_city und fügt Daten mit einer Gruppierungsabfrage ein, bei der die fact_sale und dimension_city Tabellen verknüpft werden.

     --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. Um die Abfrage auszuführen, wählen Sie im Menüband des Abfrage-Designers Ausführenaus.

  5. Wenn die Ausführung abgeschlossen ist, benennen Sie die Abfrage in Create Aggregate Procedureum.

  6. Überprüfen Sie im Bereich Explorer im Ordner Gespeicherte Prozeduren für das dbo Schema, ob die gespeicherte Prozedur aggregate_sale_by_date_city vorhanden ist.

    Screenshot des Explorer-Bereichs, in dem die neu erstellte gespeicherte Prozedur hervorgehoben wird.

Ausführen der gespeicherten Prozedur

In dieser Aufgabe erfahren Sie, wie Sie die gespeicherte Prozedur ausführen, um Daten in einer Lagertabelle zu transformieren.

  1. Erstellen Sie eine neue Abfrage.

  2. Fügen Sie im Abfrage-Editor den folgenden Code ein. Der Code führt die gespeicherte Prozedur populate_aggregate_sale_by_city aus.

     --Execute the stored procedure to create and load aggregated data.
     EXEC [dbo].[populate_aggregate_sale_by_city];
    
  3. Führen Sie die Abfrage aus.

  4. Wenn die Ausführung abgeschlossen ist, benennen Sie die Abfrage in Run Aggregate Procedureum.

  5. Um eine Vorschau der gesammelten Daten anzuzeigen, wählen Sie im Bereich Explorer die aggregate_sale_by_date_city Tabelle aus.

    Anmerkung

    Wenn die Tabelle nicht angezeigt wird, wählen Sie die Auslassungspunkte (...) für den Ordner Tabellen aus, und wählen Sie dann Aktualisierenaus.

    Screenshot des Explorer-Bereichs, in dem die neu erstellte Tabelle hervorgehoben wird.

Nächster Schritt