Esercitazione: Trasformazione dei dati con una stored procedure in un magazzino
Si applica a:✅ endpoint di Analisi SQL e Warehouse in Microsoft Fabric
Questa guida illustra come creare una stored procedure in un Warehouse per trasformare i dati in una tabella.
Nota
Questa esercitazione rientra nello scenario end-to-end. Per completare questa esercitazione, è prima necessario completare queste esercitazioni:
Creare una stored procedure
In questa attività imparerai come creare una procedura memorizzata per trasformare i dati in una tabella del magazzino dati.
Assicurarsi che l'area di lavoro creata nella prima esercitazione sia aperta.
Nella barra multifunzione home
selezionare Nuova query SQL .Incollare il seguente codice nell'editor di query. Il codice elimina la stored procedure (se esistente) e quindi crea una stored procedure denominata
populate_aggregate_sale_by_city
. La logica della procedura memorizzata crea una tabella denominataaggregate_sale_by_date_city
e vi inserisce dati con una query group-by che unisce le tabellefact_sale
edimension_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;
Per eseguire la query, nella barra multifunzione del progettista di query selezionare Esegui.
Al termine dell'esecuzione, rinominare la query come
Create Aggregate Procedure
.Nel riquadro Explorer, dall'interno della cartella Stored Procedures, nel contesto dello schema
dbo
, verificare che la stored procedureaggregate_sale_by_date_city
esista.
Eseguire la procedura memorizzata
In questa attività viene illustrato come eseguire la stored procedure per trasformare i dati in una tabella warehouse.
Creare una nuova query.
Incollare il seguente codice nell'editor di query. Il codice esegue la stored procedure
populate_aggregate_sale_by_city
.--Execute the stored procedure to create and load aggregated data. EXEC [dbo].[populate_aggregate_sale_by_city];
Esegui la query.
Al termine dell'esecuzione, rinominare la query come
Run Aggregate Procedure
.Per visualizzare in anteprima i dati aggregati, nel riquadro Esplora , selezionare la tabella
aggregate_sale_by_date_city
.Nota
Se la tabella non viene visualizzata, selezionare l'icona con i tre punti (...) per la cartella Tables e quindi selezionare Aggiorna.
Passaggio successivo
Esercitazione su : Viaggio nel tempo con T-SQL in un data warehouse