หยุดลบคอลัมน์ใน Power Query: ทำสิ่งนี้แทน
หนึ่งในสิ่งแรกที่ฉันเรียนรู้เกี่ยวกับ Power Query—และกฎที่ฉันยังคงปฏิบัติตามอย่างเคร่งครัดจนถึงวันนี้—คืออย่าเลือกคอลัมน์แล้วลบมัน เพื่อสร้างแดชบอร์ดที่ทนทานอย่างแท้จริง คุณต้องบอกตัวแก้ไขว่าจะเก็บอะไร ไม่ใช่ว่าจะลบอะไร นี่คือเหตุผลที่ว่าทำไมการใช้ 'ลบคอลัมน์อื่น ๆ' จึงเป็นเพื่อนใหม่ที่ดีที่สุดของคุณ
ข้อผิดพลาดส่วนใหญ่ใน Power Query ไม่ใช่บั๊ก แต่เป็นคำสั่งที่ไม่ถูกต้อง
เมื่อเราทำความสะอาดข้อมูลใน Power Query สัญชาตญาณแรกของเราคือการคลิกขวาที่คอลัมน์ขยะแล้วคลิก "ลบคอลัมน์" มันดูเหมือนมีประสิทธิภาพ แต่จริงๆ แล้วมันสร้างกับดักสองอย่างที่จะจับคุณในภายหลัง
สมมติว่าคุณส่งตารางที่มีเก้าคอลัมน์ไปยัง Power Query Editor (ผ่าน Data > From Table/Range) และลบออกหกคอลัมน์โดยการคลิกขวาที่ส่วนหัวแล้วเลือก "Remove Columns" เหลือเพียง Product, Units Sold และ Profit
วันรุ่งขึ้น เพื่อนร่วมงานเพิ่มคอลัมน์บันทึกใหม่ลงในสเปรดชีตต้นฉบับ เนื่องจากคุณบอกเพียง Power Query ให้ลบหกคอลัมน์เดิม คอลัมน์ใหม่ที่ใหญ่โตนี้จึงไหลเข้าสู่แดชบอร์ดของคุณทันทีที่คุณรีเฟรช ทำให้รายงานของคุณรก
หลังจากแก้ไขปัญหานั้นแล้ว คุณรีเฟรชคำสั่งค้นหาของคุณในวันถัดไปและพบข้อความแสดงข้อผิดพลาด นี่เป็นเพราะเพื่อนร่วมงานอีกคนหนึ่งได้เปลี่ยนชื่อคอลัมน์ Department เป็น "Category" ที่ต้นทาง — ซึ่งเป็นคอลัมน์ที่คำสั่งค้นหาของคุณได้รับคำสั่งให้ลบ Power Query ปฏิบัติตามคำสั่งอย่างเคร่งครัด: ถ้าไม่พบคอลัมน์ที่ได้รับคำสั่งให้ลบ มันจะแสดงข้อผิดพลาดและไม่สามารถทำการอัปเดตให้เสร็จสิ้นได้ แดชบอร์ดของคุณจะติดอยู่กับข้อมูลเก่าจนกว่าคุณจะแก้ไขขั้นตอนนั้น
โดยการเปลี่ยนจากการลบคอลัมน์ไปเป็นการกำหนดสิ่งที่ต้องเก็บ คุณจะมั่นใจได้ว่าการค้นหาจะมองหาเฉพาะข้อมูลที่จำเป็นและละเว้นทุกอย่างอื่น
วิธีการกำหนดค่า "รายการอนุญาต" ของข้อมูลของคุณอย่างถูกต้อง
เพื่อหลีกเลี่ยงกับดักเหล่านี้ คุณจำเป็นต้องเปลี่ยนมุมมองของคุณ แทนที่จะระบุว่าควรทิ้งอะไร คุณควรเน้นไปที่ฟิลด์เฉพาะที่รายงานของคุณจำเป็นต้องใช้ ในกรณีนี้ คอลัมน์ที่จำเป็นต้องมีคือ สินค้า, จำนวนที่ขายได้, และกำไร
ใน Power Query Editor ให้กดปุ่ม Ctrl และคลิกที่หัวข้อ "Product," "Units Sold," และ "Profit" จากนั้น คลิกขวาที่หัวข้อใดหัวข้อหนึ่งในสามหัวข้อที่เลือก และคลิก "Remove Other Columns"
ถ้าคุณกำลังทำงานกับชุดข้อมูลขนาดใหญ่ที่มีหลายคอลัมน์ การเลื่อนในแนวนอนพร้อมกับกด Ctrl เป็นเรื่องน่ากลัว แทนที่จะเป็นเช่นนั้น ในแท็บหน้าแรก คลิก "เลือกคอลัมน์" และใช้รายการตรวจสอบที่ปรากฏขึ้นเพื่อติ๊กหัวข้อที่คุณต้องการเก็บไว้
บานหน้าต่างขั้นตอนที่ใช้ทางด้านขวาตอนนี้แสดงขั้นตอนใหม่ที่มีป้ายชื่อว่า ลบคอลัมน์อื่น ๆ และโค้ด M พื้นฐานจะแสดงคอลัมน์ทั้งสามที่คุณต้องการเก็บไว้อย่างชัดเจน:
=Table.SelectColumns(#"Changed Type",{"Product", "Units Sold", "Profit"})
บรรทัดโค้ดเพียงบรรทัดเดียวนี้เปลี่ยนทุกอย่าง แทนที่จะลบคอลัมน์ ฟังก์ชันนั้นจะกำหนดรูปแบบของชุดข้อมูลของคุณอย่างชัดเจน Power Query ตอนนี้รู้แน่นอนว่ารายงานของคุณพึ่งพาอะไร—ไม่มากไปกว่านี้ ไม่ต่ำไปกว่านี้
เมื่อคุณแยกคอลัมน์เหล่านั้นแล้ว ให้คลิกครึ่งบนของปุ่มแบ่ง 'ปิดและโหลด' ที่มุมบนซ้ายของหน้าต่างตัวแก้ไขเพื่อส่งข้อมูลที่ทำความสะอาดแล้วไปยังแผ่นงานใหม่
แม้ว่ารายงานที่ทำความสะอาดแล้วจะดูเหมือนกับตอนที่คุณใช้ขั้นตอนการลบคอลัมน์ แต่รายงานนี้มีความทนทานมากขึ้น เพื่อพิสูจน์เรื่องนี้ ให้เพิ่มคอลัมน์ใหม่ไปยังตารางต้นฉบับของคุณและเปลี่ยนหัวของคอลัมน์หนึ่งที่ไม่ได้อยู่ในรายงานของคุณ จากนั้นไปที่เวิร์กชีตที่มีชุดข้อมูลที่ปรับปรุงแล้วและคลิก "รีเฟรช" ในแท็บคิวรี คุณจะเห็นว่าไม่มีอะไรเปลี่ยนแปลง: Power Query จะละเว้นคอลัมน์ใหม่และหัวคอลัมน์ที่แก้ไข โดยมุ่งเน้นเฉพาะสามคอลัมน์ที่คุณบอกให้เก็บไว้เท่านั้น
เวิร์กโฟลว์นี้ช่วยปรับปรุงประสิทธิภาพและความชัดเจน
นอกจากจะทำให้แดชบอร์ด Excel ของคุณมีความคงทนมากขึ้นแล้ว นิสัยนี้ยังทำให้สมุดงาน Excel ของคุณทำงานได้เร็วขึ้นอย่างมาก การใช้คำสั่งลบคอลัมน์อื่น ๆ (Remove Other Columns) ให้เร็วที่สุดในคำสืบค้นของคุณ จะทำหน้าที่เป็นตัวกรองที่หยุดไม่ให้ข้อมูลที่ไม่จำเป็นไหลผ่านส่วนที่เหลือของคำสืบค้นของคุณ สิ่งนี้จะมีความสำคัญมากยิ่งขึ้นหากคำสืบค้นของคุณส่งออกไปยัง Data Model หรือ PivotTable ซึ่งคอลัมน์ที่ไม่จำเป็นทุกคอลัมน์จะเพิ่มภาระหน่วยความจำ
หากไฟล์ต้นฉบับของคุณเติบโตจาก 10 คอลัมน์เป็น 100 คอลัมน์ ขั้นตอนมาตรฐานในการลบคอลัมน์ที่ปรากฏในภายหลังของคำสั่ง query ของคุณอาจทำให้ Power Query ต้องนำข้อมูลเพิ่มเติมทั้งหมดนั้นผ่านการแปลงก่อนหน้านี้ก่อนที่จะลบออกในที่สุด อย่างไรก็ตาม การใช้การลบคอลัมน์อื่น (Remove Other Columns) จะช่วยแยกเฉพาะฟิลด์ที่คุณต้องการตั้งแต่เริ่มต้น ซึ่งจะลดการใช้หน่วยความจำและสามารถปรับปรุงประสิทธิภาพการรีเฟรชได้อย่างชัดเจน โดยเฉพาะเมื่อทำงานกับตาราง Excel ขนาดใหญ่หรือคำสั่ง query ที่ไม่รองรับการพับ query
วิธีการนี้ยังทำให้ผลงานของคุณสามารถบันทึกตัวเองได้ ผู้ใดก็ตามที่ตรวจสอบขั้นตอนที่คุณใช้สามารถเลือกขั้นตอนแรกนั้นและดูได้อย่างชัดเจนว่าแต่ละคอลัมน์ที่รายงานทั้งหมดพึ่งพา อนึ่งหกเดือนจากนี้ เมื่อคุณกลับมาดูแฟ้มงานอีกครั้ง คุณจะไม่จำเป็นต้องย้อนรอยตรรกะของคุณเอง—คอลัมน์ที่จำเป็นถูกระบุไว้อย่างชัดเจนในขั้นตอนเดียวที่เรียบร้อย
โดยการเลือกสิ่งที่ต้องเก็บแทนที่จะเป็นสิ่งที่จะทิ้ง คุณกำลังเพิ่มหนึ่งในหลาย ๆ กระบวนการทำงานของ Power Query ที่ต้องรู้ลงในเครื่องมือของคุณ คุณไม่เพียงแต่กำลังสร้างแดชบอร์ดที่ไม่พังเมื่อใครบางคนปรับเปลี่ยนสเปรดชีต แต่คุณยังทำให้สมุดงานของคุณเรียบง่ายและมีประสิทธิภาพเมื่อมันเติบโตขึ้นด้วย





