Power Query: Transform ต่อยอด — Merge, Append, Unpivot ให้ข้อมูลรวมกันจบในที่เดียว
1. ทำไมต้อง Transform (ต่อยอด)
จากบทความที่แล้วคุณได้รู้จัก Power Query กันไปแล้ว ทั้งการนำเข้าข้อมูลจากหลายแหล่ง การล้างข้อมูลสกปรกแบบบันทึกขั้นตอนและเล่นซ้ำได้ ตอนนี้ข้อมูลของคุณสะอาดเป็นระเบียบแล้ว แต่ปัญหาต่อไปคือ ข้อมูลมันกระจัดกระจาย ครับ
ลองนึกภาพสถานการณ์จริง: ฝ่ายขายส่งยอดขายมาเป็นไฟล์แยกสาขา แยกเดือน บางเดือนอยู่ในชีตเดียวกันแต่คนละตาราง บางทีบัญชีส่งรายการสินค้ามาให้อีกไฟล์หนึ่ง แล้วคุณต้องเอามาเทียบกับยอดขายว่าสินค้าตัวไหนราคาเท่าไหร่ และบางไฟล์ก็มีข้อมูลแบบคอลัมน์กว้าง เช่น เอาชื่อเดือนเป็นหัวคอลัมน์ไล่จาก ม.ค. ถึง ธ.ค. ซึ่ง PivotTable อ่านแล้วไม่เป็นระเบียบเอาซะเลย
ถ้าทำแบบเดิม คุณก็ต้องเปิดไฟล์มานั่งคัดลอกวางต่อกัน โอกาสพลาดสูง แถมเดือนหน้าต้องมานั่งทำใหม่ทั้งรอบ เพราะขั้นตอนไม่ได้ถูกบันทึกไว้ สูตร VLOOKUP ที่เคยใช้ก็ต้องมานั่งแก้อาร์กิวเมนต์ทุกครั้งที่โครงสร้างไฟล์เปลี่ยน ยิ่งข้อมูลโตมากเท่าไหร่ งานวนเวียนแบบนี้ยิ่งกินเวลามหาศาล
Power Query แก้เรื่องนี้ได้ด้วยเครื่องมือ Transform ระดับกลางที่คนทำงานสายข้อมูลใช้กันแทบทุกวัน นั่นคือ Merge เพื่อรวมตารางแนวนอน Append เพื่อต่อแถวแนวตั้ง และ Unpivot เพื่อพลิกตารางจากคอลัมน์กว้างให้เป็นแถวเรียงยาว ซึ่งเป็นรูปแบบที่ PivotTable กับเครื่องมือวิเคราะห์ทุกตัวรักมาก
อยากให้เปิดไฟล์ตัวอย่าง แล้วลองทำไปพร้อมนะครับ ผมเตรียมข้อมูลยอดขายร้านเครื่องดื่มไว้หลายรูปแบบ ทั้งตารางยอดขายแยกสาขา ตารางราคาสินค้าที่เอาไว้ Merge ตารางกว้างที่เดือนเป็นคอลัมน์เอาไว้ฝึก Unpivot และชีทผลลัพธ์สำเร็จรูปให้คุณเทียบก่อน/หลังได้ชัดเจน เพื่อให้ลอง Transform จริงทุกแบบตามที่ผมจะพาทำในบทความนี้ครับ
ก่อนเริ่ม มาดูข้อมูลที่เราจะใช้กันก่อน มี 3 Tables หรือ 3 Sheets
- SalesBKK: เป็นรายการขายของสาขา BKK แต่จะสังเกตว่ามีแค่รหัสสินค้า ไม่มีชื่อสินค้าและราคาสินค้า
- SalesCNX: เป็นรายการขายของสาขา CNX แต่จะสังเกตว่ามีแค่รหัสสินค้า ไม่มีชื่อสินค้าและราคาสินค้า เหมือน SalesBKK
- ProductPrice: ส่วนชื่อสินค้าและราคาสินค้าจะอยู่ในตารางนี้
โดยถ้าเราอยากรู้ว่าแต่ละรหัสสินค้าคืออะไร? ราคาเท่าไหร่? เราจะต้อง Merge ตาราง SalesBKK และ SalesCNX เข้ากับ ProductPrice ด้วยกัน ไปดูแนวคิดและวิธีการกันเลย
เริ่มจากการที่เราจะต้องนำทั้ง 3 ตารางนี้เข้าไปใน Power Query Editor ก่อน
- คลิกในตารางข้อมูลที่เราต้องการ โดยทำทีละ 1 ตาราง
- ไปที่ Data > Get & Transform Data > From Table/Range
- จะเห็นว่ามีตารางข้อมูลที่เราเลือกอยู่แสดงขึ้นมาใน Power Query Editor แต่ตอนนี้เราจะยังไม่ทำอะไรกับมันนะ
- กดปุ่ม Close & Load
- ถ้ามี Sheet กับ Table ข้อมูลเพิ่มขึ้นมา และเราไม่ต้องการ ตอนนี้ให้ลบชีทนั้น ๆ ออกไปก่อน

ทำ 5 ขั้นตอนนี้ให้ครบทั้ง 3 Tables นะครับ แล้วค่อยจะะทำตามขั้นตอนถัดไปได้
2. Merge — รวมตารางแนวนอน ใช้แทน VLOOKUP ได้
Merge คือการรวมตารางสองตารางเข้าด้วยกันแบบแนวนอน โดยจับคู่แถวจาก คอลัมน์คีย์ (Key) ที่ตรงกัน เหมือนกับที่ VLOOKUP หาค่า แต่ต่างกันตรงที่ทำเป็นภาพ ไม่ต้องพิมพ์สูตร และจับคู่ได้ทั้งสองทิศทาง
ขอยกตัวอย่างโจทย์ที่เจอจริง: คุณมีตารางยอดขายที่มีแต่รหัสสินค้ากับยอดขาย แต่อยากได้ชื่อสินค้าและราคามาแสดงด้วย ซึ่งข้อมูลชื่อกับราคาอยู่ในอีกตารางหนึ่ง แค่นำทั้งสองตารางมา Merge ด้วยคอลัมน์คีย์ที่เป็นรหัสสินค้าก็ได้ตารางสมบูรณ์ในไม่กี่คลิก
เรามาลอง Merge ตาราง ProductPrice เข้ากับตาราง SalesBKK และ SalesCNX กันครับ
กรณีที่เราปิด Power Query Editor และลบชีทเหล่านั้นไปแล้วให้
- ไปที่ Data > Queries & Connections เมื่อคลิกแล้ว และมีตัวเลือกแสดงขึ้นมาทางด้านขวา
- คลิกขวาที่ตาราง SalesBKK และเลือก Edit
- จากนั้นจะมี Power Query Editor แสดงขึ้นมา
- เลือกที่ Merge Queries และตรงหมายเลข 2 ในภาพเลือกเป็น ProductPrice
- คลิกที่คอลัมภ์
รหัสสินค้าของทั้งสองตารางหมายเลข 3 และ 4 ในภาพ - คลิกที่ปุ่ม
OK


แล้วเราจะได้คอลัมน์ ProductPrice ที่และแถวแสดงเป็น Table ขึ้นมา 😦 ซึ่งเราไม่อยากได้แบบนี้หรอก ทำต่อไปครับ
- คลิกที่ปุ่มที่มีไอคอนลูกศรคู่ ↔ ที่คอลัมน์
ProductPriceแล้วติ๊กรหัสสินค้าออก เพราะเรามีในตาราง SalesBKK อยู่แล้ว


จากนั้้นเราจะได้ ชื่อสินค้า และ ราคา/หน่วย จากตาราง ProductPrice มาอยู่ในตาราง SalesBKK แล้ว
ที่เหลือคือทำแบบเดียวกันนี้กับตาราง SalesCNX ลองทำดูนะครับ
ข้อดีเหนือ VLOOKUP ชัด ๆ คือ:
- ไม่ต้องกังวลเลขแถวเลื่อน — VLOOKUP ต้องผูกกับตำแหน่งคอลัมน์ ถ้าแทรกคอลัมน์ใหม่สูตรเพี้ยนทันที แต่ Merge จับคู่ด้วยชื่อคอลัมน์ ไม่มีปัญหานี้
- เลือก Join Kind ได้หมด — ทั้ง Left Outer, Inner, Full Outer, Right Outer ซึ่ง VLOOKUP ทำได้แค่แบบ Left เป็นหลัก
- ดูตัวอย่างก่อนยืนยัน — เห็นผลการจับคู่เป็นภาพก่อนกด OK ว่ามีกี่แถวที่จับคู่ได้ กี่แถวที่ตกหล่น
- จับคู่หลายคอลัมน์พร้อมกันได้ — เช่น จับคู่ทั้งรหัสสินค้าและสาขาพร้อมกัน ซึ่ง VLOOKUP ทำลำบาก
โดยที่ความหมายของ Join Kind แต่ละประเภทจะทำงานแบบในตตารางนี้
| Join Kind | ผลลัพธ์ |
|---|---|
| Left Outer | เก็บแถวทั้งหมดของตารางซ้าย เอาข้อมูลตารางขวามาเติม |
| Right Outer | เก็บแถวทั้งหมดของตารางขวาเป็นหลัก |
| Inner | เฉพาะแถวที่เจอกันทั้งสองฝั่ง |
| Full Outer | รวมแถวทั้งหมดของทั้งสองตาราง |
หลัง Merge เสร็จจะได้คอลัมน์ใหม่ชื่อเดียวกับตารางที่เอามา คลิกที่ปุ่มขยาย (ไอคอนลูกศรคู่) ที่หัวคอลัมน์ แล้วติ๊กเลือกเฉพาะคอลัมน์ที่อยากได้ เช่น ชื่อสินค้า, ราคา/หน่วย ก็จะได้ตารางรวมที่สมบูรณ์พร้อมไปทำ Pivot ต่อ
ถ้าอยากให้ข้อมูลไม่ซ้ำกันหลายรอบ ก็ให้ลองสังเกตตัวเลขตรงหัว Join Kind ก่อนกด OK ครับ ถ้าเห็นจำนวนแถวที่จับคู่ได้น้อยกว่าที่คาด แสดงว่าคอลัมน์คีย์อาจมีค่าซ้ำหรือสะกดต่างกัน ให้กลับไปล้างข้อมูลให้ตรงกันก่อน แล้วค่อย Merge ใหม่
💡 เคล็ดลับ: ใช้ Merge แทน VLOOKUP ในการรวมข้อมูลที่มีคอลัมน์เยอะ ๆ เพราะไม่ต้องมานั่งนับว่าคอลัมน์ที่ต้องการอยู่ช่องที่เท่าไหร่ แล้วไม่พลาดตอนมีคนมาแทรกคอลัมน์กลางตาราง แถมค่าที่ดึงมาก็เป็นข้อมูลนิ่ง ไม่ใช่สูตรที่ต้องคอยระวังไฟล์ต้นทางหาย
3. Append — ต่อแถวรวมหลายตาราง
คนละทิศกับ Merge ครับ Append คือการนำตารางหลาย ๆ อันมาต่อกันในแนวดิ่ง (stack rows) เหมาะกับข้อมูลโครงสร้างเดียวกันแต่แยกกันอยู่ เช่น ยอดขายแต่ละสาขาอยู่คนละชีต หรือยอดขายแต่ละเดือนอยู่คนละไฟล์ แต่ในตัวอย่างของเราเป็นคนละตารางเพื่อให้ง่ายต่อการดาวน์โหลด (File > Create a Copy > Download a Copy) ไปทดลองใช้
ขั้นตอน: ไปที่แท็บ Home แล้วคลิก Append Queries มีสองโหมดให้เลือก:
- Two tables — ต่อสองตาราง ง่ายสุด เหมาะกับงานไว ๆ หรือตารางที่มีแค่สองชุด
- Three or more tables — เลือกมาหลายตารางพร้อมกันทีเดียว เหมาะกับกรณีมี 5-6 สาขา หรือยอดขาย 12 เดือน เพราะไม่ต้องต่อซ้ำทีละคู่ให้เสียเวลา

หากต้องการต่อตาราง 3 ตารางขึ้นไปหน้าตาจะเป็นแบบนี้

แต่ในไฟล์ตัวอย่างผมจะเลือกเป็น Append Queries as New เพื่อสร้างตารางใหม่ขึ้นมาอีกหนึ่งตาราง เวลาคุณเปิดจะได้ไม่สบสน แต่ใครสะดวกใช้ตารางเดิมก็ไม่มีปัญหาอะไรนะครับ
จากนั้นก็เปลี่ยนชื่อให้สื่อความหมายหน่อย จบเลยครับ

เวลาต่อแล้วหัวคอลัมน์ต้องตรงกันครับ Power Query จะจับคอลัมน์ชื่อเดียวกันมาต่อกัน ถ้าตารางไหนมีคอลัมน์ไม่ครบ คอลัมน์ที่ขาดจะกลายเป็นค่า null ให้ไปจัดการทีหลัง
ตัวอย่างที่เจอประจำในงานจริง: แต่ละสาขาส่งไฟล์ยอดขายรายวันมาเป็นชีตแยกกัน พอ Append รวมกันแล้วได้ตารางเดียวหลายพันแถว จากนั้นค่อยเพิ่มคอลัมน์ชื่อสาขา แล้วป้อนเข้าสู่ PivotTable สรุปยอดรวมทั้งเครือในไม่กี่คลิก
อีกเทคนิคที่ผมชอบคือการ Append แล้วเพิ่มคอลัมน์ระบุที่มาทีหลัง เช่น เพิ่มคอลัมน์ สาขา แล้วกรอกชื่อทีละบล็อก หรือใช้ Custom Column เพื่อผูกชื่อสาขาจากชื่อคิวรี ทำให้พอสรุปใน PivotTable ก็แยกสาขาได้ทันที วิธีนี้ช่วยให้เวลาเจอตัวเลขแปลก ๆ เรารู้ทันทีว่ามาจากไฟล์ไหน
จุดสำคัญอีกข้อคือถ้าคุณมีคิวรีที่ต่อข้อมูลเดือนแล้วเดือนเล่า ควรตั้งค่าให้คิวรีรับช่วงข้อมูลใหม่อัตโนมัติ เช่น ใช้ตัวกรองวันที่แบบไดนามิก พอถึงเดือนหน้าแค่กด Refresh ก็ได้ข้อมูลครบโดยไม่ต้องแก้คิวรีเลย
💡 เคล็ดลับ: ใช้ Append ตอนข้อมูลโครงสร้างเหมือนกันแต่ถูกแยกเก็บหลายที่ ถ้าโครงสร้างต่างกัน (เช่น จำนวนคอลัมน์ไม่เท่ากัน) ให้จัดการหัวคอลัมน์ให้ตรงกันก่อน แล้วค่อย Append จะได้ผลลัพธ์ที่สะอาด ไม่มี null เต็มไปหมด
4. Unpivot — ย้ายคอลัมน์เป็นแถว
มาถึงหัวใจของบทความนี้ครับ Unpivot เป็นเครื่องมือที่คนส่วนใหญ่เพิ่งเคยใช้ตอนเจอ Power Query และพอใช้แล้วก็ติดใจ เพราะมันแก้ปมตารางแบบ wide ที่เป็นฝันร้ายของคนทำ Pivot
ตารางแบบ wide คือตารางที่เอาค่าใส่เป็นหัวคอลัมน์ เช่น ยอดขายรายสาขาที่เอาชนิดสินค้ามาเป็นหัวตาราง:
| สาขา | กาแฟเย็น | ชาเขียว | น้ำแร่ | น้ำผลไม้ | น้ำอัดลม |
|---|---|---|---|---|---|
| BKK | 120 | 72 | 120 | 330 | |
| CNX | 280 | 135 | 120 | 144 | 120 |
ตารางแบบนี้ PivotTable วิเคราะห์ลำบากมาก เพราะสินค้ากลายเป็นคอลัมน์แทนที่จะเป็นค่าที่เอาไปจัดกลุ่ม เมื่อไหร่ก็ตามที่อยาก Group ตามเดือน หรือกรองเดือนเดียว ก็ต้องมานั่งทำมือทุกรอบ วิธีแก้คือ Unpivot เพื่อพลิกให้เดือนกลายเป็นแถว กลายเป็นตารางยาว 3 คอลัมน์คือ สาขา, เดือน, ยอดขาย ซึ่งเป็นรูปแบบที่เรียกว่า tidy data ที่เครื่องมือวิเคราะห์ทุกตัวชอบ
วิธีทำ:
- คลิกเลือกคอลัมน์ที่อยากให้ คงอยู่เป็นคอลัมน์ เช่น สาขา
- คลิกขวาแล้วเลือก Unpivot Other Columns — Power Query จะพลิกคอลัมน์ที่เหลือทั้งหมดให้เป็น 2 คอลัมน์ชื่อ Attribute (ชื่อคอลัมน์เดิม) กับ Value (ค่าข้างใน)
- ตั้งชื่อคอลัมน์ใหม่ให้อ่านง่าย เช่น เปลี่ยน Attribute เป็น เดือน และ Value เป็น ยอดขาย
- ถ้าอยากให้เดือนเรียงตามลำดับจริง อย่าลืมตั้งชนิดข้อมูลของคอลัมน์ Value เป็นตัวเลข แล้วค่อยทำ Pivot ต่อ
ถ้าอยากพลิกเฉพาะบางคอลัมน์ก็มีให้เลือกทั้ง Unpivot Columns และ Unpivot Only Selected Columns แล้วแต่สถานการณ์ครับ เช่น ตารางที่มีทั้งคอลัมน์เดือนและคอลัมน์หมายเหตุ อยากพลิกแค่เดือน ก็เลือกเฉพาะคอลัมน์เดือนมาทำ
🔦เทคนิค: ยังจำกันได้ใช่ไหมครับ ถ้าเราไม่โอเคกับที่เราทำไป สามารถคลิกที่เครื่องหมายกากบาท ❌ ของ Power Query ได้นะ คลาย ๆ Undo นั่นแหละครับ
พอได้ตารางยาวแล้ว งานวิเคราะห์จะลื่นขึ้นมาก ลองนึกดูว่าก่อนหน้านี้อยากสรุปยอดขายรายเดือนต้องทำมือกี่ขั้นตอน แต่ตอนนี้แค่สร้าง PivotTable วาง สาขา กับ เดือน ลง Rows แล้ววาง ยอดขาย ลง Values ก็ได้รายงานครบทุกมิติทันที
⚠️ ข้อควรระวัง: ก่อน Unpivot ต้องเช็คว่าชนิดข้อมูลของทุกคอลัมน์ที่พลิกตรงกัน ถ้าบางคอลัมน์เป็นตัวเลข บางคอลัมน์เป็นข้อความ ผลลัพธ์ที่ได้อาจเต็มไปด้วยค่า null หรือข้อความปนตัวเลข ควรตั้งชนิดข้อมูลให้เป็นแบบเดียวกันก่อนเสมอ และอย่าลืมตรวจหัวคอลัมน์ว่าไม่มีคำอธิบายเกินจำเป็นแทรกอยู่
5. Split Column และ Fill Down
อีกสองคำสั่งเล็ก ๆ ที่ช่วยชีวิตได้บ่อย เริ่มจาก Split Column — ใช้แยกเนื้อหาในคอลัมน์เดียวออกเป็นหลายคอลัมน์ โดยแบ่งตามตัวแบ่ง (Delimiter) เช่น เครื่องหมายคอมม่า, ขีด, ช่องว่าง หรือแบ่งตามจำนวนตัวอักษรก็ได้
ตัวอย่าง: คอลัมน์ ชื่อ-นามสกุล ที่เขียนชื่อกับนามสกุลคั่นด้วยช่องว่าง เลือกคอลัมน์แล้วไปที่แท็บ Home > Split Column > By Delimiter เลือกตัวแบ่งเป็นช่องว่าง ก็จะได้คอลัมน์ชื่อกับนามสกุลแยกกันทันที พร้อมนำไปใช้กรองหรือเรียงตามนามสกุลได้ หรือคอลัมน์ที่เขียนเป็นรหัสรูปแบบ 001-2026-กทม ก็แยกออกเป็นสามคอลัมน์ได้ด้วยการแบ่งตามเครื่องหมายขีด
อีกแบบที่ใช้บ่อยคือ Split Column by Number of Characters เหมาะกับข้อมูลความยาวคงที่ เช่น รหัสไปรษณีย์ หรือเลขบัญชีที่อยากแยกช่วง
ส่วน Fill Down ใช้กับกรณีที่ข้อมูลมีการรวมเซลล์หรือเว้นค่าว่างไว้ เช่น ตารางที่คอลัมน์สาขาใส่ค่าแค่แถวแรก แล้วแถวถัด ๆ มาเป็นช่องว่างจนกว่าจะเปลี่ยนสาขา วิธีคือเลือกคอลัมน์นั้น คลิกขวาแล้วเลือก Fill > Down ค่าจากเซลล์บนจะถูกเติมลงมาทั่วทั้งคอลัมน์ ทำให้การทำ Pivot หรือการกรองไม่คลาดเคลื่อน
สองคำสั่งนี้ทำงานคู่กับ Unpivot ได้ดีมากครับ เช่น ตารางกว้างที่หัวคอลัมน์เขียนว่า ม.ค. 2026 ปนกันไปหมด พอ Split Column แยกปีกับเดือนออกจากกันก่อน แล้วค่อย Unpivot ก็จะได้ตารางที่พร้อมวิเคราะห์ขั้นสุด และยังลดงานล้างข้อมูลตอนทำ Pivot ไปได้อีกเยอะ
💡 เคล็ดลับ: เวลาเจอข้อมูลที่กรอกแบบรวมเซลล์หรือเว้นว่าง เพราะความขี้เกียจของคนกรอก (รวมถึงผมด้วยแหละ) ให้ใช้ Fill Down เติมให้ครบก่อนวิเคราะห์เสมอ ไม่งั้น Pivot จะนับข้อมูลตกหล่น แล้วตัวเลขที่ส่งหัวหน้าจะโดนถามเอาได้ “ม.ค. 2026” ปนกันไปหมด พอ Split Column แยกปีกับเดือนออกจากกัน แล้วค่อย Unpivot ก็จะได้ตารางที่พร้อมวิเคราะห์ขั้นสุด
💡 เคล็ดลับ: เวลาเจอข้อมูลที่กรอกแบบรวมเซลล์หรือเว้นว่าง เพราะความขี้เกียจของคนกรอก (รวมถึงผมด้วยแหละ) ให้ใช้ Fill Down เติมให้ครบก่อนวิเคราะห์เสมอ ไม่งั้น Pivot จะนับข้อมูลตกหล่น
6. Custom Column + M language เบื้องต้น
บางครั้งการ Transform สำเร็จรูปยังไม่พอ อยากได้คอลัมน์ใหม่ที่คำนวณเอง เช่น แยกปีจากวันที่ หรือปัดเศษยอดขาย Power Query มีช่องให้เขียนสูตรแบบง่าย ๆ ได้ผ่านคำสั่ง Add Custom Column ที่แท็บ Add Column
สูตรของ Power Query เรียกว่า M language แต่ไม่ต้องตกใจครับ เพราะพื้นฐานที่ใช้บ่อยเขียนง่ายมาก แค่รู้จักฟังก์ชันไม่กี่ตัว:
| ฟังก์ชัน M | หน้าที่ | ตัวอย่าง |
|---|---|---|
| Date.Year | ดึงปีจากวันที่ | = Date.Year([วันที่]) |
| Date.Month | ดึงเดือนจากวันที่ | = Date.Month([วันที่]) |
| Date.MonthName | ดึงชื่อเดือนจากวันที่ | = Date.Month([วันที่]) |
| Text.Combine | ต่อข้อความหลายชิ้น | = Text.Combine({[ชื่อ], [นามสกุล]}, ” “) |
| Number.Round | ปัดเศษตัวเลข | = Number.Round([ยอดขาย], 2) |
| Text.Upper | ทำตัวพิมพ์ใหญ่ | = Text.Upper([สินค้า]) |
รูปแบบคือ ใส่ชื่อคอลัมน์ในวงเล็บเหลี่ยม เช่น [ยอดขาย] และคั่นอาร์กิวเมนต์ด้วยคอมม่าตามตัวอย่างข้างบน แค่พอเขียนได้แบบนี้ ก็ต่อยอดได้อีกเยอะครับ เช่น สร้างคอลัมน์ ปี-เดือน สำหรับ Group ใน Pivot หรือสร้างคอลัมน์ชื่อเต็มจากชื่อกับนามสกุล
💡 เคล็ดลับ: ยังจำสูตร M ไม่ได้ไม่เป็นไรครับ พิมพ์ชื่อฟังก์ชันในช่อง Custom Column แล้วมีคำแนะนำฟังก์ชันโผล่ขึ้นมาให้เลือก เหมือนตอนพิมพ์สูตรใน Excel เลย พอเขียนไปเรื่อย ๆ จะเริ่มคล่องเอง
7. สร้าง Query หลายตัวและอ้างอิงกัน
พอข้อมูลเริ่มซับซ้อน คุณจะอยากได้คิวรีหลายตัวจากข้อมูลชุดเดียวกัน เช่น คิวรีรวมยอดขายทั้งหมด คิวรีเฉพาะสาขากรุงเทพ และคิวรีราคาสินค้า Power Query รองรับการสร้างคิวรีหลายตัวและอ้างอิงกันได้ครับ
- Duplicate Query — คลิกขวาที่คิวรีแล้วเลือก Duplicate ได้สำเนาแยกต่างหาก เหมาะกับอยากได้เวอร์ชันใหม่โดยไม่แตะคิวรีเดิม
- Reference — คลิกขวาแล้วเลือก Reference จะได้คิวรีใหม่ที่ อ้างอิง ผลลัพธ์ของคิวรีเดิม ถ้าแก้คิวรีต้นทาง คิวรีที่อ้างอิงก็อัปเดตตาม เหมาะกับการสร้างมุมมองหลายแบบจากข้อมูลชุดเดียว
เวลาคิวรีเยอะขึ้น ให้จัดกลุ่มได้ครับ ด้วยการคลิกขวาที่คิวรีแล้วเลือก Move to Group สร้างกลุ่มใหม่ เช่น กลุ่ม “ดิบ” กับกลุ่ม “รายงาน” เพื่อให้หน้าต่าง Query ด้านซ้ายเป็นระเบียบ โดยเฉพาะเวลาทำแดชบอร์ดเล็ก ๆ ที่มีคิวรีหลายสิบตัว การจัดกลุ่มช่วยให้หางานได้ไวมาก
แนวทางที่ผมใช้ประจำ: เก็บคิวรีต้นทางที่ยังไม่แตะไว้เป็น “ชั้นข้อมูลดิบ” แล้วสร้างคิวรี Reference ต่อยอดเป็น “ชั้นรายงาน” ทีละชั้น พอข้อมูลต้นทางเปลี่ยน แค่กด Refresh ทั้งหมด ทุกชั้นก็อัปเดตต่อกันเป็นลูกโซ่ครับ
8. สรุป — เริ่มต้นง่าย ๆ ด้วย 3 ทักษะหลัก
วันนี้คุณได้รู้จักทักษะ Transform ต่อยอด 3 อย่างที่ใช้บ่อยที่สุดในงานข้อมูลจริง:
- Merge — รวมตารางแนวนอนด้วยคอลัมน์คีย์ ใช้แทน VLOOKUP ได้ไม่ปวดหัวกับเลขแถว
- Append — ต่อแถวตารางหลาย ๆ อันให้เป็นตารางเดียว เหมาะกับข้อมูลแยกสาขา/แยกเดือน
- Unpivot — พลิกตารางคอลัมน์กว้างให้เป็นแถวยาว พร้อมป้อนเข้าสู่ PivotTable
ที่เหลืออย่าง Split Column, Fill Down, Custom Column และการ Reference Query เป็นตัวช่วยให้งานคล่องตัวขึ้นอีกขั้น และที่สำคัญที่สุดคือทุกขั้นตอนถูกบันทึกเป็น Applied Steps ทำให้เดือนหน้าได้ไฟล์ใหม่แค่กด Refresh ทุกอย่างก็เกิดซ้ำให้อัตโนมัติ
ลองเปิดไฟล์ตัวอย่าง แล้วก็ทำตามที่ผมสอนในบทความนี้ดูครับ เริ่มจาก Append รวมยอดขายแต่ละสาขาให้เป็นตารางเดียว แล้วลอง Merge กับตารางราคาสินค้า ปิดท้ายด้วย Unpivot ตารางยอดขายรายเดือนให้เป็นแถวยาว แล้วเอาไปต่อยอดกับ PivotTable ที่เราเรียนกันมา รับรองว่าพอชินแล้วคุณจะไม่อยากกลับไปนั่งคัดลอก (Copy) วางข้อมูลด้วยมืออีกเลยครับ