Tutorial: Transformar dados com um procedimento armazenado em um Warehouse
Aplica-se a:✅ ponto de extremidade de análise do SQL e Warehouse no Microsoft Fabric
Neste tutorial, saiba como criar um procedimento armazenado em um Warehouse para transformar dados em uma tabela.
Nota
Este tutorial faz parte de um cenário de ponta a ponta. Para concluir este tutorial, primeiro você deve concluir estes tutoriais:
Criar um procedimento armazenado
Nesta tarefa, saiba como criar um procedimento armazenado para transformar dados em uma tabela de warehouse.
Verifique se o workspace que você criou no primeiro tutorial está aberto.
Na faixa de opções Página Inicial, selecione Nova consulta SQL.
No editor de consultas, cole o código a seguir. O código descarta o procedimento armazenado (se ele existir) e 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 usando uma consulta com cláusula GROUP BY 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 Explorer, dentro da pasta Procedimentos Armazenados para o esquema
dbo
, verifique se o procedimento armazenadoaggregate_sale_by_date_city
existe.
Executar o procedimento armazenado
Nesta tarefa, saiba como executar o procedimento armazenado para transformar dados em uma tabela de warehouse.
Crie uma nova consulta.
No editor de consultas, cole o código a seguir. O código executa o procedimento armazenado
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 . Nota
Se a tabela não aparecer, selecione o ícone de reticências (...) para a pasta Tabelas e depois selecione Atualizar.