9 ข้อผิดพลาดที่พบบ่อยใน Power BI โดย อ.ชไลเวท พิพัฒพรรณวงศ์

บทความโดย: 9Expert Team

9 ข้อผิดพลาดที่พบบ่อยใน Power BI โดย อ.ชไลเวท พิพัฒพรรณวงศ์

9Expert Team 4 นาที

Power BI เป็นเครื่องมือ Business Intelligence ที่ได้รับความนิยมสูงสุดในปัจจุบัน แต่การใช้งานให้เต็มประสิทธิภาพนั้นไม่ใช่เรื่องง่าย หลายคนที่เริ่มต้นใช้งาน Power BI มักจะพบกับข้อผิดพลาดซ้ำๆ ที่ส่งผลให้ Report ทำงานช้า ดูแลรักษายาก และไม่ตอบโจทย์ผู้ใช้งาน
บทความนี้สรุปจากประสบการณ์จริงของ อ.ชไลเวท พิพัฒพรรณวงศ์ (อ.เวท) ผู้เชี่ยวชาญด้าน Power BI ระดับ Microsoft MVP สาขา Data & AI และ CEO ของ 9Expert Co., Ltd. ซึ่งได้แบ่งปัน 9 ข้อผิดพลาดที่ตนเองเคยทำ เพื่อให้ผู้อ่านได้เรียนรู้และหลีกเลี่ยงปัญหาเหล่านี้ตั้งแต่เริ่มต้น
เนื้อหาแบ่งออกเป็น 4 หมวดหลัก ได้แก่ Data Modeling Foundations, Design Principles, Smart Automation และ Security Practices ซึ่งครอบคลุมทุกขั้นตอนตั้งแต่การออกแบบ Data Model ไปจนถึงการออกแบบ Dashboard ให้ใช้งานได้จริง
 

ตารางยักษ์ที่ทำให้ไฟล์บวม

1. The Giant Table — ตารางยักษ์ที่ทำให้ไฟล์บวม

"ไฟล์ Power BI แรกของผมมีขนาด 800MB... สำหรับรายงานที่มีแค่ 1,000 แถว"

ข้อผิดพลาดอันดับหนึ่งที่มือใหม่มักทำคือการนำข้อมูลทั้งหมดมารวมไว้ในตารางเดียวขนาดใหญ่ (Flat Table) ที่มีมากกว่า 150 คอลัมน์ ส่งผลให้ไฟล์มีขนาดใหญ่เกินความจำเป็น สูตร DAX ซับซ้อน และเกิดความไม่สอดคล้องกันของข้อมูลระหว่างแถวต่างๆ

วิธีแก้ไข: ใช้ Star Schema

แยกข้อมูลออกเป็น Fact Table (ข้อมูลที่นับได้ เช่น ยอดขาย จำนวน) และ Dimension Table (ข้อมูลที่ใช้กรอง เช่น ลูกค้า สินค้า วันที่) การเปลี่ยนมาใช้ Star Schema สามารถลดขนาดไฟล์จาก 800MB เหลือเพียง 85MB (ลดลง 89%) พร้อมทั้งทำให้สูตร DAX เรียบง่ายขึ้นและ Filter ทำงานได้อย่างเป็นธรรมชาติ

Key Insight: หลักง่ายๆ: ถ้านับได้ → Fact Table / ถ้าใช้กรอง → Dimension Table

 

การตั้งชื่อมีความสำคัญ

2. Naming Matters — การตั้งชื่อมีความสำคัญ

"Column1 ไม่เคยบอกใครได้เลยว่ามันคืออะไร"

หลายคนปล่อยให้ชื่อคอลัมน์เป็นชื่อเดิมจากแหล่งข้อมูล เช่น Column1, Table_2, Query1, Field_ABC ซึ่งทำให้คนอื่นที่มารับงานต่อต้องใช้เวลา 2-3 วัน ในการทำความเข้าใจ Model

วิธีแก้ไข: Rename, Hide, Organize

เปลี่ยนชื่อให้สื่อความหมาย เช่น Customer Name, Sales Amount, Order Date จัดกลุ่มด้วย Display Folder และซ่อนฟิลด์ที่ไม่จำเป็น ผลลัพธ์คือจาก 150 ฟิลด์ที่สับสน เหลือเพียง 40 ฟิลด์ที่เข้าใจง่าย และเวลา Onboarding ลดจาก 2-3 วัน เหลือแค่ 30 นาที

Key Insight: กฎ 5 วินาที: ถ้าคนแปลกหน้าดูแล้วไม่เข้าใจใน 5 วินาที ให้เปลี่ยนชื่อทันที

ไม่ใช้ Power Query ทำให้เสียเวลาซ้ำซาก

3. งานอัตโนมือ — ไม่ใช้ Power Query ทำให้เสียเวลาซ้ำซาก

"ทุกเช้าวันจันทร์ ผมใช้เวลา 2 ชั่วโมง Copy-Paste... ติดต่อกัน 6 เดือน"

การเตรียมข้อมูลด้วยมือซ้ำๆ ทุกสัปดาห์ไม่เพียงเสียเวลา แต่ยังเสี่ยงต่อความผิดพลาด ตัวอย่างจริง: ในสัปดาห์ที่ 27 ลืมขั้นตอนหนึ่ง ทำให้ CEO เห็นยอดขายเพิ่มขึ้น 300% ซึ่งเป็นตัวเลขที่ผิดพลาด

วิธีแก้ไข: ใช้ Power Query

ตั้งค่าขั้นตอนการ Transform ข้อมูลใน Power Query ครั้งเดียว จากนั้นแค่กด Refresh ก็เสร็จภายใน 30 วินาที แทนที่จะทำมือ 10 ขั้นตอนทุกสัปดาห์ ประหยัดเวลาได้ 104 ชั่วโมงต่อปี

Key Insight: Transform Once, Refresh Forever — ตั้งค่าครั้งเดียว Refresh ได้ตลอดไป

ค่าคงที่ที่ฝังในโค้ด

4. Hardcoded Values — ค่าคงที่ที่ฝังในโค้ด

"ผมใช้เวลาหนึ่งสัปดาห์เปลี่ยน '2023' เป็น '2024' ในสูตร DAX กว่า 50 ตัว"

การพิมพ์ค่าตายตัว เช่น ปี พ.ศ. หรือชื่อสาขา ลงในสูตร DAX หรือ Power Query โดยตรง ทำให้ทุกครั้งที่ต้องเปลี่ยนค่า ต้องไล่แก้ทีละ Measure และถ้าพลาดแก้แม้แต่ตัวเดียว ข้อมูลก็จะผิดเงียบๆ โดยไม่มีใครรู้ อาจเป็นเวลาหลายสัปดาห์

วิธีแก้ไข: ใช้ Parameters และ Disconnected Tables

ใช้ What-If Parameters, Power Query Parameters หรือ Disconnected Tables เพื่อกำหนดค่าที่อาจเปลี่ยนแปลง เมื่อต้องการเปลี่ยนค่า แค่ปรับที่ Parameter Slicer จุดเดียว ค่าทั้งหมดก็จะอัปเดตพร้อมกันทุก Measure

Key Insight: ถ้าค่าไหนอาจเปลี่ยนแปลงในวันพรุ่งนี้ อย่าพิมพ์มันลงในโค้ดวันนี้

เลือกใช้ผิดเครื่องมือ

5. DAX vs Power Query — เลือกใช้ผิดเครื่องมือ

"ผมภูมิใจกับสูตร DAX 30 บรรทัดมาก... จนกระทั่งมีคนมาบอกว่ามันทำได้ด้วยคลิกเดียวใน Power Query"

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

วิธีแก้ไข: Decision Framework

ถามตัวเองว่า: ค่านี้เปลี่ยนตาม Filter ของผู้ใช้หรือไม่?

  • ไม่เปลี่ยน → ทำใน Power Query (คำนวณครั้งเดียวตอน Refresh)

  • เปลี่ยนตาม Filter → ใช้ DAX Measure (คำนวณแบบ Dynamic)

จากประสบการณ์จริง 6 ใน 10 งาน ควรทำใน Power Query ไม่ใช่ DAX การ Transform ข้อมูลล่วงหน้าจะทำให้ Power BI ทำงานเร็วขึ้นอย่างเห็นได้ชัด

Key Insight: Transform Early, Calculate Late — จัดการข้อมูลให้เรียบร้อยก่อน แล้วค่อยคำนวณทีหลัง

Measure ซ้ำซ้อนจนท่วม

6. Calculation Groups — Measure ซ้ำซ้อนจนท่วม

"ผมมี 247 Measures ใน Model เดียว สองร้อย สี่สิบ เจ็ด"

เมื่อต้องสร้าง Measure สำหรับ YTD, MTD, LY ของทุก KPI หลายคนเลือกวิธี Copy-Paste แล้วเปลี่ยนชื่อ ทำให้เกิด Measure จำนวนมหาศาล เช่น 25 KPI พื้นฐาน คูณด้วย 10 รูปแบบเวลา กลายเป็น 247 Measures ที่ดูแลรักษายากมาก หากต้องแก้ Logic ของ YTD ก็ต้องแก้ทั้ง 25 ตัว และอาจพลาดอีก 2-3 ตัว

วิธีแก้ไข: ใช้ Calculation Groups

Calculation Groups ช่วยให้สร้าง Time Pattern (YTD, MTD, LY ฯลฯ) เพียงครั้งเดียว แล้วนำไปใช้กับทุก Measure ได้โดยอัตโนมัติ ผลลัพธ์คือลดจาก 247 Measures เหลือเพียง 25 Measures (ลดลง 90%) โดยใช้ 2 Slicers (KPI Selector + Time Pattern) แทน Measure กว่า 200 ตัว หากต้องแก้ Logic ก็แก้แค่จุดเดียว ไม่ต้องไล่แก้ทีละตัวอีกต่อไป

Key Insight: ถ้าคุณ Copy-Paste Measure แล้วเปลี่ยนแค่ชื่อ → คุณต้องการ Calculation Group

ทำสำเนาหน้าซ้ำจนท่วม

7. Page Duplication — ทำสำเนาหน้าซ้ำจนเกินความจำเป็น

"47 หน้า ผมดูแล 47 หน้าที่เหมือนกันเกือบทั้งหมด"

เมื่อต้องการแสดงข้อมูลแยกตามภูมิภาคหรือสินค้า หลายคนเลือก Copy หน้าแล้วเปลี่ยน Filter ทำให้เกิด 47 หน้าสำหรับแต่ละภูมิภาค มี Visual ทั้งหมด 282 ชิ้นที่โหลดพร้อมกัน ไฟล์ขนาด 85MB และเมื่อต้องแก้ KPI หนึ่งตัว ก็ต้องไล่แก้ทั้ง 40+ หน้า

วิธีแก้ไข: Smart Navigation

  • Bookmarks — สลับมุมมองในหน้าเดียวกัน

  • Drillthrough — กรองข้อมูลรายละเอียดอัตโนมัติ

  • Page Navigation — สร้างเมนูแบบ App

ผลลัพธ์: จาก 47 หน้า เหลือเพียง 7 หน้าหลัก (ลดลง 85%) ขนาดไฟล์ลดจาก 85MB เหลือ 12MB และแก้ KPI ได้ภายใน 10 วินาที
Key Insight: Copy-Paste ไม่ใช่กลยุทธ์ — มันคือหนี้ทางเทคนิคที่มีดอกเบี้ยทบต้น

Visual ล้นจอจนใช้งานจริงไม่ได้

8. Visual Overload — Visual ล้นจอจนใช้งานจริงไม่ได้

"ลูกค้าบอกว่า: หน้าจอนี้ดูเหมือน Cockpit เครื่องบิน... แต่ผมไม่ใช่นักบิน"

การยัด Visual 20 ชิ้นพร้อม Slicer อีก 5 ตัวในหน้าเดียว ทำให้เกิด Cognitive Overload ผู้ใช้ไม่รู้ว่าควรดูตรงไหนก่อน เวลาโหลดนาน 8-15 วินาที (เพราะแต่ละ Visual = 1 DAX Query) และไม่มี Storytelling เมื่อทุกอย่างดังเท่ากันหมด ก็ไม่มีอะไรโดดเด่น

วิธีแก้ไข: 1 Page = 1 Question

  • จำกัด Visual ไม่เกิน 5-7 ชิ้นต่อหน้า

  • ใช้ Z-Pattern Layout เพื่อการอ่านที่เป็นธรรมชาติ

  • ใช้ Drillthrough, Bookmarks และ Tooltip Pages สำหรับรายละเอียดเพิ่มเติม

ผลลัพธ์: เวลาโหลดลดจาก 8-15 วินาที เหลือ 1-2 วินาที (เร็วขึ้น 7 เท่า) DAX Queries ลดลง 70% และ User Engagement เปลี่ยนจากเปิดแล้วปิดทิ้งเป็นใช้งานทุกวัน

Key Insight: Copy-Paste ไม่ใช่กลยุทธ์ — มันคือหนี้ทางเทคนิคที่มีดอกเบี้ยทบต้น

ออกแบบโดยไม่คิดถึงการตัดสินใจ

9. Decision-First Design — ออกแบบโดยไม่คิดถึงการตัดสินใจ

"ผมสร้าง Dashboard สวยมาก... แต่ไม่มีใครเปิดดูหลังจากวันแรก"

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

วิธีแก้ไข: 5 Golden Questions

ก่อนเริ่มสร้าง Dashboard ให้ถามผู้ใช้ด้วยคำถาม 5 ข้อนี้:

  1. รายงานนี้จะช่วยคุณตัดสินใจเรื่องอะไร?

  2. ถ้าเห็นตัวเลขแล้ว คุณจะทำอะไรต่อ?

  3. ใครดู เมื่อไหร่ และบนอุปกรณ์อะไร?

  4. ตัวเลขไหนที่ถ้าผิดจะสร้างปัญหาใหญ่ที่สุด?

  5. ถ้าไม่มีรายงานนี้ คุณตัดสินใจอย่างไรในวันนี้?

Key Insight: ถาม "ต้องตัดสินใจอะไร?" ไม่ใช่ "อยากเห็นอะไร?"

สรุป: จาก Confession สู่ Mastery

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

ข้อ

หลักการ

แนวทางปฎิบัติ

1

Start Schema

แยก Fact และ Dimension ให้ชัดเจน

2

Rename + Hide + Folders

ตั้งชื่อให้เข้าใจได้ใน 5 วินาที

3

Power Query Automation

ตั้งค่าครั้งเดียว Refresh ตลอดไป

4

Use Parameters

อย่า Hardcode ค่าที่อาจเปลี่ยน

5

DAX vs Power Query

Transform ก่อน Calculate ทีหลัง

6

Calculation Groups

ลด Measure ซ้ำซ้อนลง 90%

7

Bookmarks + Drillthrough

ลดการ Copy-Paste หน้า

8

1 Page = 1 Question

จำกัด Visual 5-7 ชิ้นต่อหน้า

9

5 Golden Questions

ถามเรื่องการตัดสินใจ ไม่ใช่แค่ข้อมูล

 

"Dashboard ที่ดีไม่ใช่แค่สวย แต่จะต้องตอบโจทย์ มีโครงสร้างที่ดี เรียบง่าย แต่ทรงพลัง"

อ.ชไลเวท พิพัฒพรรณวงศ์, 9Expert Training

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Power BI อย่างเจาะลึก สามารถติดตามหลักสูตรอบรมจาก 9Expert Training ได้ที่ www.9experttraining.com ซึ่งมีหลักสูตรครอบคลุมตั้งแต่ระดับพื้นฐานจนถึงระดับสูง สอนโดยผู้เชี่ยวชาญระดับ Microsoft MVP

บทความที่เกี่ยวข้อง