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:

  1. Criar um espaço de trabalho
  2. Criar um Armazém
  3. Ingerir dados em um armazém de dados

Criar um procedimento armazenado

Nesta tarefa, aprenda a criar um procedimento armazenado para transformar dados em uma tabela de armazém de dados.

  1. Verifique se o espaço de trabalho criado no primeiro tutorial está aberto.

  2. Na faixa de opções da Página Inicial , selecione a Nova consulta SQL .

    Captura de ecrã do friso Início, realçando a opção Nova consulta SQL.

  3. 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 chamada aggregate_sale_by_date_city e insere dados nela através de uma consulta de agrupamento que une as tabelas fact_sale e 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. Para executar a consulta, na faixa de opções do designer de consulta, selecione Executar.

  5. Quando a execução for concluída, renomeie a consulta como Create Aggregate Procedure.

  6. No painel do Explorador, na pasta Procedimentos Armazenados do do esquema , verifique se o procedimento armazenado existe.

    Captura de ecrã do painel Explorer, destacando a procedura armazenada recém-criada.

Executar o procedimento armazenado

Nesta tarefa, aprenda a executar o stored procedure para transformar dados em uma tabela de armazém.

  1. Crie uma nova consulta.

  2. 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];
    
  3. Execute a consulta.

  4. Quando a execução for concluída, renomeie a consulta como Run Aggregate Procedure.

  5. 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.

    Captura de tela do painel Explorer, destacando a tabela recém-criada.

Próximo passo