ในชีวิตจริงเกิดขึ้นบ่อย เรามักอัปเดตแหล่งข้อมูลต้นทางบ่อยๆ ในช่วงนั้น เราอาจเปลี่ยนแปลง หัวคอลัมน์ (Header) เล็กน้อยภายใน Power Query แต่ Power Query จะแสดงข้อผิดพลาดเมื่อคุณเปลี่ยน Header หากคุณสงสัยว่าจะจัดการปัญหานี้อย่างไร บทความนี้อาจเป็นประโยชน์ การจัดการตารางที่มี Header เปลี่ยนแปลงใน Power Query ถูกอภิปรายที่นี่พร้อมคำอธิบายละเอียด
ปัญหาของ Header ที่เปลี่ยนแปลงใน Power Query
เรามักมีแหล่งข้อมูลแบบดั้งเดิมพร้อม Header คอลัมน์ เมื่อเราสร้าง Power Query จากมัน มันมักจะเอา Header คอลัมน์ของตารางมาเป็น Header คอลัมน์ของตาราง Power Query หากมีการแทรกข้อมูล ข้อมูลจะถูกอัปเดตพร้อม Header คอลัมน์
แต่ในบางกรณี เมื่อคุณเปลี่ยน Header คอลัมน์ด้วยตนเองภายใน Power Query แล้วหลังจากสักพักแหล่งข้อมูลหลักเปลี่ยนแปลงเอง มันอาจแสดงเครื่องหมายข้อผิดพลาด นี่เป็นปัญหาหลัก และมีเหตุผลด้านหลัง
ตัวอย่าง พิจารณาตัวอย่างด้านล่าง เราสร้าง Power Query ตัวอย่างจากแหล่งข้อมูล ที่นี่ Header คอลัมน์ที่สองคือ Category ตอนนี้ภายใน Power Query เราเปลี่ยน Category เป็น Type แล้วโหลดตารางไปที่แผ่นงานใหม่
ตอนนี้เราเข้าสู่พื้นที่ปัญหา เปลี่ยนชื่อ Header ในตารางจาก Category เป็น Type และลอง Refresh Power Query table

- หลังจากลอง Refresh ข้อมูลต้นทาง จะมีเครื่องหมายข้อผิดพลาด

- เหตุผลคือ M code ที่สร้างขึ้นระหว่างการเปลี่ยนชื่อ Header โค้ดแสดงด้านล่าง

- หากคุณสังเกตดีๆ จะเห็นว่า คำว่า Category ถูก hardcode ไว้ หมายถึงมันจะค้นหา Category แล้วแทนที่ด้วย Type
- แต่เนื่องจากเราเปลี่ยนชื่อ Header คอลัมน์ในขั้นตอนหลัง ดังนั้นโค้ดนี้จึงไม่พบ Category ใน Header คอลัมน์ จึงเกิดข้อผิดพลาด
ในบทความนี้ เราจะพยายามกำจัดผลกระทบของชื่อ Header คอลัมน์ในชุดข้อมูลต้นทาง ผู้ใช้จะมีอิสระเลือกชื่อ Header ใน Power Query แม้จะมีการเปลี่ยนแปลงชื่อ Header คอลัมน์ ก็จะไม่มีข้อผิดพลาดอีก
การจัดการตารางที่มี Header เปลี่ยนแปลงใน Power Query: ด้วยขั้นตอนเร็ว
เราอภิปรายอย่างละเอียดว่าจะหลีกเลี่ยงคำเตือนที่กล่าวมาข้างต้นได้อย่างไร คำเตือนนี้ป้องกันไม่ให้เราอัปเดตแหล่งข้อมูลต้นทาง ตามบทความนี้ คุณสามารถอัปเดตชุดข้อมูลของคุณด้วย Header คอลัมน์ที่คุณเลือกได้
ขั้นตอนที่ 1: สร้างตาราง Power Query
ก่อนที่เราจะเจาะลึกแก้ปัญหา เราต้องสร้างตาราง Power Query ก่อน
- ก่อนอื่น เราต้องสร้างตาราง Power Query ใหม่จากชุดข้อมูล
- ทำได้โดย เริ่มต้นเลือกช่วงเซลล์ B4:F23 แล้วจากแท็บ Data คลิก From Table/Range
- ทันทีหลังคลิก From Table/Range คุณจะสังเกตว่ามีหน้าต่างใหม่พร้อมตาราง Power Query
- ตาราง Power Query นั้น มี Header คอลัมน์เหมือนแหล่งข้อมูลต้นทางทุกประการ
- และ M code ก็มองเห็นได้บนแถบด้านบน

ขั้นตอนที่ 2: เปลี่ยนชื่อ Header และโหลดตาราง
ตอนนี้เราจะเปลี่ยนชื่อ Header และโหลดตารางในแผ่นใหม่
- ตอนนี้เราดับเบิลคลิกที่ Header คอลัมน์ Category และในหน้าต่างแก้ไข ใส่ “Type”
- ในเวลาเดียวกัน คุณจะสังเกตว่า M code ก็เปลี่ยนไปด้วย
- M code ที่นี่ หมายถึง มันจะค้นหาคำว่า Category ใน Header คอลัมน์ แล้วแทนที่ด้วย Type
- กระบวนการทั้งหมดนี้ถูกบันทึกในขั้นตอนด้วย คุณสามารถสังเกตได้ใน Renamed Columns

- จากนั้นคลิก Close and Load ในแท็บ Home

- หลังจากสักพัก คุณจะสังเกตว่า Power Query table ของคุณโหลดลงในแผ่นใหม่แล้ว พร้อมชื่อ Header ที่เปลี่ยนแล้ว

ขั้นตอนที่ 3: 降级 顶行并重命名第一行
เราได้อภิปรายแล้วว่าจะเกิดอะไรขึ้น หากเราลองเปลี่ยนชื่อ Header ในแหล่งต้นทาง แล้วลอง Refresh ตาราง Power Query จะคืนค่าข้อผิดพลาด
- ป้อน Type แทน Category ในชุดข้อมูลต้นทาง
- จากนั้นลอง Refresh ตารางจาก Power Query จากคำสั่ง Refresh ในแท็บ Query

- จะมีหน้าต่างคำเตือนโผล่ขึ้นมา
- คลิก OK

- เพื่อหลีกเลี่ยง เราจะ降级 (Demote) แถวบนสุดของตาราง
- คลิกที่ตาราง และจากหน้าต่าง Queries and Connections จะมีเครื่องหมายเตือน
- คลิกขวาที่เครื่องหมายเตือนนั้น แล้วคลิก Edit

- จากนั้นคุณจะถูกนำไปสู่ตาราง Power Query อีกครั้ง และเห็นกล่องสีเหลืองระบุปัญหา
- ทางด้านขวาของหน้าต่าง APPLIED STEPS คลิกที่ Source

- จากนั้นในข้อมูลต้นทาง Power Query หลัก ไปที่แท็บ Transform > Use First Row as Headers
- จากเมนูดรอปดาวน์ คลิก Use Headers as First Row

- จะมีกล่องคำเตือน Insert Step ในหน้าต่างนั้น คลิก Insert

- จากนั้นคุณจะสังเกตว่าแถวบนสุดเลื่อนลงมา

- จากนั้นดับเบิลคลิกที่ Header คอลัมน์แต่ละอัน เช่น Column 1, Column 2, …etc.
- แล้วเปลี่ยนชื่อให้ตรงกับแหล่งข้อมูลหลักพอดี

- ตอนนี้ เนื่องจากเรามีชื่อ Header คอลัมน์ในแถวบนสุดแล้ว เราไม่ต้องการ Header ในแถวที่สอง
- เพื่อลบแถวเหล่านั้น ไปที่แท็บ Home > Remove Rows
- จากนั้นคลิก Remove Top Rows

- จะมีเครื่องหมายเตือนอีกอัน คลิก Insert

- จากนั้น Header คอลัมน์เก่าๆ หายไปแล้ว
- ลบขั้นตอนอื่นๆ ทั้งหมดใน APPLIED STEPS โดยเฉพาะขั้นตอน Changed Type
- จากนั้น Close and Load Power Query ตามปกติ

ขั้นตอนที่ 4: ตรวจสอบตาราง Power Query ของคุณ
ตอนนี้ เนื่องจากเรา Demote และลบ Header คอลัมน์ผู้ปกครองแล้ว เราสามารถทดสอบได้ว่าคำเตือนจะแสดงอีกหรือไม่

💬 หมายเหตุ
- ที่นี่ เพื่อวัตถุประสงค์ในการสาธิต เราเปลี่ยน Header คอลัมน์เป็น a, b, c, d เพื่อดูว่ามีผลกระทบต่อตารางหรือไม่ ผู้ใช้สามารถเพิ่ม Header คอลัมน์ตามต้องการได้อิสระ
- คุณสามารถ Refresh Power Query table จากแท็บ Data ได้เช่นกัน
- เลือกตาราง Power Query แล้วคลิกคำสั่ง Refresh All
- คุณจะสังเกตเห็นแอนิเมชันโหลดเล็กน้อยบน Queries and Connections
- หลังโหลดเสร็จ คุณจะสังเกตว่าไม่มีเครื่องหมายเตือนอีกต่อไป
- คุณสามารถลองเปลี่ยน Header คอลัมน์ตามต้องการ แล้ว Refresh เพื่อดูผลกระทบ

และนี่คือวิธีที่เราแก้ไขการจัดการตารางที่มี Header เปลี่ยนแปลงใน Power Query เรียบร้อยแล้ว
ดาวน์โหลดไฟล์ฝึกฝน
ดาวน์โหลดไฟล์ฝึกฝนนี้ด้านล่าง
สรุป
ที่นี่ เราเสนอวิธีแก้ปัญหาการจัดการตารางที่มี Header เปลี่ยนแปลงใน Power Query พร้อมคำอธิบายละเอียด
สำหรับปัญหานี้ มีสมุดงานให้ดาวน์โหลดเพื่อให้คุณฝึกฝนวิธีเหล่านี้
歡迎透過留言區提出任何問題或回饋 任何建議都將不勝感激
บทความที่เกี่ยวข้อง
- เปรียบเทียบสองตารางด้วย Power Query ใน Excel
- วิธี Split Column ใน Excel Power Query
<< กลับไปที่ Power Query Examples | Power Query Excel | Learn Excel
รับแบบฝึกหัด Excel ขั้นสูงพร้อมเฉลยฟรี!
