1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Phân tích chuỗi thời gian trong SQL Server

Connected

Bài tập

Lấy mẫu thưa (downsample) bằng bảng lịch

Ban quản lý thích báo cáo theo tuần nhưng muốn thấy mọi tuần trong năm 2020, không chỉ các tuần có sử dụng tiện ích. Chúng ta có thể dùng một bảng lịch để giải quyết vấn đề này: bảng lịch bao gồm tất cả các tuần, nên ta có thể JOIN với bảng dbo.DaySpaVisit để tìm câu trả lời.

Ban quản lý cũng muốn thấy ngày đầu tiên của mỗi tuần theo lịch, vì điều đó cung cấp ngữ cảnh quan trọng cho người xem báo cáo.

Hướng dẫn

100 XP
  • Tìm và đưa vào số tuần trong năm theo lịch.
  • Lấy giá trị nhỏ nhất của c.Date trong mỗi nhóm và đặt tên là FirstDateOfWeek. Điều này hợp lý vì ta đang nhóm theo tuần.
  • JOIN bảng Calendar với bảng DaySpaVisit dựa trên ngày trong bảng lịch và ngày khách đến spa. CustomerVisitStart là kiểu DATETIME2 có bao gồm thời gian, nên nếu JOIN trực tiếp thì chỉ bao gồm những lượt bắt đầu đúng vào nửa đêm.
  • Nhóm theo số tuần trong năm theo lịch.