แชร์ผ่าน


บทช่วยสอน: การเดินทางใช้เวลากับ T-SQL ใน Warehouse

ในบทช่วยสอนนี้ คุณจะได้เรียนรู้วิธีการใช้คําสั่ง T-SQL เพื่อ การเดินทางในเวลา ในตารางคลังสินค้า การเดินทางเวลาหมายถึงการคิวรีข้อมูลตามที่มีอยู่ณ จุดเวลาที่กําหนด ซึ่งเกิดขึ้นโดยอัตโนมัติโดย Fabric Warehouse การเก็บรักษาข้อมูล

หมายเหตุ

บทช่วยสอนนี้เป็นส่วนหนึ่งของสถานการณ์แบบครอบคลุม เพื่อให้บทช่วยสอนเสร็จสมบูรณ์ คุณต้องทําบทช่วยสอนเหล่านี้ให้เสร็จสมบูรณ์ก่อน:

  1. สร้าง พื้นที่ทํางาน
  2. สร้าง คลังสินค้า
  3. การนําเข้าข้อมูลลงใน คลังสินค้า

ทํางานกับคิวรีการเดินทางในเวลา

ในงานนี้ เรียนรู้วิธีสร้างมุมมองของลูกค้า 10 อันดับแรกตามยอดขาย คุณจะใช้มุมมองในงานถัดไปเพื่อเรียกใช้คิวรีการเดินทางในเวลา

  1. ตรวจสอบให้แน่ใจว่าพื้นที่ทํางานที่คุณสร้างขึ้นในบทช่วยสอน เปิดอยู่

  2. บนแถบเครื่องมือ home ให้เลือก คิวรี SQL ใหม่

    สกรีนช็อตของตัวเลือกคิวรี SQL ใหม่ บนริบบอน

  3. ในตัวแก้ไขคิวรี ให้วางโค้ดต่อไปนี้ โค้ดจะสร้างมุมมองที่ชื่อว่า 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;
    
  4. เรียกใช้คิวรี

  5. เมื่อการดําเนินการเสร็จสมบูรณ์ ให้เปลี่ยนชื่อคิวรีเป็น Create Top 10 Customer View

  6. ในบานหน้าต่าง Explorer จากภายในโฟลเดอร์ มุมมอง สําหรับ schema ของ ให้ตรวจสอบว่ามีมุมมอง อยู่

    สกรีนช็อตของบานหน้าต่าง Explorer โดยเน้นมุมมองที่สร้างขึ้นใหม่

  7. สร้างคิวรีใหม่เพื่อทํางานกับคิวรีการเดินทางในเวลา

  8. ในตัวแก้ไขคิวรี ให้วางโค้ดต่อไปนี้ รหัสจะอัปเดตค่า 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) สําหรับการเดินทางเวลาได้เท่านั้น

  9. เรียกใช้คิวรี

  10. เมื่อการดําเนินการเสร็จสมบูรณ์ ให้เปลี่ยนชื่อคิวรีเป็น Time Travel

  11. ในบานหน้าต่าง ผลลัพธ์ ให้สังเกตค่าประทับเวลา (ค่าของคุณจะเป็นวันที่และเวลา UTC ปัจจุบัน)

    สกรีนช็อตของบานหน้าต่างผลลัพธ์ โดยเน้นค่าประทับเวลาที่จะคัดลอก

  12. เมื่อต้องการดึงข้อมูลลูกค้า 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');
    
  13. เปลี่ยนชื่อคิวรีเป็น Time Travel Now

  14. กลับไปยังคิวรี Time Travel จากนั้นใช้คําสั่ง คัดลอก เพื่อคัดลอกผลลัพธ์คิวรี

    สกรีนช็อตของคําสั่งคัดลอก โดยเน้นผลลัพธ์คัดลอกคิวรี

  15. กลับไปยังแบบสอบถาม Time Travel Now แล้วแทนที่ YOUR_TIMESTAMP ด้วยประทับเวลาที่คัดลอกไปยังคลิปบอร์ด

  16. เรียกใช้คิวรี และสังเกตว่าค่า CustomerKey สูงสุดอันดับสองคือ 49 สําหรับ Tailspin Toys (Muir, MI)

  17. ปรับเปลี่ยนค่าประทับเวลาเป็นเวลาก่อนหน้า โดยการลบ หนึ่งนาทีจากประทับเวลา

  18. เรียกใช้คิวรีอีกครั้ง และสังเกตว่าค่า CustomerKey อันดับสองคือ 381 สําหรับ Wingtip Toys (Sarversville, PA)

ปลาย

สําหรับตัวอย่างการเดินทางเวลาเพิ่มเติม โปรดดู วิธีการ: คิวรี่ใช้เวลาเดินทางที่ระดับใบแจ้งยอด

ขั้นตอนถัดไป