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 :
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.
Vérifiez que l’espace de travail que vous avez créé dans le premier didacticiel est ouvert.
Dans le ruban Accueil, sélectionnez nouvelle requête SQL.
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éeaggregate_sale_by_date_city
et insère des données dans celle-ci avec une requête group-by qui joint les tablesfact_sale
etdimension_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;
Pour exécuter la requête, dans le ruban du concepteur de requêtes, sélectionnez Exécuter.
Une fois l’exécution terminée, renommez la requête en tant que
Create Aggregate Procedure
.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.
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.
Créez une requête.
Dans l'éditeur de requête, collez le code suivant. Le code exécute la
populate_aggregate_sale_by_city
procédure stockée.--Execute the stored procedure to create and load aggregated data. EXEC [dbo].[populate_aggregate_sale_by_city];
Exécutez la requête.
Une fois l’exécution terminée, renommez la requête en tant que
Run Aggregate Procedure
.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.