Hot Deck을 이용한 평일 논리 처리
요일별로 총 거리 대비 총 요금 금액(Total Fare Amount per Total Distance)을 계산하세요. TripDistance가 0이면 이 장 앞부분에서 만든 Hot Deck 대치 함수(Hot Deck imputation function)를 사용하세요.
이 연습은 강의의 일부입니다
SQL Server에서 함수와 저장 프로시저 작성하기
연습 안내
DATENAME()과PickupDate를 사용해 요일을 선택하세요.AVG()로TripDistance당TotalAmount를 계산하고,CASE문을 사용해TripDistance가0보다 크면 그 값을 선택하세요. 그렇지 않으면dbo.GetTripDistanceHotDeck()을 사용하세요.PickupDate의 요일 순으로 정렬하되,'Monday'가 먼저 오도록 하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
SELECT
-- Select the pickup day of week
DATENAME(weekday, PickupDate) as DayofWeek,
-- Calculate TotalAmount per TripDistance
CAST(AVG(TotalAmount/
-- Select TripDistance if it's more than 0
CASE WHEN TripDistance > 0 THEN TripDistance
-- Use GetTripDistanceHotDeck()
ELSE dbo.GetTripDistanceHotDeck() END) as decimal(10,2)) as 'AvgFare'
FROM YellowTripData
GROUP BY DATENAME(weekday, PickupDate)
-- Order by the PickupDate day of week
ORDER BY
___ ___ ___(weekday, PickupDate) = '___' THEN 1
___ ___(weekday, PickupDate) = '___' THEN 2
___ ___(weekday, PickupDate) = '___' THEN 3
___ ___(weekday, PickupDate) = '___' THEN 4
___ ___(weekday, PickupDate) = '___' THEN 5
___ ___(weekday, PickupDate) = '___' THEN 6
___ ___(weekday, PickupDate) = '___' THEN 7
END ASC;