Section 6: Lab: Subquery, CTE และ Window Function
- Subquery แบบต่าง ๆ และ CTE (WITH) หลายชั้น แตกคำถามใหญ่เป็นขั้นตอนย่อยที่อ่านง่าย
- ใช้ UNION และ EXCEPT เปรียบเทียบข้อมูลสองชุด
- OVER, PARTITION BY และ ORDER BY ในภาษาที่เข้าใจง่าย
- ROW_NUMBER, RANK และ DENSE_RANK จัดอันดับและหาแถวล่าสุดของแต่ละกลุ่ม
- LAG, LEAD, Running Total และ Moving Average สำหรับเทียบงวดและดูแนวโน้ม
- ใช้ Window Function ค้นหาข้อมูลซ้ำที่ควรมีเพียงรายการเดียว
Section 7: Data Profiling: รู้จักข้อมูลก่อนเชื่อข้อมูล
- ความครบถ้วน: สัดส่วนค่าว่างของแต่ละคอลัมน์
- ความเป็นเอกลักษณ์: ข้อมูลซ้ำที่ไม่ควรซ้ำ เช่น เลขบัตรสมาชิกหรือรหัสสินค้า
- ความสอดคล้อง: รายการกำพร้าที่อ้างถึงข้อมูลที่ไม่มีอยู่จริง
- ความสมเหตุสมผล: ค่าติดลบ วันที่ในอนาคต และค่านอกช่วงที่กำหนด
- Data Quality Report แบบมาตรฐานที่ใช้ซ้ำได้ทุกโครงการ
Section 8: การสืบสวนหาสาเหตุอย่างเป็นระบบ
- ตั้งสมมติฐาน ออกแบบ Query พิสูจน์ และสรุปหลักฐาน
- ไล่หาความคลาดเคลื่อนของตัวเลขระหว่างสองระบบ
- ตรวจร่องรอยการแก้ไขข้อมูลผ่านตาราง Audit Log
- เขียนสรุปผลการสืบสวนที่ผู้บริหารอ่านเข้าใจใน 1 หน้า
Section 9: ประสิทธิภาพและความปลอดภัยของ Query
- อ่าน EXPLAIN เบื้องต้น: Sequential Scan เทียบกับ Index Scan
- ลักษณะ Query ที่ทำให้ Index ใช้งานไม่ได้ และวิธีหลีกเลี่ยง
- ข้อควรปฏิบัติเมื่อต้อง Query บนระบบ Production
- PDPA: ปกปิดข้อมูลส่วนบุคคลก่อนส่งผลลัพธ์ให้ผู้อื่น
Section 10: Lab: จากผลลัพธ์สู่รายงานที่นำเสนอได้
- ส่งออกผลลัพธ์เป็น Excel หรือ CSV อย่างถูกต้อง
- สร้าง Question และ Dashboard บน Metabase จาก SQL ที่เขียนเอง
- ตั้งค่า Filter และ Parameter ให้ผู้ใช้ทั่วไปดูรายงานเองได้
Section 11: Master Workshop: NovaRetail Data Investigation
- สืบหาสาเหตุที่รายงานยอดขายไม่ตรงกับตัวเลขจากหน้าร้าน
- ตรวจหาข้อมูลซ้ำ รายการกำพร้า และรายการที่ถูกยกเลิกแต่ยังนับรวม
- จัดทำ Data Quality Report สรุปข้อค้นพบพร้อมข้อเสนอแนะ และนำเสนอต่อกลุ่ม