บทช่วยสอน: แปลงข้อมูลด้วย Stored Procedure ใน Warehouse
นําไปใช้กับ:✅ จุดสิ้นสุดการวิเคราะห์ SQL และ Warehouse ใน Microsoft Fabric
ในบทช่วยสอนนี้ เรียนรู้วิธีการสร้างกระบวนงานที่จัดเก็บไว้ใน Warehouse เพื่อแปลงข้อมูลในตาราง
โน้ต
บทช่วยสอนนี้เป็นส่วนหนึ่งของสถานการณ์แบบครอบคลุม เพื่อให้บทช่วยสอนเสร็จสมบูรณ์ คุณต้องทําบทช่วยสอนเหล่านี้ให้เสร็จสมบูรณ์ก่อน:
- สร้าง พื้นที่ทํางาน
- สร้าง คลังสินค้า
- การนําเข้าข้อมูลลงใน คลังสินค้า
สร้างกระบวนงานที่เก็บไว้
ในงานนี้ เรียนรู้วิธีการสร้างกระบวนงานที่เก็บไว้เพื่อแปลงข้อมูลในตารางคลังสินค้า
ตรวจสอบให้แน่ใจว่าพื้นที่ทํางานที่คุณสร้างขึ้นในบทช่วยสอน เปิดอยู่
บนแถบเครื่องมือ home ให้เลือก คิวรี SQL ใหม่
ในตัวแก้ไขคิวรี ให้วางโค้ดต่อไปนี้ โค้ดจะทิ้งกระบวนงานที่เก็บไว้ (ถ้ามี) จากนั้นจะสร้างกระบวนงานที่เก็บไว้ชื่อ
populate_aggregate_sale_by_city
ตรรกะ Stored Procedure จะสร้างตารางที่มีชื่อaggregate_sale_by_date_city
และแทรกข้อมูลลงในตารางด้วยคิวรี group-by ที่รวมตาราง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
ในบานหน้าต่าง
Explorer จากภายในโฟลเดอร์ Stored Procedures สําหรับ Schemaให้ตรวจสอบว่ามีกระบวนงานที่เก็บไว้ของ อยู่
เรียกใช้กระบวนงานที่เก็บไว้
ในงานนี้ เรียนรู้วิธีดําเนินการตามขั้นตอนการจัดเก็บเพื่อแปลงข้อมูลในตารางคลัง
สร้างคิวรีใหม่
ในตัวแก้ไขคิวรี ให้วางโค้ดต่อไปนี้ โค้ดจะดําเนินการขั้นตอนการจัดเก็บ
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
หากต้องการแสดงตัวอย่างข้อมูลรวม ในบานหน้าต่าง
Explorer ให้เลือกตาราง โน้ต
ถ้าตารางไม่ปรากฏขึ้น เลือกจุดไข่ปลา (...) สําหรับโฟลเดอร์ ตาราง จากนั้นเลือก รีเฟรช
ขั้นตอนถัดไป
บทช่วยสอน : เดินทางกับ T-SQL ใน Warehouse