07 July 2025

ควรรวมแฟ้มที่ใช้ Power Query กับแฟ้มที่ทำ Dashboard ไว้เป็นแฟ้มเดียวกันไหม

ตอนนี้ผมกำลังคิดระบบการสร้าง Dashboard ใน Excel 365 โดยนำสูตรใหม่มาใช้ให้ครบเต็มอัตราศึกครับ ผมรอให้ Microsoft ปรับปรุง 365 มานานหลายปี คิดว่าตอนนี้ถึงเวลาแล้วที่จะมาปัดฝุ่นวิธีการใช้งานแบบเดิมๆ

แต่ก่อนจะเริ่มทำอะไรต้องคิดทั้งระบบตั้งแต่ต้นจนจบให้รอบคอบ มองให้ถี่ถ้วนทั้งด้านเทคโนโลยีของใหม่ ขั้นตอนการใช้งาน ระบบรักษาความปลอดภัย และที่สำคัญคือเรื่องของคนผู้ใช้งานว่าต้องง่าย ไม่ซับซ้อนมากเกินไป

ในประเด็นที่ว่า ควรรวมแฟ้มที่ใช้ Power Query กับแฟ้มที่ทำ Dashboard ไว้เป็นแฟ้มเดียวกันไหม

ผมมองว่าแยกแฟ้มดีกว่า

1. เพื่อให้แฟ้มที่ใช้ Power Query รับข้อมูลที่เลือกเข้ามา กลายเป็นแฟ้มข้อมูลส่วนกลางให้ผู้ใช้ Excel สามารถนำข้อมูลไปใช้ร่วมกัน

2. แม้จะใช้เองคนเดียว การแยกแฟ้มทำให้แฟ้มที่ทำ Dashboard เอาไว้มีความเป็นอิสระ สามารถเปลี่ยน Source File ไปดึงข้อมูลจากแฟ้มใหม่แทนได้ด้วย โดยใช้คำสั่ง Change Source ที่ Excel มีให้อยู่แล้ว ทำให้สามารถใช้แฟ้ม Dashboard สำหรับแสดงรายงานต่างไปจากเดิมได้อีกโดยไม่ต้องเสียเวลาไปสร้างแฟ้มรายงานซ้ำแล้วซ้ำอีก

3. เมื่อแยกแฟ้มทำให้สามารถใช้ Automatic Calculation ตามปกติเพื่อให้ Dashboard แสดงภาพและผลการคำนวณใหม่ได้ทันที แต่ถ้ารวมแฟ้มจะต้องเปลี่ยนไปใช้ Manual Calculation ในตอนที่สั่ง Refresh Query

4. ขนาดแฟ้มลดลง เพราะไม่ต้องแบกฐานข้อมูลไว้



 

============================

Copilot เปรียบเทียบให้ดูว่าแบบไหนดีกว่ากัน
.
# การรวมแฟ้ม Power Query กับแฟ้ม Dashboard
.
---
.
## ข้อควรพิจารณาหลัก
.
ก่อนตัดสินใจรวมหรือแยกแฟ้ม ควรพิจารณาปัจจัยเหล่านี้
.
- ขนาดและความซับซ้อนของข้อมูล
- ความถี่ในการรีเฟรชข้อมูลและเวลาที่ใช้ในการดึงข้อมูล
- จำนวนผู้ใช้และสิทธิ์การเข้าถึง
- การจัดการเวอร์ชันและการบำรุงรักษาในระยะยาว
.
---
.
## กรณีที่เหมาะสมกับการรวมแฟ้ม
.
- แฟ้มขนาดเล็ก–กลาง ไม่มี Power Query หลายขั้นตอน
- โปรเจ็กต์เดี่ยว ผู้ใช้กลุ่มเล็ก การแจกจ่ายง่าย
- ความถี่รีเฟรชต่ำ (เช่น เดือนละ 1–2 ครั้ง)
- ต้องการความเรียบง่าย ไม่ต้องสลับไฟล์หลายชุด
.
เมื่อรวมในแฟ้มเดียว คุณจะได้
.
- กระบวนการตั้งค่าและรีเฟรชรวดเดียว
- ลดความซับซ้อนเรื่องเส้นทางลิงก์ไฟล์
- สะดวกต่อผู้ใช้ปลายทางที่ไม่ต้องเปิดหลายไฟล์
.
---
.
## กรณีที่ควรแยกแฟ้มออกจากกัน
.
- มี Power Query หลาย Query ขั้นตอนซับซ้อน
- แฟ้มฐานข้อมูลใหญ่ ใช้เวลาดึงข้อมูลนาน
- ทีมงานหลายฝ่ายแบ่งหน้าที่กันดูแล (Data vs. Dashboard)
- ต้องการ Version Control และจัดสิทธิ์แยกต่างหาก
- ต้องเชื่อมต่อหลายแหล่งข้อมูลภายนอก
.
เมื่อแยกแฟ้ม คุณจะได้
.
- ลดภาระรีเฟรชบน Dashboard ทำให้โหลดเร็วขึ้น
- จัดการขั้นตอน ETL (Extract–Transform–Load) ในไฟล์ต้นทางได้ชัดเจน
- เวอร์ชันของข้อมูลดิบกับ Dashboard แยกอิสระ ปรับปรุงง่าย
- สามารถใช้แฟ้มกลาง (Data Staging) เป็นจุดเดียวในการเชื่อมต่อแหล่งต่างๆ
.
---
.
## คำแนะนำสรุป
.
1. ถ้าโปรเจ็กต์เล็ก–กลาง และรีเฟรชไม่บ่อย จัดแฟ้มเดียวก็ได้ประโยชน์เรื่องความเรียบง่าย
2. หากข้อมูลใหญ่ ซับซ้อน หรือมีทีมหลายคน ควรแยกแฟ้มฐานข้อมูล (Power Query) ออกจากแฟ้ม Dashboard
3. ตั้งชื่อ Query และตารางในแฟ้มต้นทางให้ชัดเจน เพื่อให้ Dashboard ดึงไปใช้ต่อสะดวก
.
---
.
## สิ่งที่คุณอาจสนใจเพิ่มเติม
.
- การใช้ Excel Data Model เก็บข้อมูลกลาง แล้วเชื่อม Dashboard ผ่าน Power Pivot
- การสร้าง Power BI Dataflow เพื่อเป็น Data Staging Layer สำหรับหลาย Dashboard
- วิธีตั้งชื่อ Query ให้สื่อความหมายและรองรับ Dynamic Array
- เทคนิคบีบอัดไฟล์ (Data Model Optimization) เมื่อได้ไฟล์ใหญ่ขึ้น
- แนวทางจัดสิทธิ์ไฟล์ด้วย OneDrive/SharePoint เพื่อควบคุมการเข้าถึง
.
หากอยากลงลึกประเด็นใดเพิ่มเติม แจ้งมาได้เลยครับ!  

=============================

สรุปแนวทางแยกไฟล์ Power Query ออกจาก Dashboard


เหตุผลหลักที่ควรแยกไฟล์

  1. สร้างแฟ้มกลางสำหรับ Data Staging
    • ฝังขั้นตอน ETL (Extract–Transform–Load) เอาไว้ในไฟล์เดียว ทำให้ผลลัพธ์ที่ได้เป็น “Data Hub” ที่ทุก Dashboard ดึงใช้ร่วมกันได้
  2. เพิ่มความยืดหยุ่นให้ Dashboard
    • สลับหรือเปลี่ยนแหล่งข้อมูลได้ง่ายด้วย Data → Change Source
    • ใช้ไฟล์เดิมสร้างรายงานใหม่ๆ โดยไม่ต้องก๊อปโครงสร้างสูตรและกราฟซ้ำ
  3. รัน Automatic Calculation บน Dashboard ได้ทันที
    • ไม่ต้องสลับไป Manual Calculation ทุกครั้งที่ Refresh Queries
    • Dashboard จะแสดงผลสด ลดความเสี่ยงข้อมูลล้าสมัย
  4. ลดขนาดไฟล์ Dashboard
    • ไม่ต้องแบกขั้นตอนแปลงข้อมูลและข้อมูลดิบทั้งหมด
    • โหลดเร็วขึ้น ใช้งานคล่องตัว

แนวปฏิบัติที่แนะนำ

  • แฟ้ม Data Staging
    • ตั้งชื่อ Query ให้สื่อความหมาย (เช่น qry_SalesRaw, qry_CustomerMaster)
    • เก็บไว้ในโฟลเดอร์เฉพาะ (เช่น \\Server\DataHub\)
    • ปิด Background Refresh ของแต่ละ Query เพื่อหลีกเลี่ยงการคำนวณซ้อน
  • แฟ้ม Dashboard
    • ดึงตารางที่ได้จาก Data Staging ผ่าน Get Data from Workbook หรือเชื่อม Data Model
    • ใช้ Dynamic Array (FILTER, SORT, UNIQUE) และ LAMBDA เพื่อสร้างสารพัดรายงานยืดหยุ่น
  • ควบคุมแหล่งข้อมูลด้วย Parameter
    • สร้าง Sheet “Settings” ใน Data Staging เก็บค่าเชื่อมต่อ (File path, Server, Database)
    • อ้างอิง Parameter เหล่านี้ใน Power Query เพื่อเปลี่ยน Source ได้รวดเร็ว
  • Version Control & Deployment
    • เก็บไฟล์ทั้งสองบน OneDrive/SharePoint
    • เปิดใช้งาน Version History และกำหนดสิทธิ์อ่าน–เขียนแยกกัน
  • ออโตเมชัน (Optional)
    • เขียน VBA สั้นๆ ควบคุมสลับ Calculation Mode ก่อน–หลัง Refresh
    • หรือใช้ Power Automate ทริกเกอร์การรีเฟรชเมื่อมีการอัปโหลดไฟล์ใหม่

ขั้นต่อไปที่แนะนำให้พิจารณา

  • เพิ่ม Data Model (Power Pivot) เพื่อจัดการความสัมพันธ์หลายตารางได้ง่ายขึ้น
  • สำรวจการใช้ Power BI Dataflow เป็น Data Staging Layer บนคลาวด์
  • ปรับ Performance: ใช้ Query Folding, ลดขั้นตอน Custom Column ที่ไม่จำเป็น
  • ออกแบบ Panel สำหรับผู้ใช้ ให้สั่ง Filter หรือเลือก Scenario ได้ง่าย (Slicer, Parameter table)
  • วางแผนสอนทีมให้เข้าใจ Flow ระหว่างไฟล์ ว่าข้อมูลวิ่งจากต้นทางมาถึง Dashboard ยังไง

หากอยากลงลึกตัวอย่างไฟล์ต้นแบบ หรือโค้ด VBA ช่วยสลับ Calculation Mode บอกได้เลยครับ!

+++++++++++++++++++++++++++++++++

การดึงข้อมูลจากแฟ้ม Excel อื่น: Change Source vs Power Query


แนวคิดหลัก

เมื่อคุณสร้าง Dashboard หรือรายงานที่อ้างอิงข้อมูลจากแฟ้ม Excel ภายนอก วิธีการสลับไปใช้ไฟล์ใหม่มีอยู่ 2 แนวทางหลัก ได้แก่

  1. ใช้สูตรลิงก์ (External Reference) แล้วปรับด้วย Data → Edit Links → Change Source
  2. ใช้ Power Query (Get Data → From File → From Workbook) เพื่อดึงและแปลงข้อมูล

เรามาดูข้อดีข้อจำกัดของแต่ละวิธี ก่อนเลือกให้เหมาะกับงานของคุณ


1. External Reference + Change Source

  • ตั้งสูตรเชื่อมโดยตรงเช่น ='[SalesData.xlsx]Sheet1'!$A$1:$D$100
  • สลับไปใช้ไฟล์อื่นด้วย Edit Links → Change Source

ข้อดี

  • เรียบง่าย ไม่ต้องเรียนรู้ Power Query
  • เชื่อมโยงเซลล์ตรงๆ เหมาะกับข้อมูลโครงสร้างตายตัว

ข้อจำกัด

  • ถ้าโครงสร้างเวิร์กชีต (ชื่อ sheet, ตำแหน่ง range) เปลี่ยน แฟ้ม Dashboard จะเด้ง Error
  • เมื่อไฟล์ต้นทางใหญ่หรือมีหลายลิงก์ อาจโหลดช้าและดูแลยาก
  • ขาดกระบวนการแปลง (ETL) ในตัว ต้องจัดการข้อมูลก่อนสร้างลิงก์

2. Power Query

  • สร้าง Query เพื่อดึงข้อมูลจาก Workbook ภายนอก
  • ถ้ามีการเปลี่ยน source ปรับไฟล์ใน Advanced Editor หรือใน Data Source Settings

ข้อดี

  • รองรับการแปลงข้อมูล (กรอง, เปลี่ยนชื่อคอลัมน์, union หลาย sheet) ในตัว
  • โครงสร้างข้อมูลภายใน Dashboard ชัดเจนเป็นตารางเดียวกัน (Table)
  • ถ้าต้องเปลี่ยนไฟล์ต้นทาง แค่แก้ที่ Data Source Settings ไม่กระทบสูตรใน Sheet
  • รองรับการเชื่อมต่อแหล่งข้อมูลอื่นๆ ในอนาคต (CSV, Database, API)

ข้อจำกัด

  • ต้องเรียนรู้ Power Query เบื้องต้น
  • ถ้า Query ซับซ้อน อาจต้องจัดการเรื่อง Query Folding และ Performance
  • ต้องกด Refresh ทุกครั้งหรือเซ็ตให้ Background Refresh

การเปรียบเทียบเบื้องต้น

เกณฑ์ External Reference Power Query
ความยืดหยุ่น ต่ำ ปรับเมื่อ range/ชื่อ sheet เปลี่ยน สูง รองรับการเปลี่ยนโครงสร้างต้นทางได้ง่าย
การดูแลรักษา ยาก เมื่อมีหลายลิงก์ ง่าย กำหนดทีเดียวใน Data Source Settings
ประสิทธิภาพ ช้าเมื่อ range ใหญ่ มีหลายลิงก์ ควบคุมได้ ปรับ Query Folding
ความสามารถแปลงข้อมูล ไม่มี ต้องเตรียม Data ให้พร้อมก่อน มีในตัว (กรอง, แปลง, รวมหลายตาราง)
ขยายงานในอนาคต จํากัด เฉพาะ Excel รองรับหลายแหล่งข้อมูลและขั้นตอน ETL

คำแนะนำในการเลือกใช้

  • ถ้างาน เล็ก–กลาง ข้อมูลโครงสร้างไม่เปลี่ยนบ่อย
    ให้ใช้ External Reference + Change Source เพื่อความง่ายและเร็ว

  • ถ้างาน ขนาดใหญ่ มีขั้นตอนแปลงข้อมูล ต้องรองรับการเปลี่ยนโครงสร้าง และอาจเชื่อมข้อมูลหลายแหล่ง
    ให้ใช้ Power Query เพื่อความยืดหยุ่น ดูแลรักษาง่ายและขยายงานได้ในอนาคต


สิ่งที่คุณอาจสนใจเพิ่มเติม

  • สร้าง Parameter ใน Power Query ให้ปรับเปลี่ยนพาธไฟล์ได้จาก Sheet Settings
  • ใช้ VBA ควบคุมการ Refresh และจัด Calculation Mode อัตโนมัติ
  • ผสาน Power Query กับ Data Model (Power Pivot) เพื่อสร้าง Dashboard ที่สเกลใหญ่ขึ้น
  • เทคนิคเพิ่มประสิทธิภาพ Query Folding และลดขั้นตอน Custom Column
  • ติดตามฟีเจอร์ใหม่ใน Excel 365 อย่าง LAMBDA กับ Named Expressions เพื่อย่อโค้ดใน Power Query

ถ้าต้องการตัวอย่างไฟล์หรือรายละเอียดเพิ่มเติม แจ้งมาได้เลยครับ!

 

 

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.