次の方法で共有


チュートリアル: ストアド プロシージャを使用してデータを変換する

適用対象: Microsoft Fabric の SQL 分析エンドポイントおよびウェアハウス

データを変換するための新しいストアド プロシージャを作成して保存する方法について説明します。

データを変換する

  1. リボンの [ホーム] タブで、[新規 SQL クエリ] を選択します。

    [新規 SQL クエリ] を選択する場所を示す、[ホーム] タブのリボンのスクリーンショット。

  2. クエリ エディターで、ストアド プロシージャ dbo.populate_aggregate_sale_by_city を作成するための次のコードを貼り付けます。 このストアド プロシージャは、後の手順で dbo.aggregate_sale_by_date_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
        --If the aggregate table already exists, drop it. Then create the table.
        DROP TABLE IF EXISTS [dbo].[aggregate_sale_by_date_city];
        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)
            );
    
        --Reload the aggregated dataset to 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
    
  3. 後で参照するためにこのクエリを保存するには、[クエリ] タブを右クリックし、[名前の変更] を選択します。

    クエリを右クリックして [名前の変更] を選択する場所を示す、エディター画面のタブのスクリーンショット。

  4. Create Aggregate Procedure」と入力して、クエリの名前を変更します。

  5. キーボードの Enter キーを押すか、タブの外側の任意の場所を選択して、変更を保存します。

  6. [実行] を選択して、クエリを実行します。

  7. リボンにある更新ボタンを選択します。

    更新ボタンを選択する場所を示す、[ホーム] リボンのスクリーンショット。

  8. オブジェクト エクスプローラーで、dbo スキーマの下にある StoredProcedures ノードを展開して、新しく作成したストアド プロシージャが表示されることを確認します。

    StoredProcedures ノードを展開して新しく作成されたプロシージャを確認する場所を示す、[エクスプローラー] ペインのスクリーンショット。

  9. リボンの [ホーム] タブで、[新規 SQL クエリ] を選択します。

  10. クエリ エディターで、以下のコードを貼り付けます。 この T-SQL は、dbo.populate_aggregate_sale_by_city を実行して dbo.aggregate_sale_by_date_city テーブルを作成します。

    --Execute the stored procedure to create the aggregate table.
    EXEC [dbo].[populate_aggregate_sale_by_city];
    
  11. 後で参照するためにこのクエリを保存するには、[クエリ] タブを右クリックし、[名前の変更] を選択します。

  12. Run Create Aggregate Procedure」と入力して、クエリの名前を変更します。

  13. キーボードの Enter キーを押すか、タブの外側の任意の場所を選択して、変更を保存します。

  14. [実行] を選択して、クエリを実行します。

  15. リボンにある更新ボタンを選択します。 このクエリの実行には 2 分から 3 分かかります。

  16. オブジェクト エクスプローラーで、[エクスプローラー] にある aggregate_sale_by_city テーブルを選択してデータのプレビューを読み込んで、データが正常に読み込まれたことを確認します。

    選択したテーブルに読み込まれたデータが一覧表示された [データのプレビュー] 画面の横にある、[エクスプローラー] ペインのスクリーンショット。

次のステップ