Tutorial: Transformar dados com um procedimento armazenado em um depósito
Aplica-se a:✅ ponto de extremidade de análise SQL e Warehouse no Microsoft Fabric
Neste tutorial, saiba como criar um procedimento armazenado em um depósito para transformar dados em uma tabela.
Observação
Este tutorial faz parte de um cenário de ponta a ponta. Para concluir este tutorial, você deve primeiro concluir estes tutoriais:
Criar um procedimento armazenado
Nesta tarefa, aprenda a criar um procedimento armazenado para transformar dados em uma tabela de armazém de dados.
Verifique se o espaço de trabalho criado no primeiro tutorial está aberto.
Na faixa de opções da Página Inicial , selecione a Nova consulta SQL .
No editor de consultas, cole o código a seguir. O código descarta o procedimento armazenado (se ele existir) e, em seguida, cria um procedimento armazenado chamado
populate_aggregate_sale_by_city
. A lógica do procedimento armazenado cria uma tabela chamadaaggregate_sale_by_date_city
e insere dados nela através de uma consulta de agrupamento que une as tabelasfact_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;
Para executar a consulta, na faixa de opções do designer de consulta, selecione Executar.
Quando a execução for concluída, renomeie a consulta como
Create Aggregate Procedure
.No painel do
Explorador, na pasta Procedimentos Armazenados do do esquema , verifique se o procedimento armazenado existe.
Executar o procedimento armazenado
Nesta tarefa, aprenda a executar o stored procedure para transformar dados em uma tabela de armazém.
Crie uma nova consulta.
No editor de consultas, cole o código a seguir. O código executa a procédure armazenada
populate_aggregate_sale_by_city
.--Execute the stored procedure to create and load aggregated data. EXEC [dbo].[populate_aggregate_sale_by_city];
Execute a consulta.
Quando a execução for concluída, renomeie a consulta como
Run Aggregate Procedure
.Para visualizar os dados agregados, no painel do
Explorer, selecione a tabela . Observação
Se a tabela não aparecer, clique nas reticências (…) da pasta Tabelas e, em seguida, selecione Atualizar.