Compartilhar via


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:

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

Criar um procedimento armazenado

Nesta tarefa, saiba como criar um procedimento armazenado para transformar dados em uma tabela de warehouse.

  1. Verifique se o workspace que você criou no primeiro tutorial está aberto.

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

    Captura de tela da faixa de opções Página Inicial, 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 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 usando uma consulta com cláusula GROUP BY 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 Explorer, dentro da pasta Procedimentos Armazenados para o esquema dbo, verifique se o procedimento armazenado aggregate_sale_by_date_city existe.

    Captura de tela do painel Explorer, realçando o procedimento armazenado recém-criado.

Executar o procedimento armazenado

Nesta tarefa, saiba como executar o procedimento armazenado para transformar dados em uma tabela de warehouse.

  1. Crie uma nova consulta.

  2. 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];
    
  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 .

    Nota

    Se a tabela não aparecer, selecione o ícone de reticências (...) para a pasta Tabelas e depois selecione Atualizar.

    Captura de tela do painel Explorer, realçando a tabela recém-criada.

Próxima etapa