สมมติว่าเรามีไฟล์ Excel ที่มีตารางอัจฉริยะหลายรายการ:
หากคุณโหลดตารางเหล่านี้ลงใน Power Query ด้วยวิธีมาตรฐานโดยใช้คำสั่ง ข้อมูล – รับข้อมูล – จากไฟล์ – จากหนังสือ (ข้อมูล — รับข้อมูล — จากไฟล์ — จากสมุดงาน), จากนั้นเราจะได้สิ่งนี้:
ฉันคิดว่ารูปภาพนี้คุ้นเคยกับผู้ใช้ Power Query หลายคน ตารางที่ซ้อนกันที่คล้ายกันสามารถเห็นได้หลังจากรวมการสืบค้นข้อมูล (a la VLOOKUP) การจัดกลุ่ม (command จัดกลุ่มตาม แถบ การแปลง) การนำเข้าไฟล์ทั้งหมดจากโฟลเดอร์ที่กำหนด เป็นต้น
ขั้นตอนต่อไปในสถานการณ์นี้คือการขยายตารางที่ซ้อนกันทั้งหมดพร้อมกัน โดยใช้ปุ่มที่มีลูกศรคู่ในส่วนหัวของคอลัมน์ ข้อมูล:
ด้วยเหตุนี้ เราจึงรวบรวมแถวทั้งหมดจากตารางทั้งหมดเป็นตารางเดียว ทุกอย่างดี เรียบง่าย และชัดเจน
ตอนนี้ลองนึกภาพว่ามีการเพิ่มคอลัมน์ใหม่ (ส่วนลด) ในตารางต้นทางและ/หรือหนึ่งในคอลัมน์ที่มีอยู่ (เมือง) ถูกลบ:
จากนั้นคำขอของเราหลังการอัปเดตจะส่งกลับรูปภาพที่ไม่ค่อยสวยงาม – ส่วนลดไม่ปรากฏขึ้น และคอลัมน์เมืองว่างเปล่า แต่ก็ไม่หายไป:
และมันง่ายที่จะดูว่าทำไม - ในแถบสูตร คุณสามารถเห็นได้อย่างชัดเจนว่าชื่อของคอลัมน์ที่ขยายนั้นถูกฮาร์ดโค้ดในอาร์กิวเมนต์ของฟังก์ชัน ตารางExpandTableColumn ตามรายการในวงเล็บปีกกา
การแก้ไขปัญหานี้เป็นเรื่องง่าย อันดับแรก ให้หาชื่อคอลัมน์จากส่วนหัวของตารางใดๆ (เช่น ตารางแรก) โดยใช้ฟังก์ชัน ตาราง ชื่อคอลัมน์. จะมีลักษณะดังนี้:
ที่นี่:
- #”คอลัมน์อื่นถูกลบ” – ชื่อของขั้นตอนก่อนหน้าที่เรานำข้อมูลมาจาก
- 0 {} – จำนวนตารางที่เราแยกส่วนหัว (นับจากศูนย์คือ 0 คือตารางแรก)
- [ข้อมูล] – ชื่อของคอลัมน์ในขั้นตอนก่อนหน้าซึ่งเป็นที่ตั้งของตารางที่ขยายแล้ว
มันยังคงแทนที่โครงสร้างที่ได้รับในแถบสูตรเป็นฟังก์ชัน ตารางExpandTableColumn ในขั้นตอนการขยายตารางแทนรายการแบบฮาร์ดโค้ด ในที่สุดทุกอย่างควรมีลักษณะเช่นนี้:
นั่นคือทั้งหมดที่ และจะไม่มีปัญหากับการขยายตารางที่ซ้อนกันอีกต่อไปเมื่อข้อมูลต้นทางมีการเปลี่ยนแปลง
- การสร้างตารางหลายรูปแบบจากแผ่นงานเดียวใน Power Query
- สร้างตารางด้วยส่วนหัวที่แตกต่างจากไฟล์ Excel หลายไฟล์
- รวบรวมข้อมูลจากหนังสือทุกแผ่นในตารางเดียว