Skip to content

Student data request ​

The data specification sent to ฝ่าย Data Analytics

เอกสารนี้ ส่งต่อได้ทั้งฉบับ ไม่ต้องแก้ (ฝั่งเทคนิคอ่าน docs/HOUSE-SYSTEM.md แทน)


เลือกได้ 2 แบบ — เอาแบบไหนก็ได้ที่ฝ่ายข้อมูลสะดวกกว่า ​

แบบสั้น (แนะนำ) — 4 ช่อง ไม่ต้องมีชื่อคนเลย

csv
kkumail,student_id,sai,major
manee.j@kkumail.com,659999999-9,017,MD

ระบบต้องการจริงๆ แค่ 2 อย่างที่คิดเองไม่ได้ คือ สายรหัส กับ อีเมลที่ใช้ระบุตัวคน ส่วน student_id ขอไว้เพราะใช้คำนวณรุ่น (MD50) และ major เพราะเดาไม่ได้ — ชื่อ-นามสกุลไม่ต้องส่ง นักศึกษากรอกเองได้ตอนเข้าสู่ระบบ และมันคือช่องเดียวที่เจ้าตัวรู้แน่นอนอยู่แล้ว

ข้อดีของแบบสั้น: ชื่อของนักศึกษา 1,800 คนไม่ต้องออกจากฝ่ายข้อมูลเลย ทำไฟล์ง่ายกว่า ตรวจง่ายกว่า และมีเรื่องให้ผิดพลาดน้อยกว่า

แบบเต็ม — 7 ช่อง ถ้ามีชื่ออยู่แล้วและส่งมาสะดวกกว่า ก็ส่งแบบข้างล่างนี้ได้เลย (หน้าจอฝั่งผู้ดูแลจะเห็นชื่อคนได้ทันทีโดยไม่ต้องรอให้เจ้าตัวล็อกอิน)

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


แบบเต็ม — เราขออะไร ​

ขอรายชื่อนักศึกษาแพทย์ทั้งคณะ (ประมาณ 1,800 คน ทุกชั้นปี) เป็นไฟล์ตาราง 1 บรรทัด = นักศึกษา 1 คน มี 7 ช่อง ตามนี้

ชื่อช่อง (พิมพ์ตามนี้)คือตัวอย่าง
student_idรหัสนักศึกษา659999999-9
first_name_thชื่อจริง (ภาษาไทย)มานี
last_name_thนามสกุล (ภาษาไทย)ใจดี
nickname_thชื่อเล่น (ภาษาไทย)นก
kkumailอีเมล kkumailmanee.j@kkumail.com
majorสาขาMD
saiสายรหัส017

ขอแค่ 7 ช่องนี้พอ ไม่ต้องมีชั้นปี ไม่ต้องมีปีที่เข้าเรียน ไม่ต้องมีสถานะ เราคำนวณเองได้จากรหัสนักศึกษา (รหัสขึ้นต้น 65 = รุ่น MD50, 64 = MD49)

ชื่อช่องขอเป็นภาษาอังกฤษตามตารางข้างบน พิมพ์ให้ตรงทุกตัวอักษร วางไว้บรรทัดบนสุด บรรทัดเดียว (ต้องเป็นภาษาอังกฤษเพราะโปรแกรมอ่านชื่อช่องตรงๆ ภาษาไทยมักเพี้ยนตอนเปิดไฟล์) ถ้าระบบต้นทางตั้งชื่อช่องเป็นไทย (รหัสนักศึกษา ชื่อ นามสกุล ชื่อเล่นอีเมล สาขา สายรหัส) ระบบเราอ่านออกเหมือนกัน ไม่ต้องแก้


สรุปสั้นที่สุด — 3 ข้อที่ต้องตรง ที่เหลือเราปรับให้เอง ​

ต้องตรงจริงๆ มี 3 ข้อ เพราะถ้าผิดแล้วเราซ่อมทีหลังไม่ได้

  1. อีเมล kkumail ถูกต้องและไม่ซ้ำ — เป็นกุญแจจับคู่ตอนเข้าสู่ระบบ
  2. ชื่อกับนามสกุลแยกกันคนละช่อง — ถ้ารวมมาช่องเดียว เราแยกให้ไม่ได้ (นามสกุลไทยมีเว้นวรรคได้ เช่น ณ อยุธยา ถ้าเดาจะได้ชื่อผิดตัว)
  3. ไฟล์เป็น UTF-8 — ถ้าไม่ใช่ ภาษาไทยจะพังตั้งแต่ในไฟล์ ไม่มีใครกู้คืนได้

เรื่องที่ระบบเราปรับให้เองอัตโนมัติ ไม่ต้องเสียเวลาจัดให้ — เว้นวรรคหน้า-หลัง · เว้นวรรคซ้อน · เลขไทย ๐๑๗ → 017 · md / M.D. → MD · รหัสนักศึกษามีขีดหรือไม่มีขีดก็ได้ · อีเมลตัวพิมพ์ใหญ่-เล็กแบบไหนก็ได้ · สายรหัสที่เลข 0 ข้างหน้าหาย (เราเติมคืนให้ — อ่านรายละเอียดด้านล่าง)

เรื่องที่เราจะไม่แก้ให้ ต้องส่งมาถูกตั้งแต่แรก — ชื่อ-นามสกุลต้องแยกช่อง และ ชื่อต้องไม่มีคำนำหน้า (นาย นางสาว) ทั้งสองอย่างนี้ถ้าเราเดาแทน จะได้ชื่อผิดตัว เราจึงเก็บไว้ตามที่ส่งมาแล้วขึ้นเตือนแทน


กติกาการกรอกแต่ละช่อง ​

รหัสนักศึกษา ​

  • ใส่ขีดก่อนหลักสุดท้าย แบบนี้ 659999999-9
  • ถ้าระบบต้นทางไม่มีขีด ส่งเป็น 6599999999 (10 หลักติดกัน) ได้เลย เราเติมขีดให้เอง และปนกันในไฟล์เดียวก็ได้ ไม่ต้องไปไล่แก้
  • ที่รับไม่ได้คือ ไม่ครบ 10 หลัก — เราไม่รู้ว่าขีดควรอยู่ตรงไหน ถ้าเดาจะกลายเป็นรหัสของคนอื่น เจอแบบนี้เราจะเก็บไว้ตามเดิมแล้วทักมาถาม
  • ห้ามซ้ำ ถ้าซ้ำแปลว่ามีคนพิมพ์ผิด ต้องแก้ก่อนส่ง

ชื่อ และ นามสกุล ​

  • แยกเป็น 2 ช่อง ไม่ต้องรวมกัน — ข้อนี้สำคัญที่สุดในบรรดากติกาการกรอก ถ้าส่งมารวมช่องเดียว ระบบจะไม่รับไฟล์เลย ไม่ใช่เราขี้เกียจ แต่เพราะแยกเองแล้วจะได้ชื่อผิดตัว (สมชาย ณ อยุธยา แยกยังไงให้ถูก?)
  • ภาษาไทย
  • ไม่ต้องใส่คำนำหน้า ไม่เอา นาย นางสาว น.ส.ถ้าติดมา เราจะไม่ตัดออกให้ — เพราะมีคนที่ชื่อจริงขึ้นต้นด้วยคำเหล่านี้ (เช่น นายก) ถ้าเราตัดให้ คนกลุ่มนั้นจะชื่อผิดโดยไม่มีใครรู้ ระบบจะเก็บไว้ตามที่ส่งมาแล้วขึ้นเตือนเป็นรายบรรทัด ถ้าเห็นว่าเตือนเยอะ แปลว่าควรทำไฟล์ใหม่โดยไม่ใส่คำนำหน้า
  • ไม่ต้องใส่ชื่อเล่นในวงเล็บต่อท้าย เช่น มานี (นก) แบบนี้ไม่เอา เพราะชื่อเล่นมีช่องของมันอยู่แล้ว
  • นามสกุลที่มีหลายคำ เช่น ณ อยุธยา ใส่ทั้งหมดในช่องนามสกุล

ชื่อเล่น ​

  • ภาษาไทย คำเดียว ไม่ต้องมีวงเล็บ ไม่ต้องมีคำว่า น้อง
  • ถ้าไม่มีข้อมูล เว้นว่างไว้เลย อย่าใส่ขีด -

อีเมล kkumail — ช่องที่สำคัญที่สุดในไฟล์ ​

  • ใส่เต็ม มี @kkumail.com ด้วย เช่น manee.j@kkumail.com
  • ตัวพิมพ์ใหญ่หรือเล็กก็ได้ ส่งมาตามที่ระบบต้นทางมีเลย ไม่ต้องแปลง ระบบเราเก็บเป็นตัวพิมพ์เล็กเสมอ และตอนจับคู่ตอนล็อกอินก็ไม่สนตัวพิมพ์อยู่แล้ว (Somchai.J@kkumail.com กับ somchai.j@kkumail.com คือคนเดียวกัน)
  • ไม่มีเว้นวรรค
  • ห้ามเว้นว่าง ห้ามซ้ำ
  • ทำไมถึงสำคัญ: ช่องนี้คือตัวที่ระบบใช้จับคู่ตอนนักศึกษาเข้าสู่ระบบ ถ้าอีเมลผิดแม้แต่ตัวเดียว คนนั้นเข้ามาแล้วจะ ไม่เจอข้อมูลตัวเอง และแก้เองไม่ได้ ต้องมาแจ้งทีละคน ช่องอื่นผิดยังพอแก้ทีหลังได้ แต่ช่องนี้ผิดคือใช้ไม่ได้เลย

สาขา ​

  • ตัวพิมพ์ใหญ่ ไม่มีจุด: MD หรือ MDI หรือ RT
  • md / M.D. / Md เราปรับเป็น MD ให้เอง ไม่ต้องกังวลเรื่องตัวพิมพ์
  • แต่ อย่าส่งเป็นชื่อเต็มภาษาไทย เช่น แพทยศาสตร์ — อันนั้นเราไม่รู้ว่า ตรงกับรหัสไหน จะเก็บไว้ตามที่ส่งมาแล้วขึ้นเตือนให้คนตรวจ

สายรหัส — ช่องที่พลาดกันบ่อยที่สุด ​

  • 3 หลักเสมอ เช่น 001 017 042 100 287 999
  • เลขสายเป็นอะไรก็ได้ตั้งแต่ 001 ถึง 999 ไม่มีขีดจำกัด ส่งมาตามที่มหาวิทยาลัยกำหนดได้เลย ไม่ต้องกังวลว่าเลขจะเกิน
  • ถ้าเลขไม่ครบ 3 หลัก ให้เติมเลข 0 ข้างหน้าให้ครบ สาย 1 เขียนเป็น 001 · สาย 17 เขียนเป็น 017
  • นี่คือสายรหัสของ ระบบอาจารย์ที่ปรึกษาของมหาวิทยาลัย ที่สุ่มให้นักศึกษา ไม่ได้คิดมาจากรหัสนักศึกษา กรุณาส่งค่าที่มหาวิทยาลัยกำหนดมาตามจริง ห้ามเดา ห้ามคำนวณเอง
  • ถ้าคนไหนไม่มีข้อมูลสายรหัส ให้เว้นว่างจริงๆ อย่าใส่ 0 โปรแกรมตารางชอบเติม 0 ให้ช่องตัวเลขที่ว่าง ซึ่งจะกลายเป็นสาย 000 ที่ไม่มีอยู่จริง ระบบจะไม่รับค่านี้ (จะขึ้นเตือนแล้วเว้นว่างให้) แล้วบอกเราว่ามีกี่คน

⚠️ เรื่องเลข 0 ข้างหน้าหาย — อ่านตรงนี้ก่อนส่ง ​

Excel และ Google Sheets จะ ลบเลข 0 ข้างหน้าทิ้งเองอัตโนมัติ001 จะกลายเป็น 1 · 017 จะกลายเป็น 17 · 010 จะกลายเป็น 10

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

แต่ยังขอให้พยายามส่งมาแบบ 3 หลักครบ เพราะ 2 เหตุผล

  1. ถ้าเห็นเลข 0 หาย แปลว่าไฟล์นี้ผ่านโปรแกรมตารางมา — ช่องอื่นอาจโดนด้วย (เช่นภาษาไทยเพี้ยน) เราจะได้รู้ว่าต้องตรวจให้ละเอียด
  2. คนตรวจไฟล์ดูด้วยตาแล้วรู้ทันทีว่าครบไหม

วิธีป้องกัน: คลิกหัวคอลัมน์สายรหัสเพื่อเลือกทั้งคอลัมน์ → ตั้งรูปแบบเป็น "ข้อความ" (Text) → แล้วค่อยพิมพ์หรือวางข้อมูลลงไป (ต้องตั้งก่อนใส่ข้อมูล ถ้าใส่ไปแล้วค่อยมาตั้ง เลข 0 หายไปแล้ว)

สิ่งที่กู้คืนไม่ได้จริงๆ มี 2 อย่าง — สายที่ยาวเกิน 3 หลักหรือมีตัวอักษรปนมา และ ช่องว่างที่ถูกเติมเป็น 0 (กลายเป็นสาย 000 ซึ่งไม่มีอยู่จริง) ทั้งสองแบบเราไม่เดา จะเว้นว่างไว้แล้วรายงานให้ดูเป็นรายบรรทัด


กติกาทั่วไป ​

  1. 1 บรรทัด = 1 คน ห้ามมีบรรทัดว่าง ห้ามมีบรรทัดสรุปยอด
  2. หัวตารางบรรทัดเดียว อยู่บนสุด
  3. ห้ามรวมช่อง (merge cell) · ห้ามใช้สีแทนความหมาย · ห้ามมีชีตซ่อน
  4. ช่องไหนไม่มีข้อมูล ให้เว้นว่างจริงๆ อย่าใส่ - N/A ไม่มี ยังไม่ทราบ (ถ้าใส่ ระบบจะเก็บเป็นข้อมูลจริง แล้วไปโผล่บนหน้าโปรไฟล์ของนักศึกษา)
  5. เว้นวรรคเกินหน้า-หลังข้อความ ไม่ต้องไล่ลบ เราตัดให้เอง
  6. เลขไทย ๐๑๗ ก็อ่านออก แต่ถ้าเลือกได้ขอเป็นเลขอารบิก 017
  7. ห้ามมีคนซ้ำ ทั้งรหัสนักศึกษาและอีเมล
  8. ห้ามมีบรรทัดสรุปยอดท้ายตาราง (เช่น รวม 1,800 คน) — ระบบจะอ่านเป็นนักศึกษาอีก 1 คน

ส่งไฟล์แบบไหนดี ​

  • ดีที่สุด: Google Sheets แล้วแชร์ลิงก์มาให้ (ไม่มีปัญหาภาษาไทยเพี้ยน)
  • ถ้าส่งเป็นไฟล์: บันทึกเป็น CSV UTF-8 ใน Excel เลือก Save As → CSV UTF-8 (Comma delimited) ถ้าเลือก CSV เฉยๆ ภาษาไทยจะกลายเป็นตัวประหลาด
  • ส่งเป็น .xlsx ก็ได้ ไม่เสียหาย แต่ฝั่งเราต้องแปลงเป็น CSV UTF-8 อีกทีก่อนนำเข้า (เครื่องมือนำเข้าอ่านเฉพาะ .csv) — ถ้าสะดวก ส่ง .csv มาเลยจะเร็วกว่า

ข้อมูลที่ ไม่ต้องส่ง ​

ไฟล์นี้มีอีเมลกับรหัสนักศึกษาของนักศึกษา 1,800 คน ถือเป็นข้อมูลส่วนบุคคล เราขอเท่าที่จำเป็นจริงๆ และ ไม่ต้องการ สิ่งเหล่านี้ กรุณาอย่าใส่มา

  • เกรด / GPA / ผลการเรียน
  • เบอร์โทร · ที่อยู่ · Line ID
  • เลขบัตรประชาชน · วันเกิด
  • ข้อมูลสุขภาพ · ข้อมูลผู้ปกครอง · ข้อมูลทุน
  • รูปถ่าย

ตอนส่ง ขอเป็นลิงก์ที่จำกัดสิทธิ์เฉพาะผู้รับ กรุณาอย่าตั้งเป็นลิงก์สาธารณะ และอย่าโพสต์ลงกลุ่มแชท


ถ้าส่งแบบสั้น ต้องรู้อะไรบ้าง ​

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

ขอเป็น 2 รอบ ​

รอบขออะไร
1ไฟล์ตัวอย่างแค่ 20 บรรทัดก่อน ให้เราตรวจว่ารูปแบบตรงกันไหม
2ไฟล์เต็มทั้งหมด (หลังรอบแรกผ่านแล้ว)

รอบแรกสำคัญมาก ถ้ารูปแบบมีปัญหา เจอตอน 20 บรรทัดแก้แป๊บเดียวจบ แต่ถ้าเจอตอนทำครบ 1,800 บรรทัดแล้ว ต้องทำใหม่ทั้งไฟล์


ตรวจ 5 ข้อนี้ก่อนส่ง (ไม่ถึง 5 นาที) ​

  1. จำนวนบรรทัดเท่ากับจำนวนนักศึกษาที่ควรจะมี
  2. ไม่มีใครที่ช่องอีเมลว่าง
  3. ไม่มีอีเมลซ้ำ และไม่มีรหัสนักศึกษาซ้ำ
  4. สายรหัสทุกคนยาว 3 หลักเท่ากันหมด (เลข 0 ข้างหน้าไม่หาย) — ถ้าหายไปแล้วยังส่งได้ แต่บอกเรามาด้วยว่าหาย จะได้ตรวจช่องอื่นเพิ่ม
  5. ช่องที่ไม่มีข้อมูลเว้นว่างไว้ ไม่ได้ใส่ -
  6. เปิดไฟล์ที่จะส่งขึ้นมาดูอีกรอบ ว่าภาษาไทยยังอ่านออก ไม่ใช่ สม (ถ้าเพี้ยน แปลว่าบันทึกเป็น CSV ธรรมดา ไม่ใช่ CSV UTF-8)

ตัวอย่างไฟล์ ​

ไฟล์ตัวอย่างพร้อมใช้

  • แบบสั้น (แนะนำ): docs/templates/house-import-minimal-template.csv
  • แบบเต็ม: docs/templates/house-import-template.csv
csv
student_id,first_name_th,last_name_th,nickname_th,kkumail,major,sai
659999999-9,มานี,ใจดี,นก,manee.j@kkumail.com,MD,017
669999998-8,ปิติ,รักเรียน,ต้น,piti.r@kkumail.com,MD,003
679999997-7,ชูใจ,ดีงาม,แก้ว,choojai.d@kkumail.com,MD,032
689999996-6,วีระ,ตั้งใจ,,weera.t@kkumail.com,MD,001
659999995-5,สุดา,ณ ลำปาง,ดาว,suda.n@kkumail.com,MDI,100

จุดที่อยากให้สังเกต

  • บรรทัดที่ 4 ไม่มีชื่อเล่น → เว้นว่าง ไม่ได้ใส่ -
  • สายรหัส 003 และ 001 → เลข 0 ข้างหน้าอยู่ครบ
  • บรรทัดที่ 5 นามสกุล ณ ลำปาง มี 2 คำ → อยู่ในช่องนามสกุลทั้งก้อน

ไฟล์ที่ 2 — อาจารย์ที่ปรึกษาแต่ละสาย (ขอทีหลังได้) ​

ยังไม่ต้องส่งพร้อมกัน ถ้ามีไม่กี่ท่านจะพิมพ์เข้าระบบเองก็ได้ แต่บอกรูปแบบไว้ก่อนเผื่อส่งมาเป็นไฟล์ 1 บรรทัด = อาจารย์ 1 ท่าน ต่อ 1 สาย ถ้าอาจารย์ท่านเดียวดูแลหลายสาย ให้ใส่หลายบรรทัด ใช้อีเมลเดิม

ชื่อช่องคือตัวอย่าง
saiสายรหัส (3 หลักเหมือนไฟล์แรก)017
advisor_titleคำนำหน้าทางวิชาการ (แยกออกจากชื่อ)ผศ. รศ. นพ.
advisor_first_name_thชื่อจริงสมชาย
advisor_last_name_thนามสกุลใจดี
advisor_emailอีเมลที่ติดต่อได้จริงsomchai@kku.ac.th
advisor_deptภาควิชา / สังกัดภาควิชาอายุรศาสตร์

สายไหนยังไม่มีอาจารย์ ไม่ต้องใส่บรรทัดเปล่า ข้ามไปเลย เราดูออกเองว่าสายไหนยังว่าง

Working docs. STATE.md is the status file and lives at the repo root, not here.