チュートリアル: ウェアハウス内のストアド プロシージャを使用してデータを変換する
適用対象:✅ Microsoft Fabric の SQL 分析エンドポイントおよびウェアハウス
このチュートリアルでは、Warehouse にストアド プロシージャを作成して、テーブル内のデータを変換する方法について説明します。
手記
このチュートリアルでは、エンド ツー エンドのシナリオの一部を構成します。 このチュートリアルを完了するには、まず次のチュートリアルを完了する必要があります。
ストアド プロシージャを作成する
このタスクでは、ウェアハウス テーブル内のデータを変換するストアド プロシージャを作成する方法について説明します。
最初のチュートリアル で作成したワークスペースが開かれていることを確認します。
[ホーム] リボンの [新しい SQL クエリ] を選択します。
クエリ エディターで、以下のコードを貼り付けます。 コードはストアド プロシージャを削除し (存在する場合)、
populate_aggregate_sale_by_city
という名前のストアド プロシージャを作成します。 ストアド プロシージャ ロジックは、aggregate_sale_by_date_city
という名前のテーブルを作成し、fact_sale
テーブルと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;
クエリを実行するには、クエリ デザイナーのリボンで [の実行]
選択します。 実行が完了したら、クエリの名前を
Create Aggregate Procedure
に変更します。エクスプローラーの ペインで、
dbo
スキーマの ストアド プロシージャ フォルダー内から、aggregate_sale_by_date_city
ストアド プロシージャが存在することを確認します。
ストアド プロシージャを実行する
このタスクでは、ストアド プロシージャを実行して、ウェアハウス テーブル内のデータを変換する方法について説明します。
新しいクエリを作成します。
クエリ エディターで、以下のコードを貼り付けます。 このコードは、
populate_aggregate_sale_by_city
ストアド プロシージャを実行します。--Execute the stored procedure to create and load aggregated data. EXEC [dbo].[populate_aggregate_sale_by_city];
クエリを実行します。
実行が完了したら、クエリの名前を
Run Aggregate Procedure
に変更します。集計データをプレビューするには、エクスプローラーの ウィンドウで、
aggregate_sale_by_date_city
テーブルを選択します。手記
テーブルが表示されない場合は、Tables フォルダーの省略記号「…」を選択し、更新を選択します。
次のステップ
チュートリアル: ウェアハウス での T-SQL を使用したタイム トラベル