ข้ามไปยังเนื้อหา
Tayakorn
← ผลงานทั้งหมด
2026

Budget Request Analysis

เครื่องมือช่วยวิเคราะห์คำของบประมาณจากไฟล์ Excel — แปลงเป็น Parquet แล้ววิเคราะห์ด้วย DuckDB ให้เร็วและตรวจสอบย้อนได้

บทบาท: Solo · KMUTT Strategy Officeเทคโนโลยี: Excel · Parquet · DuckDB
ผลลัพธ์

รวมคำของบจากหลายไฟล์ให้ถามซ้ำได้ด้วยคำสั่งเดียว และตรวจย้อนกลับไปหาไฟล์ต้นทางได้

ข้อมูลคำของบประมาณมาถึงเป็นไฟล์สเปรดชีตที่ส่งออกจากระบบต้นทาง และมาใหม่หลายรอบต่อปี — เครื่องมือนี้คือทางที่ทำให้ไฟล์พวกนั้นถามด้วย SQL ได้ และถามซ้ำได้ทุกรอบ

แปลงก่อน แล้วค่อยถาม

เครื่องมือนี้แปลงไฟล์ที่ได้รับเป็น Parquet เก็บไว้ก่อน — รูปแบบเก็บข้อมูลแบบคอลัมน์ที่บีบอัดแล้ว — จากนั้นถามด้วย SQL ผ่าน DuckDB ที่อ่านตรงจากไฟล์นั้น ดึงเฉพาะคอลัมน์และแถวที่คำถามต้องใช้ ไม่ต้องยกข้อมูลทั้งก้อนขึ้นหน่วยความจำอย่างวิธีเดิม และไม่ต้องตั้งเซิร์ฟเวอร์ฐานข้อมูล

คำถามถูกเก็บเป็นไฟล์ รันซ้ำได้ทุกครั้งที่ข้อมูลรอบใหม่มา

ความเละอยู่ที่ต้นทาง

ไฟล์ที่ได้ถูกทำมาให้คนอ่าน ไม่ได้ทำมาให้เครื่องอ่าน แต่ละรอบส่งออกเรียกชื่อคอลัมน์และตั้งชื่อชีตไม่เหมือนกัน บางแผ่นหัวตารางซ้อนหลายชั้นและมีแถวสรุปแทรกกับข้อมูล บางคอลัมน์มีรหัสตัวอักษรปนตัวเลข

วิธีรับมือคือไม่เชื่อรูปร่างของไฟล์ ขั้นตอนนำเข้าเทียบชื่อคอลัมน์กับตารางชื่อพ้อง หาชีตที่ตรงที่สุดเอง บังคับชนิดข้อมูลให้นิ่ง แล้วหยุดทันทีเมื่อคอลัมน์จำเป็นหายไป โดยไม่ทับของเดิม — พังแบบเสียงดังดีกว่าพังแบบเงียบ ยอดรวมที่รู้ค่าอยู่แล้วยังถูกตรวจซ้ำตอนนำเข้า เพื่อจับการอ่านไฟล์ผิดแบบเงียบ

ลูปที่กดซ้ำได้

ปลายทางคือคำสั่งเดียว — นำเข้า สร้างรายงานใหม่ทั้งชุด แล้วตรวจสุขภาพระบบ ขั้นไหนไม่ผ่านคือหยุด ชุดตรวจไม่ผูกกับค่าตัวเลข ข้อมูลรอบใหม่จึงไม่ทำให้การตรวจแดงหลอก ไฟล์ใหม่มาก็แค่วางทับแล้วสั่ง ที่เหลือขึ้นใหม่เอง

บทเรียน

สิ่งที่คุ้มที่สุดคือแยกข้อมูลดิบ ขั้นตอนแปลง และคำตอบ ออกจากกันให้ขาด — ข้อมูลดิบไม่มีใครแก้ ขั้นตอนแปลงอยู่ในโค้ด คำตอบสร้างใหม่ได้เสมอ พอแยกขาด เวลาตัวเลขขยับก็ไม่ต้องเดาว่าอันไหนคือของจริง