Power Query ใช้ทำอะไร?

ทำไม Power BI ต้องมี Power Query?

Power Query ทำงานร่วมกับ Data Model ยังไง?

คำตอบของทั้ง 3 คำถามอยู่ในคลิปนี้ครับ

เป็นคลิปที่ดีมากๆ อธิบายการทำงานร่วมกันของ Power Query, Power Pivot และ Power View ได้อย่างชัดเจน

(Power View คือความสามารถในการสร้างกราฟหรือแดชบอร์ดได้อย่างง่ายดาย)

ตัวอย่างที่อธิบายก็เป็นเคสที่พบได้จริง เทคนิคที่ใช้บอกสั้นๆคำเดียวว่า ‘งดงาม’

เคสแบบนี้ใช้ Excel ทำได้ไหม?

ในทางเทคนิคแล้วขอตอบว่าได้ เทคนิคที่ใช้ก็ไม่ได้ยุ่งยากอะไร แค่เพิ่มคอลัมน์ช่วยคำนวณ ดึงข้อมูลจากตารางที่เกี่ยวข้อง ฟังก์ชันที่ใช้ก็น่าจะมีไม่กี่ฟังก์ชัน เช่น SUMIFS, INDEX, MATCH สุดท้ายสรุปข้อมูลด้วย Pivot Table

แล้วทำไมไม่ใช้ Excel ล่ะ น่าจะง่ายกว่าด้วย?

เคสนี้ใช้ Excel ได้ก็จริง แต่มีข้อแม้ว่าข้อมูลต้องไม่ใหญ่

คำว่า “ไม่ใหญ่” ขอให้ตัวเลขคร่าวๆว่าไม่เกิน 50,000 บรรทัด

ทำไมต้องไม่เกิน 50,000 บรรทัด?

เหตุผลที่ต้องมีข้อมูลไม่เกิน 50,000 บรรทัด (ถ้าสเป็คคอมพ์ไม่แรง อาจได้แค่ 10,000 บรรทัด) เพราะเคสนี้ถ้าใช้ Excel ต้องสร้างคอลัมน์ช่วยคำนวณและต้องดึงข้อมูลจากตารางอื่นรวมกันไม่ต่ำกว่า 20 คอลัมน์!

การเพิ่มจำนวนคอลัมน์มากขนาดนี้ ทำให้การคำนวณอืดมาก อืดขนาดเรือเกลือเรียก “พี่”

เรียกว่าพอปล่อยให้โปรแกรมคำนวณก็ไปเข้าห้องน้ำได้เลย เผลอๆตอนกลับมาจากห้องน้ำยังคำนวณไม่เสร็จด้วยซ้ำ T_T

(คำว่า “ปล่อยให้คำนวณ” คือตั้งการคำนวณของไฟล์ Excel ให้เป็น Manual เมื่อเกิดการเปลี่ยนแปลงใดๆ ไฟล์นี้จะไม่คำนวณ ถ้าต้องการคำนวณให้กดปุ่ม F9)

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

ในเชิง Excel แล้ว การทำให้ข้อมูลไดนามิค หลักๆทำได้ 2 วิธีคือ

  1. สร้างตัวแปรขึ้นมารองรับ โดยใช้ฟังก์ชัน OFFSET (ร่วมกับ COUNTA)
  2. ปรับข้อมูลให้เป็น Table (กด Ctrl+T)

การสร้างตัวแปรขึ้นมารองรับโดยใช้ฟังก์ชัน OFFSET (ร่วมกับ COUNTA) มีข้อเสียคือต้องสร้างหลายตัวแปร ซึ่งจะมีความไม่สะดวก แถมฟังก์ชัน OFFSET มีคุณสมบัติที่เรียกว่า Volatile มีข้อเสียคือทำให้คำนวณช้า

ส่วนการปรับข้อมูลให้เป็น Table นั้น แม้ทำให้ข้อมูลเป็นไดนามิคและทำได้ง่าย (กด Ctrl+T) ก็จริง แต่กับเคสนี้จะไม่เหมาะเลย เพราะต้องสร้างคอลัมน์คำนวณเยอะมาก

Table จะเหมาะกับข้อมูลที่เรียกว่า “แปะแข็ง” นั่นคือข้อมูลที่มีแต่ข้อมูลจริงๆ ไม่มีการคำนวณ มีแต่ข้อมูลเพียวๆ หรือเป็นแบบ Paste Value

แต่ถ้าข้อมูลมีการคำนวณ การทำเป็น Table จะทำให้การคำนวณช้ายิ่งกว่าเต่า ยิ่งถ้ามีข้อมูลมากกว่า 50,000 บรรทัด พอปล่อยให้คำนวณก็ไปกินข้าวได้เลย มันคำนวณช้ามากจริงๆ T_T

(ข้อมูลที่เป็น Table จะเป็น Volatile ถ้ามีการเปลี่ยนแปลงเพียงข้อมูลเดียว จะเกิดการคำนวณใหม่ทั้งตาราง)

ใครที่เคยใช้งาน Excel ร่วมกับฐานข้อมูลน่าจะเคยเจอเคสคล้ายๆแบบนี้

(ผมเจอประจำ ขอบอกว่าเศร้ามาก T_T)

แล้วจะแก้ไขยังไง?

เคสแบบนี้ถ้าเป็นไปได้เราจะไม่ใช้ Excel แต่มักใช้โปรแกรมจัดการฐานข้อมูล เช่น SQL Server

ปัญหาของ SQL Server คือ คนที่ไม่มีพื้นความรู้อาจรู้สึกว่ามีกำแพงขนาดมหึมากั้นอยู่

สำหรับ “คนทั่วไป” ที่มีพื้นฐานเอ็กเซลแข็งแกร่งระดับหนึ่ง แต่ไม่คุ้นเคยกับ SQL Server ผมอยากให้ลองมองโปรแกรม Power BI Desktop อาจเป็นทางเลือกที่คุ้นเคยมากกว่าครับ ^__^

(Power BI Desktop คือโปรแกรมที่สามารถใช้งานได้ฟรี สามารถดาวน์โหลดได้ ที่นี่ )

(คำว่า “ฟรี” เหมาะกับการใช้งานคนเดียว ถ้าต้องการใช้ร่วมกับคนอื่นในองค์กร หรือต้องการแชร์ข้อมูลให้คนอื่นเห็นผ่านเว็บและสามารถปรับนู่นนั่นนี่ได้ อาจต้องใช้เวอร์ชันเสียเงิน (Power BI Pro, Power BI Premium))

ถ้าใครใช้งาน Power Query กับ Power Pivot ใน Excel เป็น ก็เรียกได้ว่าใช้ Power BI เป็นมากกว่า 50% แล้ว!

เคสในคลิปน่าจะทำให้เห็นภาพชัดเจนว่า Power BI มีประโยชน์และใช้งานง่ายเพียงใด

แต่ถ้าใช้ Power BI ไม่เป็น ไม่เป็นไร เรามาหัดด้วยกันครับ ^__^

.

ขอบคุณคุณ Mike Girvin เจ้าของ YouTube Channel ExcelIsFun ที่แบ่งปันเทคนิคดีๆครับ

ใครไม่รู้จักชาแนลนี้ แนะนำให้กดติดตามไว้เลยครับ มีเทคนิคเจ๋งๆเยอะมาก ที่สำคัญคือสอนเข้าใจ แถมสำเนียงภาษาอังกฤษก็ฟังง่ายด้วยครับ ^__^

.

หากคุณชอบบทความแนวนี้ สามารถอัพเดตบทความใหม่ๆโดยคลิก Like เฟสบุ๊คแฟนเพจ วิศวกรรีพอร์ต หรือคลิก ที่นี่

อย่าลืมแชร์ให้เพื่อนอ่านเพื่อเป็นกำลังใจให้คนเขียนด้วยนะครับ ^__^