다음을 통해 공유


자습서: 웨어하우스의 저장 프로시저를 사용하여 데이터 변환

적용 대상:✅ Microsoft Fabric의 SQL 분석 엔드포인트 및 웨어하우스

이 자습서에서는 웨어하우스에 저장 프로시저를 만들어 테이블의 데이터를 변환하는 방법을 알아봅니다.

메모

이 자습서는 엔드 투 엔드 시나리오일부를 구성합니다. 이 자습서를 완료하려면 먼저 다음 자습서를 완료해야 합니다.

  1. 작업 영역 만들기
  2. 웨어하우스 생성
  3. 웨어하우스로 데이터 적재

저장 프로시저 만들기

이 작업에서는 웨어하우스 테이블에서 데이터를 변환하는 저장 프로시저를 만드는 방법을 알아봅니다.

  1. 첫 번째 튜토리얼에서 만든 작업 공간이 열려 있는지 확인합니다.

  2. 리본에서 새 SQL 쿼리를 선택합니다.

    홈 리본의 스크린샷, 새 SQL 쿼리 옵션을 강조 표시합니다.

  3. 쿼리 편집기에 다음 코드를 붙여 넣습니다. 이 코드는 저장 프로시저를 삭제한 다음(있는 경우) populate_aggregate_sale_by_city저장 프로시저를 만듭니다. 저장 프로시저 논리는 aggregate_sale_by_date_city 테이블을 만들고 fact_saledimension_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. 쿼리를 실행하려면 쿼리 디자이너 리본에서 실행을 선택합니다.

  5. 실행이 완료되면 쿼리의 이름을 Create Aggregate Procedure으로 변경하십시오.

  6. 탐색기 창의 dbo 스키마에 대한 저장 프로시저 폴더 내에서 aggregate_sale_by_date_city 저장 프로시저가 있는지 확인합니다.

    새로 만든 저장 프로시저를 강조 표시하는 탐색기 창의 스크린샷

저장 프로시저 실행

이 작업에서는 저장 프로시저를 실행하여 웨어하우스 테이블의 데이터를 변환하는 방법을 알아봅니다.

  1. 새 쿼리를 만듭니다.

  2. 쿼리 편집기에 다음 코드를 붙여 넣습니다. 코드는 populate_aggregate_sale_by_city 저장 프로시저를 실행합니다.

     --Execute the stored procedure to create and load aggregated data.
     EXEC [dbo].[populate_aggregate_sale_by_city];
    
  3. 쿼리를 실행합니다.

  4. 실행이 완료되면 쿼리의 이름을 Run Aggregate Procedure으로 변경하십시오.

  5. 집계된 데이터를 미리 보려면 탐색기 창에서 aggregate_sale_by_date_city 테이블을 선택합니다.

    메모

    테이블이 표시되지 않으면 줄임표(...)를 선택한 다음 Tables 폴더에서 새로 고침을 선택합니다.

    새로 만든 테이블을 강조 표시하는 탐색기 창의 스크린샷

다음 단계