บทช่วยสอน: การเดินทางใช้เวลากับ T-SQL ใน Warehouse
ในบทช่วยสอนนี้ คุณจะได้เรียนรู้วิธีการใช้คําสั่ง T-SQL เพื่อ การเดินทางในเวลา ในตารางคลังสินค้า การเดินทางเวลาหมายถึงการคิวรีข้อมูลตามที่มีอยู่ณ จุดเวลาที่กําหนด ซึ่งเกิดขึ้นโดยอัตโนมัติโดย Fabric Warehouse การเก็บรักษาข้อมูล
หมายเหตุ
บทช่วยสอนนี้เป็นส่วนหนึ่งของสถานการณ์แบบครอบคลุม เพื่อให้บทช่วยสอนเสร็จสมบูรณ์ คุณต้องทําบทช่วยสอนเหล่านี้ให้เสร็จสมบูรณ์ก่อน:
- สร้าง พื้นที่ทํางาน
- สร้าง คลังสินค้า
- การนําเข้าข้อมูลลงใน คลังสินค้า
ทํางานกับคิวรีการเดินทางในเวลา
ในงานนี้ เรียนรู้วิธีสร้างมุมมองของลูกค้า 10 อันดับแรกตามยอดขาย คุณจะใช้มุมมองในงานถัดไปเพื่อเรียกใช้คิวรีการเดินทางในเวลา
ตรวจสอบให้แน่ใจว่าพื้นที่ทํางานที่คุณสร้างขึ้นในบทช่วยสอน เปิดอยู่
บนแถบเครื่องมือ home ให้เลือก คิวรี SQL ใหม่
ในตัวแก้ไขคิวรี ให้วางโค้ดต่อไปนี้ โค้ดจะสร้างมุมมองที่ชื่อว่า
Top10Customers
มุมมองใช้คิวรีเพื่อดึงข้อมูลลูกค้า 10 อันดับแรกตามยอดขาย--Create the Top10Customers view. CREATE VIEW [dbo].[Top10Customers] AS SELECT TOP(10) FS.[CustomerKey], DC.[Customer], SUM(FS.[TotalIncludingTax]) AS [TotalSalesAmount] FROM [dbo].[dimension_customer] AS DC INNER JOIN [dbo].[fact_sale] AS FS ON DC.[CustomerKey] = FS.[CustomerKey] GROUP BY FS.[CustomerKey], DC.[Customer] ORDER BY [TotalSalesAmount] DESC;
เรียกใช้คิวรี
เมื่อการดําเนินการเสร็จสมบูรณ์ ให้เปลี่ยนชื่อคิวรีเป็น
Create Top 10 Customer View
ในบานหน้าต่าง
Explorer จากภายในโฟลเดอร์ มุมมอง สําหรับ schema ของ ให้ตรวจสอบว่ามีมุมมอง อยู่ สร้างคิวรีใหม่เพื่อทํางานกับคิวรีการเดินทางในเวลา
ในตัวแก้ไขคิวรี ให้วางโค้ดต่อไปนี้ รหัสจะอัปเดตค่า
TotalIncludingTax
สําหรับแถวข้อเท็จจริงเดียวเพื่อขยายยอดขายทั้งหมดโดยตั้งใจ นอกจากนี้ยังเรียกใช้ประทับเวลาปัจจุบัน--Update the TotalIncludingTax for a single fact row to deliberately inflate its total sales. UPDATE [dbo].[fact_sale] SET [TotalIncludingTax] = 200000000 WHERE [SaleKey] = 22632918; --For customer 'Tailspin Toys (Muir, MI)' GO --Retrieve the current (UTC) timestamp. SELECT CURRENT_TIMESTAMP;
หมายเหตุ
ในปัจจุบัน คุณสามารถใช้โซนเวลามาตรฐานสากล (UTC) สําหรับการเดินทางเวลาได้เท่านั้น
เรียกใช้คิวรี
เมื่อการดําเนินการเสร็จสมบูรณ์ ให้เปลี่ยนชื่อคิวรีเป็น
Time Travel
ในบานหน้าต่าง ผลลัพธ์ ให้สังเกตค่าประทับเวลา (ค่าของคุณจะเป็นวันที่และเวลา UTC ปัจจุบัน)
เมื่อต้องการดึงข้อมูลลูกค้า 10 อันดับแรก ณ ตอนนี้ในตัวแก้ไขคิวรีใหม่ ให้วางคําสั่งต่อไปนี้ รหัสจะดึงลูกค้า 10 อันดับแรกโดยใช้คําแนะนําคิวรี
FOR TIMESTAMP AS OF
--Retrieve the top 10 customers as of now. SELECT * FROM [dbo].[Top10Customers] OPTION (FOR TIMESTAMP AS OF 'YOUR_TIMESTAMP');
เปลี่ยนชื่อคิวรีเป็น
Time Travel Now
กลับไปยังคิวรี
Time Travel
จากนั้นใช้คําสั่ง คัดลอก เพื่อคัดลอกผลลัพธ์คิวรีกลับไปยังแบบสอบถาม
Time Travel Now
แล้วแทนที่YOUR_TIMESTAMP
ด้วยประทับเวลาที่คัดลอกไปยังคลิปบอร์ดเรียกใช้คิวรี และสังเกตว่าค่า
CustomerKey
สูงสุดอันดับสองคือ 49 สําหรับTailspin Toys (Muir, MI)
ปรับเปลี่ยนค่าประทับเวลาเป็นเวลาก่อนหน้า โดยการลบ หนึ่งนาทีจากประทับเวลา
เรียกใช้คิวรีอีกครั้ง และสังเกตว่าค่า
CustomerKey
อันดับสองคือ 381 สําหรับWingtip Toys (Sarversville, PA)
ปลาย
สําหรับตัวอย่างการเดินทางเวลาเพิ่มเติม โปรดดู วิธีการ: คิวรี่ใช้เวลาเดินทางที่ระดับใบแจ้งยอด
ขั้นตอนถัดไป
บทช่วยสอน : สร้างคิวรีด้วยวิชวลตัวสร้างคิวรีใน Warehouse