1. Lära sig
  2. /
  3. Courses
  4. /
  5. Phân tích chuỗi thời gian trong SQL Server

Connected

exercise

Xây dựng luồng sự kiện

Ở bài trước, chúng ta đã tách dữ liệu day spa thành một luồng sự kiện vào và ra. Việc unpivot dữ liệu cho phép chuyển sang bước tiếp theo, là sắp xếp toàn bộ luồng theo thứ tự.

Kết quả từ bài trước hiện có trong bảng tạm #StartStopPoints. Các cột trong bảng này gồm CustomerID, TimeUTC, EntryCount, và StartOrdinal. Đây là những cột duy nhất bạn cần dùng trong bài này. TimeUTC là thời điểm sự kiện, EntryCount cho biết mức thay đổi ròng của sự kiện (+1 hoặc -1), và StartOrdinal xuất hiện với các sự kiện vào, thể hiện thứ tự vào.

Instruktioner

100 XP
  • Điền hàm cửa sổ phù hợp (ROW_NUMBER()) để tạo luồng check-in và check-out theo thứ tự thời gian.
  • PARTITION BY theo mã khách hàng để tính kết quả cho từng người dùng.
  • ORDER BY theo thời điểm sự kiện và xử lý trường hợp trùng bằng cách dùng giá trị start ordinal.