ลูกค้าขอข้อมูลเรียลไทม์ แต่ไม่มีใครถามว่าการตัดสินใจไหนต้องใช้
ภาพจำลองโดยใช้ปัญญาประดิษฐ์ (AI)
ตลอดสิบห้าปีที่ทำงาน BI คำที่ผมเห็นผ่านเข้าไปอยู่ในบรีฟได้ง่ายที่สุดคือ "ข้อมูลเรียลไทม์" คำนี้โผล่ขึ้นมาตั้งแต่การประชุมครั้งแรก แต่ไม่มีใครจดไว้เลยว่ามันมีไว้เพื่อการตัดสินใจเรื่องใด
เรื่องนี้ไม่ค่อยเกิดจากความสะเพร่า คำนี้ฟังดูทันสมัยและรอบคอบ การตั้งคำถามกับมันจึงเหมือนการขวางความก้าวหน้า มันจึงเดินทางจากห้องประชุมเข้าไปอยู่ในข้อกำหนด แล้วจากข้อกำหนดเข้าไปอยู่ในโมเดล
หากท่านสร้างรายงาน Power BI ท่านคงรู้ว่าอะไรจะตามมา เรียลไทม์มักหมายถึง DirectQuery และ DirectQuery เปลี่ยนพฤติกรรมของรายงานทั้งฉบับ แนวทางของ Microsoft เองแนะนำให้เริ่มจาก import แล้วค่อยขยับไปใช้แบบอื่นเมื่อมีข้อจำกัดเฉพาะที่จำเป็นจริง ๆ เท่านั้น
สิ่งที่ต้องแลกนั้นจับต้องได้ เมื่อเปิดหน้ารายงาน ภาพข้อมูลแต่ละชิ้นจะส่งคิวรีไปยังระบบต้นทางอย่างน้อยหนึ่งครั้ง และทุกครั้งที่คลิก slicer ก็จะส่งใหม่อีกรอบ
ความเร็วของรายงานจึงขึ้นอยู่กับระบบต้นทางและเครือข่าย และ Microsoft เตือนว่าการใช้งานจะแย่ลงเมื่อภาพข้อมูลชิ้นหนึ่งใช้เวลาเกิน 30 วินาที
ท่านยอมรับทั้งหมดนี้เพื่อให้ตัวเลขสดใหม่ แล้วพอหันไปดูที่ต้นทาง หากข้อมูลจาก ERP โหลดเข้ามาตอนกลางคืน DirectQuery ก็แค่แสดงข้อมูลของเมื่อคืน เพียงแต่ช้ากว่าเดิม
การรีเฟรชข้อมูลตามกำหนดเวลาทำได้มากกว่าที่บรีฟส่วนใหญ่คิด โมเดลแบบ import บน Pro ตั้งเวลาได้สูงสุด 8 ครั้งต่อวัน ส่วน Premium และ PPU ได้สูงสุด 48 ครั้ง หรือประมาณทุก 30 นาที
สิ่งที่บรีฟมองข้ามอยู่ตรงนี้ คำว่า "เรียลไทม์" บอกแค่ว่าตัวเลขสดใหม่แค่ไหน แต่ไม่ได้บอกเลยว่าใครจะลงมือทำอะไรกับตัวเลขนั้น และต้องทำเร็วเพียงใด
การตัดสินใจแต่ละเรื่องมีจังหวะของมันเอง หัวหน้ากะที่เจอไลน์ผลิตหยุดต้องลงมือภายในไม่กี่นาที ผู้อำนวยการฝ่ายการเงินที่ทบทวนอัตรากำไรจะลงมือตอนปิดบัญชีสิ้นเดือน
ข้อมูลจึงควรมาถึงก่อนการตัดสินใจเพียงเล็กน้อยก็พอ ส่วนที่สดกว่านั้นคือกำลังระบบที่องค์กรลงทุนไปแต่ไม่มีใครได้ใช้
บางการตัดสินใจก็ต้องใช้ข้อมูลเรียลไทม์จริง ๆ เมื่อไลน์ผลิตหยุดหรือค่าความปลอดภัยผิดปกติจนต้องลงมือทันที ก็สร้างให้รองรับเรื่องนั้น เฉพาะตารางเหล่านั้น แล้วให้ส่วนที่เหลือของโมเดลอยู่ในโหมด import
ผู้สนับสนุนโครงการที่ขอเรื่องนี้มาก็ไม่ได้คิดผิด การนำเสนอผลิตภัณฑ์มักแสดงตัวเลขที่ขยับบนหน้าจอ ซึ่งดูเหมือนการควบคุมได้
สิ่งที่เขาต้องการจริง ๆ ก็มีเหตุผล เพราะไม่มีใครอยากรู้ว่ายอดขาดหายเมื่อสายเกินไป สิ่งนี้ต่างหากที่ควรเขียนลงไปเป็นเป้าหมาย
เราทุกคนเคยสร้างบางอย่างเพียงเพราะบรีฟบอกให้สร้าง กระบวนการเก็บความต้องการส่วนใหญ่บันทึกสิ่งที่คนขอ แต่มีน้อยมากที่มีขั้นตอนถามว่าแต่ละคำขอมีไว้เพื่ออะไร บรรทัดนั้นจึงรอดผ่านการประชุมที่ทุกคนพยักหน้า ไปจนถึงข้อกำหนดสำหรับการสร้าง และนักพัฒนาที่ตั้งคำถามในสัปดาห์ที่หกก็กลายเป็นคนที่ดูเรื่องมาก
นี่คือช่องว่างของกระบวนการ และคนในห้องไม่ได้เป็นผู้สร้างมันขึ้นมา
Eugene Meidinger เขียนไว้เมื่อเดือนมีนาคม 2026 ว่าที่ปรึกษาที่ยอดเยี่ยมคุ้มค่าก็เพราะทางออกทั้งหมดที่เขาไม่ได้สร้างหรือไม่ได้แนะนำ ผมอ่านประโยคนี้เหมือนคำบรรยายลักษณะงาน การพูดคุยจนอีกฝ่ายเห็นว่าความต้องการข้อหนึ่งไม่จำเป็นก็นับเป็นงาน และเป็นงานที่มีประโยชน์ที่สุดอย่างหนึ่งในโครงการ BI
เมื่อบรีฟเขียนว่าเรียลไทม์ ลองถามคนเขียนเพียงข้อเดียวว่า เมื่อตัวเลขนี้เปลี่ยน ท่านจะทำอะไรต่างไปจากเดิม จากนั้นถามว่าตัดสินใจเรื่องนี้บ่อยแค่ไหน แล้วตรวจดูว่าต้นทางอัปเดตบ่อยเพียงใด หากตัดสินใจสัปดาห์ละครั้งและต้นทางโหลดทุกคืน import วันละครั้งก็เพียงพอ
หากท่านเป็นผู้ตัดสินใจลงทุนในโครงการ BI ขอเพียงสิ่งเดียวในข้อกำหนด คือให้ความต้องการทุกข้อมีการตัดสินใจที่มันรองรับเขียนกำกับไว้ข้าง ๆ ด้วยภาษาธรรมดา ข้อไหนไม่มี ก็ต้องกลับไปคุยกันก่อนที่ใครจะเริ่มสร้าง
คำขอข้อมูลเรียลไทม์ทุกข้อที่ผ่านไปโดยไม่มีใครตั้งคำถาม ต้องแลกด้วยประสิทธิภาพ ความซับซ้อน และเงินลงทุนด้านโครงสร้างพื้นฐาน เพื่อความสามารถที่องค์กรใช้เพียงสัปดาห์ละครั้ง คำถามคือมีการตัดสินใจใดในธุรกิจที่ต้องการข้อมูลสดกว่ารอบการรีเฟรชที่มีอยู่แล้วหรือเปล่า การพูดคุยแบบมีโครงสร้างเพียงครั้งเดียวจะทำให้เห็นทุกความต้องการในบรีฟปัจจุบันที่ผ่านมาโดยไม่มีหลักฐาน ข้อที่ผ่านการพูดคุยนั้นได้ควรค่าแก่การสร้าง ส่วนที่เหลือกำลังกินทรัพยากรของท่านตั้งแต่ก่อนข้อมูลแถวแรกจะโหลด → ตั้งคำถามกับบรีฟก่อนเริ่มสร้าง
ตั้งคำถามกับบรีฟก่อนเริ่มสร้าง
การพูดคุยแบบมีโครงสร้างเพียงครั้งเดียวจะนำทุกบรรทัดในบรีฟปัจจุบันมาเทียบกับการตัดสินใจที่มันรองรับ ก่อนข้อมูลแถวแรกจะโหลด ข้อที่ผ่านคือสิ่งที่ควรค่าแก่การสร้าง
นัด Discovery Call 30 นาทีคำถามที่พบบ่อย
รายงาน Power BI ต้องใช้ข้อมูลเรียลไทม์เมื่อไร
เมื่อมีคนต้องลงมือกับตัวเลขในช่วงที่การรีเฟรชตามกำหนดเวลาตามไม่ทัน และการลงมือนั้นเปลี่ยนผลลัพธ์ได้ วิธีทดสอบง่าย ๆ คือถามว่า หากตัวเลขขยับตอนนี้ จะมีใครทำอะไรก่อนการรีเฟรชรอบถัดไป หากคำตอบเป็นการกระทำที่ชัดเจน ให้ดูด้วยว่าการแจ้งเตือนตอบโจทย์ได้ดีกว่ารายงานหรือไม่ เพราะไม่มีใครนั่งเฝ้าหน้ารายงานตลอดกะ
ข้อมูลเรียลไทม์กับเกือบเรียลไทม์ใน Power BI ต่างกันอย่างไร
ทั้งสองคำไม่มีตัวเลขตายตัว จึงควรเขียนเป็นตัวเลขลงในข้อกำหนดแทน เช่น "ไม่เก่ากว่า 15 นาทีระหว่างกะ" DirectQuery คืนค่าที่ต้นทางมีอยู่ ณ ขณะที่คิวรี ความสดของข้อมูลจึงไปได้ไกลสุดเท่ารอบการโหลดของต้นทางเอง รายงานที่อ่านจากข้อมูลที่โหลดทุกคืนจึงเก่าไปหนึ่งวันไม่ว่าจะใช้โหมดจัดเก็บแบบใด
จะทักท้วงลูกค้าที่ยืนยันว่าต้องใช้ข้อมูลเรียลไทม์อย่างไร
อย่าเพิ่งคุยเรื่องเทคโนโลยี ขอให้เขาเล่าถึงครั้งล่าสุดที่ตัวเลขเปลี่ยน และสิ่งที่เขาทำต่อจากนั้น แล้วตกลงกันเป็นการทดลอง โดยเริ่มจากการรีเฟรชตามกำหนดเวลา ทบทวนหลังผ่านไปหนึ่งเดือน และเปลี่ยนไปใช้ DirectQuery หากมีการตัดสินใจจริงที่ข้อมูลมาไม่ทัน หลักฐานปิดคำถามนี้ได้ดีกว่าการถกเถียง
DirectQuery ทำให้รายงาน Power BI ช้ากว่า import หรือไม่
Microsoft ไม่ได้ให้ตัวเลขเดียวไว้ เพราะความเร็วขึ้นอยู่กับต้นทาง เครือข่าย และจำนวนคนที่คลิกพร้อมกัน import ตอบจากแคชในหน่วยความจำ ส่วน DirectQuery ส่งทุกการโต้ตอบไปที่ต้นทาง ภาระจึงไปตกอยู่กับระบบที่มักมีงานอื่นต้องทำอยู่แล้ว และบริการจะหยุดคิวรีใด ๆ ที่ใช้เวลาถึง 4 นาที