Partager via


Tutoriel : Transformer des données avec une procédure stockée dans un entrepôt

S’applique à :✅ point de terminaison d’analytique SQL et entrepôt dans Microsoft Fabric

Dans ce tutoriel, découvrez comment créer une procédure stockée dans un entrepôt pour transformer des données dans une table.

Remarque

Ce tutoriel fait partie d’un scénario de bout en bout. Pour suivre ce didacticiel, vous devez d’abord suivre ces didacticiels :

  1. Créer un espace de travail
  2. Créer un entrepôt
  3. Charger des données dans un entrepôt

Créer une procédure stockée

Dans cette tâche, découvrez comment créer une procédure stockée pour transformer des données dans une table d’entrepôt.

  1. Vérifiez que l’espace de travail que vous avez créé dans le premier didacticiel est ouvert.

  2. Dans le ruban Accueil, sélectionnez nouvelle requête SQL.

    Capture d’écran du ruban Accueil, mettant en évidence l’option Nouvelle requête SQL.

  3. Dans l'éditeur de requête, collez le code suivant. Le code supprime la procédure stockée (le cas échéant), puis crée une procédure stockée nommée populate_aggregate_sale_by_city. La logique de procédure stockée crée une table nommée aggregate_sale_by_date_city et insère des données dans celle-ci avec une requête group-by qui joint les tables fact_sale et 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. Pour exécuter la requête, dans le ruban du concepteur de requêtes, sélectionnez Exécuter.

  5. Une fois l’exécution terminée, renommez la requête en tant que Create Aggregate Procedure.

  6. Dans le volet de l’Explorateur , à partir du dossier procédures stockées du schéma , vérifiez que la procédure stockée existe.

    Capture d’écran du volet Explorateur, mettant en évidence la procédure stockée nouvellement créée.

Exécuter la procédure stockée

Dans cette tâche, découvrez comment exécuter la procédure stockée pour transformer des données dans une table d’entrepôt.

  1. Créez une requête.

  2. Dans l'éditeur de requête, collez le code suivant. Le code exécute la populate_aggregate_sale_by_cityprocédure stockée.

     --Execute the stored procedure to create and load aggregated data.
     EXEC [dbo].[populate_aggregate_sale_by_city];
    
  3. Exécutez la requête.

  4. Une fois l’exécution terminée, renommez la requête en tant que Run Aggregate Procedure.

  5. Pour afficher un aperçu des données agrégées, dans le volet explorateur , sélectionnez la table .

    Remarque

    Si la table n’apparaît pas, sélectionnez l'icône à trois points (...) pour le dossier tables, puis sélectionnez Actualiser.

    Capture d’écran du volet Explorateur, mettant en évidence la table nouvellement créée.

Étape suivante