1. Nauka
  2. /
  3. Kursy
  4. /
  5. Analiza szeregów czasowych w SQL Server

Connected

ćwiczenie

Próbkowanie w dół przy użyciu tabeli kalendarza

Kierownictwo spodobał się raport tygodniowy, ale chciałoby zobaczyć każdy tydzień 2020 roku – nie tylko te, w których odnotowano korzystanie z udogodnień. Do rozwiązania tego problemu możemy użyć tabeli kalendarza: zawiera ona wszystkie tygodnie, dzięki czemu możemy połączyć ją z tabelą dbo.DaySpaVisit i uzyskać potrzebne dane.

Kierownictwo chciałoby również zobaczyć pierwszy dzień każdego tygodnia kalendarzowego, ponieważ zapewnia to ważny kontekst dla osób czytających raport.

Instrukcje

100 XP
  • Znajdź i uwzględnij tydzień roku kalendarzowego.
  • Dla każdej grupy uwzględnij minimalną wartość c.Date jako FirstDateOfWeek. Działa to poprawnie, ponieważ grupujemy dane według tygodnia.
  • Połącz tabelę Calendar z tabelą DaySpaVisit na podstawie daty z tabeli kalendarza i daty wizyty każdego klienta spa. CustomerVisitStart jest typu DATETIME2 i zawiera godzinę, dlatego bezpośrednie złączenie uwzględniałoby tylko wizyty rozpoczynające się dokładnie o północy.
  • Grupuj według tygodnia roku kalendarzowego.