เราใช้ Excel สร้าง Dashboard ได้ไหม?
จำเป็นต้องใช้ Power BI หรือเปล่า?
ตอบสั้น ๆ ว่า ได้
แต่จะตามมาด้วยคำถาม 9 ข้อ

[ 1. ข้อมูลเกินหนึ่งล้านบรรทัดไหม? ]
ข้อจำกัดนึงของ Excel คือ รับข้อมูลได้ไม่เกิน 1 ล้านบรรทัด
แปลว่า ถ้าข้อมูลมีโอกาสเกิน 1 ล้านบรรทัด ควรสร้างแดชบอร์ด้วย Power BI
แล้วถ้าข้อมูลเกิน 1 ล้านบรรทัด แต่อยากใช้ Excel ต้องทำยังไง?
คำตอบคือ ใช้ Power Query + Power Pivot
เราสามารถใช้ Power Query ใน Excel เชื่อมต่อข้อมูล ทำให้รับข้อมูลเกิน 1 ล้านบรรทัดได้
แถมมีข้อดีคือ สามารถเชื่อมต่อข้อมูลจากหลายแหล่ง เช่น SQL, text file
หรือดึงข้อมูลจาก Excel หลาย ๆ ไฟล์มารวมกันก็ได้ 🙂
ปัญหาต่อมาคือ Power Query รับข้อมูลเกิน 1 ล้านบรรทัดได้ก็จริง แต่โหลดตารางนั้นออกมาไม่ได้
(เพราะ Excel มีแค่ 1 ล้านบรรทัด)
ทางแก้จึงต้องโหลดตารางนี้เข้าสู่ Power Pivot (Load to Data Model)
ข้อดีของ Power Pivot คือ เชื่อมต่อข้อมูลได้มากกว่า 1 ตาราง
สร้าง Data Model ได้
แถมยังเพิ่มพลังการประมวลผลด้วยสูตร DAX
จากนั้นก็แสดงผลลัพธ์ออกมาเป็น Pivot Table และ/หรือ Pivot Chart เพื่อสร้างแดชบอร์ด
ข้อจำกัดของแนวทางนี้คือ เหมาะกับ Excel เวอร์ชันใหม่ ๆ (เช่น Excel 365)
ปัญหาข้อมูลเกินล้านบรรทัดหมดไป
แต่ปัญหาใหม่คือ …
[ 2. จะแชร์ข้อมูลยังไง? ]
ถ้าจะใช้วิธีส่งไฟล์ทางอีเมล บอกเลยว่าไม่เวิร์ก
เพราะ Excel เป็นโปรแกรมที่มีความปลอดภัยต่ำมาก
ต่อให้ตั้งพาสเวิร์ด Protect Workbook, Protect Worksheet ดีแค่ไหน ยังไงก็ถอดพาสเวิร์ดได้
วิธีที่พอจะป้องกันได้คือ นำไฟล์ Excel นี้ไปเก็บไว้ใน OneDrive (หรือ SharePoint) แล้วแชร์ข้อมูลโดยเลือกออปชันให้เป็น Can View, but no download (ระบบจะสร้างลิงก์)
จากนั้นก็ส่งลิงก์นี้ให้คนที่ต้องการแชร์ข้อมูล
คนที่ได้ลิงก์ จะทำได้เพียงดู (View) จะก๊อปปี้หรือดาวน์โหลดไม่ได้
แต่.. ไม่ได้แปลว่าปัญหาจบแล้ว
[ 3. แชร์ให้คนกี่คน ]
เมื่อนำไฟล์ Excel นี้ไปไว้ใน OneDrive (หรือ SharePoint)
คำถามคือ ไฟล์ Excel นี้จะถูกแชร์ให้คนกี่คน?
หรือทุกคนสามารถดูพร้อมกันได้หรือไม่?
คำตอบคือ ได้
แต่ไม่เกิน 300 คน
ตัวเลข 300 อาจดูสูง แต่เป็นตัวเลขในทางทฤษฎี
ในทางปฏิบัติ เมื่อเปิดไฟล์นี้พร้อมกันหลายคน ประสิทธิภาพจะค่อย ๆ ลดลง ไฟล์อาจจะช้า หรือค้างไปเลยก็มี
ยิ่งไฟล์มีขนาดใหญ่ ยิ่งพบปัญหา
ถ้าแชร์ไฟล์นี้ให้คนในแผนกเล็ก ๆ เช่น 5 คน ไม่มีปัญหา
แต่จะเจอปัญหาอื่น นั่นคือ …
[ 4. ข้อมูลอัปเดตบ่อยแค่ไหน? ]
ข้อเสียของ Excel คือ ไม่สามารถตั้งเวลารีเฟรชข้อมูลอัตโนมัติได้
แปลว่า ถ้าข้อมูลต้นทางอัปเดตบ่อย ข้อมูลใน Excel หรือในแดชบอร์ดก็จะไม่อัปเดตตาม
วิธีที่ดีที่สุดคือ ตั้งออปชันให้รีเฟรช Power Query ทุกครั้งที่เปิดไฟล์
แล้วรีเฟรช Power Pivot ด้วย Office Script (อาจใช้ร่วมกับ Power Automate)
แปลว่า เมื่อเปิดไฟล์นี้ ข้อมูลทั้งหมดก็จะอัปเดต
คำถามคือ ใครจะเป็นคนเปิดไฟล์?
ถ้าไฟล์นี้มีคนเปิดทุกวันก็จบ
แต่ถ้าไม่ใช่ ต้องใช้ Task Scheduler ร่วมกับ VBA เพื่อเปิดไฟล์แบบอัตโนมัติ
ปัญหาต่อมาคือ ข้อมูลอัปเดตบ่อยแค่ไหน?
ถ้าอัปเดตวันละครั้ง พอจะทำแบบที่เขียนข้างต้นได้
แต่ถ้าอัปเดตวันนึงมากกว่าหนึ่งครั้ง
หรืออัปเดตแบบเรียลไทม์
ใช้ Power BI เหอะ
[ 5. อยากให้ทุกคนเข้าถึงข้อมูลได้เท่ากันหรือเปล่า? ]
เคสคลาสสิกที่อธิบายคำถามนี้ได้เห็นภาพคือ
อยากให้ทีมขายภาคเหนือเห็นข้อมูลเฉพาะภาคเหนือ?
อยากให้ทีมขายภาคใต้เห็นข้อมูลเฉพาะภาคใต้?
อยากให้ทีมขายภาคอีสานเห็นข้อมูลเฉพาะภาคอีสาน?
ถ้าใช่,
Excel ทำแบบนั้นไม่ได้นะ
คนที่ได้รับการแชร์แดชบอร์ดที่สร้างด้วย Excel จะเห็นข้อมูลทั้งหมด
แปลว่า ทีมขายภาคเหนือจะเห็นข้อมูลของภาคอื่น ๆ ด้วย
จะแยกว่าคนนั้นเห็นเท่านี้ คนนี้เห็นเท่านั้น ไม่ได้
แต่… Power BI ทำแบบนั้นได้
เพราะมีสิ่งที่เรียกว่า RLS (Row-Level Security) หรือคือการกำหนดสิทธิ์เข้าถึงข้อมูลระดับบรรทัด
ดูแล้ว Power BI เจ๋งกว่าใช่ไหม
แต่ค่าใช้จ่ายก็ไม่น้อยเลยนะ 😅
[ 6. ต้องการดูผ่านโทรศัพท์มือถือหรือเปล่า? ]
เวลาพูดคำว่า แดชบอร์ด เรามักนึกภาพคนหยิบมือถือขึ้นมาแล้วเช็คว่ากราฟเป็นยังไง
ซึ่ง Excel ก็ทำแบบนั้นได้ แต่กราฟนั้นจะเหมาะกับการดูผ่านคอมพิวเตอร์
เวลาใช้ Excel เรามักสร้างกราฟให้เหมาะกับการดูผ่านคอมพิวเตอร์ ซึ่งเป็นหน้าจอแนวนอน (16:9)
แต่กับหน้าจอมือถือ มันเป็นแนวตั้ง (9:16)
แดชบอร์ดที่สร้างจาก Excel จึงไม่เหมาะกับการดูผ่านมือถือ
เพราะต้องเลื่อนซ้าย-เลื่อนขวา
บอกเลยว่าไม่สะดวก
แต่ถ้าเป็น Power BI เซ็ตแดชบอร์ดให้ดูได้ทั้งสองแบบ
ถ้าดูผ่านคอมพิวเตอร์ก็เป็นแนวนอน
ถ้าดูผ่านมือถือก็เป็นแนวตั้ง
ดูเจ๋งใช่ไหม,
แต่คนสร้างแดชบอร์ดเหนื่อยมากเลยนะ 😅
[ 7. ใช้กราฟอะไรบ้าง? ]
ถ้าใช้วิธีตามข้อ 1 นั่นคือ
ใช้ Excel แล้วใช้ Power Query + Power Pivot
ด้วยวิธีนี้ ทำให้รับข้อมูลได้มากกว่า 1 ล้านบรรทัด
แถมยังใช้พลังของสูตร DAX ประมวลผลได้อย่างรวดเร็ว
แต่.. ข้อจำกัดของ Power Pivot คือ สร้างกราฟได้แค่ไม่กี่ประเภท เช่น
– Column
– Bar
– Line
– Pie
ถ้าเป็นกราฟอื่น ๆ เช่น
– Scatter XY
– Bubble
– Waterfall
พวกนี้สร้างด้วย Power Pivot ไม่ได้
ไม่ต้องพูดถึงกราฟไฮโซอื่น ๆ
คำถามคือ คุณโอเคกับแดชบอร์ดที่มีแต่กราฟแท่ง กราฟเส้น กราฟวงกลม หรือเปล่า?
[ 8. รอตอนหน่วงได้ไหม? ]
ถ้าใช้วิธีตามข้อ 1 นั่นคือ
ใช้ Excel แล้วใช้ Power Query + Power Pivot
วิธีนี้ทำให้ Excel มีความสามารถทัดเทียมกับ Power BI
เพราะ Power BI ก็ใช้ Power Query และ Power Pivot (DAX) เช่นกัน
แปลว่าใช้เครื่องยนต์ (engine) เดียวกัน
แต่.. ประสิทธิภาพต่างกัน
ถ้าอธิบายให้เห็นภาพคือ
Excel ใช้เครื่องยนต์ 2 สูบ
แต่ Power BI ใช้เครื่องยนต์ 4 สูบ (แถมติดเทอร์โบได้)
ถ้าสร้างแดชบอร์ดด้วย Excel จะประมวลผลช้ากว่า
ยิ่งข้อมูลเยอะ ยิ่งช้า หรืออาจจะค้างไปเลย
[ 9. รับความเสี่ยงได้ไหม? ]
จากข้อ 2. Excel มีความปลอดภัยที่ต่ำมาก
ควรหลีกเลี่ยงการส่งไฟล์ทุกกรณี
วิธีที่แนะนำคือ ให้เอาไฟล์ Excel ไปวางใน OneDrive (หรือ SharePoint) แล้วใช้วิธีแชร์ลิงก์
คนที่ได้ลิงก์จะเห็นแค่ข้อมูล จะก๊อปปี้หรือดาวน์โหลดไม่ได้
แต่ถ้าในอนาคต คนนั้นเกิดย้ายแผนกล่ะ?
ถ้าเค้ายังมีลิงก์ ก็ยังคงเข้าถึงแดชบอร์ดได้
หรือถ้าจะเปลี่ยนลิงก์ ก็ต้องแจ้งคนที่เคยได้ลิงก์ทั้งหมด ซึ่งไม่สะดวกเลย
หรือถ้ามีปัญหาข้อมูลรั่วไหล ก็จะจับมือใครดมไม่ได้
แต่ถ้าเป็น Power BI จะเซ็ตได้ว่า ใครเข้าถึงแดชบอร์ดนั้นได้บ้าง
เข้าถึงด้วยบทบาทอะไร (Member, Contributor, Viewer)
มีสิทธิ์ดูข้อมูลอะไรได้บ้าง (Row-Level Security)
เข้ามาดูล่าสุดเมื่อใด (Audit Log)
[ สรุป ]
ใช้ Excel สร้างแดชบอร์ดได้ ถ้าเข้าข่ายต่อไปนี้
– ข้อมูลขนาดเล็ก
– แชร์ให้คนไม่กี่คน
– อัปเดตไม่บ่อย (ไม่ใช่ทุกวัน)
– ทุกคนเข้าถึงข้อมูลได้เท่ากัน
– ดูแดชบอร์ดเป็นแนวนอน
– รอตอนหน่วงได้
– รับความเสี่ยงได้
แต่ถ้าไม่ใช่ การสร้างแดชบอร์ดด้วย Power BI คือทางเลือกที่ดีกว่า
แต่ก็มากับค่าใช้จ่ายที่ไม่น้อยเลย …
ทุกอย่างมีทั้งข้อดีและข้อเสีย
เลือกเครื่องมือที่ตรงกับเราดีที่สุดครับ 🙂