คู่มือการสร้างรายงานและนำเข้าข้อมูลประเภท Big Data ใน Power BI: จัดการข้อมูลระดับล้านแถวด้วย DirectQuery, Incremental Refresh และ Direct Lake
ในยุคที่ข้อมูลขององค์กรไม่ได้มีแค่ไฟล์ Excel หลักพันแถว แต่เป็น Big Data ระดับ 10 ล้าน, 100 ล้าน ไปจนถึงหลายพันล้านแถว (Terabytes / Petabytes) ที่ไหลเข้ามาอย่างต่อเนื่องจากระบบ Cloud Data Warehouse เช่น Snowflake, Google BigQuery, Azure Synapse, Databricks หรือระบบ IoT Sensors ความท้าทายที่แท้จริงคือ “เราจะนำข้อมูลมหาศาลเหล่านี้มาสร้างรายงานและแดชบอร์ดบน Power BI ได้อย่างไร โดยไม่ทำให้เครื่องค้าง และรายงานยังคงตอบสนองได้อย่างรวดเร็ว?”
หากเราใช้วิธีดึงข้อมูลแบบปกติ (Import Mode) ไฟล์จะมีขนาดใหญ่เกินขีดจำกัดของ Power BI และการรีเฟรชข้อมูลอาจกินเวลานานหลายชั่วโมง ในบทความนี้ เราจะพาคุณมาเจาะลึก สถาปัตยกรรมการจัดการ Big Data บน Power BI ตั้งแต่การเลือก Storage Modes, การทำงานของ DirectQuery, การตั้งค่า Incremental Refresh ไปจนถึงเทคโนโลยีปฏิวัติวงการอย่าง Direct Lake ครับ
1. 4 กลยุทธ์ Storage Modes สำหรับ Big Data ใน Power BI
หัวใจสำคัญที่สุดของการทำงานกับ Big Data ใน Power BI คือการเลือก Storage Mode (โหมดการจัดเก็บข้อมูล) ให้เหมาะกับขนาดและความต้องการทางธุรกิจ โดย Power BI มีรูปแบบการเชื่อมต่อหลัก 4 โหมด ดังนี้:

| Storage Mode | ตำแหน่งที่เก็บข้อมูล | ประสิทธิภาพความเร็ว | ข้อจำกัดและขนาดข้อมูล | กรณีการใช้งานที่เหมาะสม |
|---|---|---|---|---|
| 1. Import Mode | บีบอัดลงในหน่วยความจำ (RAM) ของ Power BI | เร็วที่สุด (Sub-second) ด้วยเอนจิน VertiPaq | จำกัดขนาดไฟล์ (Pro สูงสุด 1 GB, Premium สูงสุด 10-400 GB) | ข้อมูลไม่เกิน 10-50 ล้านแถว, ต้องการเขียนสูตร DAX ซับซ้อน |
| 2. DirectQuery | คงอยู่ในฐานข้อมูลต้นทาง (Cloud DW) | ขึ้นอยู่กับสเปกของคลาวด์และ Index ของฐานข้อมูล | ไม่จำกัดขนาด (รองรับหลักพันล้านแถว) มีข้อจำกัดสูตร DAX บางคำสั่ง | Big Data มหาศาล, ต้องการข้อมูลสดแบบ Real-time ทันทีที่คลิก |
| 3. Composite / Dual Mode | แบบผสม (Hybrid): ตารางมิติใน RAM + ตารางธุรกรรมใน DirectQuery | เร็วมากเมื่อใช้คู่กับระบบ Aggregations Table | ต้องวางโครงสร้าง Data Model แบบ Star Schema อย่างเคร่งครัด | รายงานองค์กรขนาดใหญ่ที่มีตารางประวัติธุรกรรมขนาดยักษ์ |
| 4. Direct Lake (Fabric) | ไฟล์ Delta Parquet บน Microsoft Fabric OneLake | เร็วเทียบเท่า In-Memory โดยไม่ต้องโหลดข้อมูลเข้า RAM | ต้องใช้งานร่วมกับ Microsoft Fabric Lakehouse | สถาปัตยกรรมยุคใหม่ระดับ Enterprise Petabyte Scale |
2. การเชื่อมต่อและสร้างรายงานด้วย DirectQuery Mode
DirectQuery คือโหมดที่ไม่มีการคัดลอกข้อมูลเข้ามาเก็บไว้ในไฟล์ Power BI (.pbix) เลยแม้แต่แถวเดียว เมื่อผู้ใช้งานเปิดรายงานหรือคลิกตัวกรอง (Slicer) บนหน้าจอ Power BI จะทำการแปลคำสั่งเป็นภาษา SQL Query ส่งกลับไปประมวลผลที่ฐานข้อมูลต้นทาง (เช่น Snowflake หรือ Synapse) แบบสดๆ แล้วดึงเฉพาะตัวเลขผลลัพธ์สุดท้ายกลับมาแสดงบนกราฟ
ขั้นตอนการเชื่อมต่อ DirectQuery
เมื่อคุณคลิก Get Data แล้วเลือกฐานข้อมูลระดับองค์กร เช่น Azure SQL Database, Snowflake, Google BigQuery, หรือ Databricks หน้าต่างการเชื่อมต่อจะปรากฏตัวเลือก Data Connectivity mode ให้คุณเลือกเป็น DirectQuery

นอกจากนี้ คุณยังสามารถตรวจสอบหรือสลับโหมดของแต่ละตารางได้ในภายหลังผ่าน Model View โดยคลิกที่ตาราง > ไปที่หน้าต่าง Properties > ส่วนของ Advanced > Storage mode แล้วเลือกเป็น DirectQuery หรือ Dual

⚡ เคล็ดลับ Query Folding: ในโหมด DirectQuery การแปลงข้อมูลใน Power Query ต้องคงสถานะ Query Folding เสมอ เพื่อให้การคำนวณถูกผลักดันกลับไปรันบนเซิร์ฟเวอร์ฐานข้อมูลต้นทาง (Pushdown) หากคำสั่งใดไม่รองรับ Query Folding การประมวลผลจะช้าลงอย่างเห็นได้ชัด
3. เทคนิค Incremental Refresh: โหลดเฉพาะข้อมูลใหม่ ประหยัดเวลา 90%
หากคุณต้องการความเร็วระดับ In-Memory Import Mode แต่ข้อมูลมีขนาดหลายสิบล้านแถวจนไม่สามารถรีเฟรชใหม่ทั้งหมดได้ทุกวัน ทางออกที่ดีที่สุดคือการเปิดใช้งาน Incremental Refresh (การรีเฟรชแบบแบ่งส่วน)
หลักการทำงานแบบ Rolling Window Pattern
แทนที่ Power BI จะลบแล้วโหลดข้อมูลย้อนหลัง 5 ปีใหม่ทุกครั้ง ระบบจะแบ่งตารางออกเป็น Partitions ตามช่วงเวลา:

- Historical Data (พาร์ติชันประวัติศาสตร์): ข้อมูลปีย้อนหลัง เช่น 5 ปีที่ผ่านมา จะถูกโหลดครั้งแรกเพียงครั้งเดียว และจัดเก็บนิ่งไว้โดยไม่ต้องดึงใหม่อีกเลย
- Refresh Data (พาร์ติชันข้อมูลล่าสุด): ระบบจะดึงเฉพาะข้อมูลใหม่ เช่น ย้อนหลัง 3-7 วันล่าสุด ทำให้การรีเฟรชประจำวันเสร็จสิ้นภายในเวลาไม่กี่นาที แทนที่จะรอนานหลายชั่วโมง
วิธีตั้งค่านโยบาย Incremental Refresh ใน 3 ขั้นตอน
- สร้าง Parameters ใน Power Query: สร้างพารามิเตอร์ชนิด Date/Time ชื่อว่า
RangeStartและRangeEndจากนั้นนำไปกรองคอลัมน์วันที่ของตารางข้อมูล - คลิกขวาที่ชื่อตารางใน Power BI Desktop: เลือกคำสั่ง Incremental refresh
- กำหนดนโยบาย (Policy): เปิดสวิตช์เป็น On ระบุจำนวนปีที่ต้องการเก็บข้อมูลย้อนหลัง (เช่น Archive data starting: 5 Years) และระบุช่วงเวลาที่ต้องการรีเฟรชซ้ำ (เช่น Refresh data starting: 5 Days) และสามารถติ๊กเลือก Get the latest data in real time with DirectQuery ได้อีกด้วย

4. ก้าวสู่ยุคใหม่ด้วย “Direct Lake” บน Microsoft Fabric
สำหรับองค์กรที่ก้าวเข้าสู่แพลตฟอร์ม Microsoft Fabric เทคโนโลยีที่เรียกว่า Direct Lake กำลังเข้ามาเปลี่ยนแปลงการทำ BI กับ Big Data ไปตลอดกาล:
- Zero Data Movement: ไม่ต้องก็อปปี้หรือ Import ข้อมูลเข้ามาเก็บซ้ำซ้อนใน Power BI
- No Query Translation: ไม่ต้องเสียเวลาแปลงคำสั่งเป็น SQL ส่งไปยังเซิร์ฟเวอร์แบบ DirectQuery
- Direct Delta Parquet Access: Power BI Analysis Services สามารถอ่านไฟล์ข้อมูลมาตรฐานเปิด Delta-Parquet ที่อยู่บน OneLake ได้โดยตรงด้วยความเร็วเทียบเท่าการอ่านจาก RAM ในระดับเสี้ยววินาที รองรับข้อมูลระดับเพตาไบต์ (Petabytes) ได้อย่างสบายๆ
5. 5 เคล็ดลับปรับแต่งรายงาน Big Data ให้รวดเร็วลื่นไหล
- ใช้ระบบ User-Defined Aggregations: สร้างตารางสรุปผลยอดขายระดับวัน/เดือนเก็บไว้ในโหมด Import สำหรับตอบคำถามระดับภาพรวม และปล่อยให้การคลิกดูดีเทลระดับใบเสร็จวิ่งผ่าน DirectQuery ช่วยให้เปิดรายงานเร็วขึ้นกว่า 10 เท่า
- จำกัดจำนวน Visual บนหนึ่งหน้าจอ: แต่ละชาร์ตในโหมด DirectQuery จะส่ง 1 Query ไปยังเซิร์ฟเวอร์ ดังนั้นหากใส่ 30 กราฟบนหน้าเดียว เซิร์ฟเวอร์จะถูกยิงพร้อมกัน 30 คำสั่ง แนะนำให้มีกราฟหลักไม่เกิน 6-8 ตัวต่อหน้า
- ตัดคอลัมน์และแถวที่ไม่จำเป็นทิ้งตั้งแต่เนิ่นๆ: สำหรับ Big Data การมีคอลัมน์ที่ไม่ได้ใช้ เช่น ID ขนาดยาวหรือข้อความยาวๆ จะเพิ่มภาระต่อ Network I/O อย่างมหาศาล
- ปิดการทำงาน Auto Date/Time: ไปที่ File > Options and settings > Options > Data Load แล้วปิด Auto Date/Time เพื่อป้องกันไม่ให้ระบบสร้างตารางปฏิทินแอบแฝงกินหน่วยความจำโดยไม่รู้ตัว
- ตรวจวัดความเร็วด้วย Performance Analyzer: ใช้เครื่องมือ Performance Analyzer ในแท็บ View เพื่อดูว่ากราฟตัวไหนกินเวลา DAX Query หรือ Visual Display นานที่สุด และนำไปปรับจูนให้ตรงจุด
บทสรุป
การสร้างรายงานและนำเข้าข้อมูลประเภท Big Data ใน Power BI ไม่ใช่เรื่องยากอีกต่อไป หากเราเข้าใจการเลือกใช้ Storage Mode ที่ถูกต้อง ไม่ว่าจะเป็นการใช้ DirectQuery สำหรับข้อมูลสดมหาศาล, การเปิดใช้งาน Incremental Refresh เพื่อลดภาระการโหลดข้อมูลซ้ำ, หรือการปรับใช้ Direct Lake ในสถาปัตยกรรมยุคใหม่ คุณก็สามารถสร้างแดชบอร์ดที่ทรงพลัง ตอบสนองรวดเร็ว และรองรับการเติบโตของข้อมูลธุรกิจได้อย่างไร้ขีดจำกัดครับ