MAU monitor (II)
หลังจากสร้างพื้นฐานสำหรับ MAU monitor ของ Carol แล้ว ให้เขียนคิวรีที่คืนค่าตารางของเดือนและค่า delta ระหว่าง MAU เดือนปัจจุบันกับเดือนก่อนหน้า
หาก delta ติดลบ แสดงว่ามีผู้ใช้งานในเดือนปัจจุบันน้อยกว่าเดือนก่อนหน้า ซึ่งจะทำให้ monitor แจ้งเตือนทีม Product เพื่อตรวจสอบต่อไป
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์ข้อมูลธุรกิจด้วย SQL
คำแนะนำการฝึกหัด
- ดึงข้อมูล MAU ของเดือนก่อนหน้าใน CTE
mau_with_lag - เลือกเดือนและค่า delta ระหว่าง MAU เดือนปัจจุบันกับเดือนก่อนหน้า
- เรียงลำดับตามเดือนจากน้อยไปมาก
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
WITH mau AS (
SELECT
DATE_TRUNC('month', order_date) :: DATE AS delivr_month,
COUNT(DISTINCT user_id) AS mau
FROM orders
GROUP BY delivr_month),
mau_with_lag AS (
SELECT
delivr_month,
mau,
-- Fetch the previous month's MAU
COALESCE(
___,
0) AS last_mau
FROM mau)
SELECT
-- Calculate each month's delta of MAUs
___,
___ AS mau_delta
FROM mau_with_lag
-- Order by month in ascending order
ORDER BY ___;