การทำ PivotTable จากหลายตารางนั้น ทำได้หลายวิธี แต่ละวิธีก็มีข้อดีข้อเสีย-ข้อจำกัดต่างกันดังนี้ครับ มาดูรายละเอียดกันดีกว่า Show
สารบัญ
วิธีที่ 1 : ใช้ Data Model & PowerPivotวิธีนี้เป็นการสร้าง PivotTable จากข้อมูลหลายตารางที่มีความสัมพันธ์กัน (เรียกว่า Data Model) ซึ่งเป็น Concept เดียวกับโปรแกรม Power BI เลยครับ หากใช้วิธีนี้เราก็จะสามารถสร้าง Pivot Table แล้วเลือก Field ข้ามตารางได้ โดยที่ไม่จำเป็นต้องเอาข้อมูลมารวมเป็นตารางเดียวกันเลยด้วยซ้ำ อย่างไรก็ตามวิธีนี้จะไม่สามารถเอาตารางมาต่อแถวกันได้นะครับ นอกจานี้ วิธีนี้ต้องใช้ Excel version 2013 ขึ้นไปครับ และถ้าจะให้ดีควรจะ Enable Add-in Power Pivot ซะก่อนจึงจะใช้งานได้สะดวก ซึ่งทำตามดังนี้ แล้วเลือก PowerPivot Add-in ซะตามรูป จากนั้นเราจะต้องเอาตารางแต่ละอัน Add เข้า Data Model ซะก่อน เช่น มีทั้งหมด 3 ตาราง เช่น เราต้องเอาตารางเข้า Data Model โดยเลือกข้อมูล แล้วแปลงแต่ละตารางให้เป็น Table โดย Insert -> Table ซะก่อน แล้วค่อยกด Add To Data Model จากนั้นมันจะเอาข้อมูลเข้าสู่หน้าต่างของ PowerPivot จากนั้นให้กด Switch to workbook เพื่อกลับออกมาใน Excel แล้วกด Add To Data Model ให้ครบทุกตารางที่มีความสัมพันธ์กัน พอ add เข้าไปหลายตาราง ในหน้า Power Pivot จะมีหลายชีทด้วย จากนั้นให้กดดู Diagram View เพื่อผูกความสัมพันธ์ตารางต่างๆ เข้าด้วยกัน เราจะเห็นตารางแยกกันอยู่ ให้เรากำหนด Relationship โดยลากเส้นเชื่อมว่า field ไหนคือตัวที่เชื่อมความสัมพันธ์ระหว่างแต่ละตารางเข้าด้วยกัน (จะลากจากไหนไปไหนก็ได้) ทำให้ครบจะได้แบบนี้ จากนั้นก็กดสร้าง PivotTable ได้แล้ว เราก็จะสามารถใช้ PivotTable Model Data Model แล้วยังสามารถลาก Field ข้ามตารางได้เลย โดยไม่ต้องเอาข้อมูลมารวมกันเป็นตารางเดียวกันอีก สำหรับรายละเอียดว่า Concept ของ Data Model ทำงานยังไง ให้ไปอ่านใน Series Power BI ได้ครับ หมายเหตุ : นอกจากวิธีนี้ เรายังกดสร้าง PivotTable โดยใช้ Data Model แบบไม่เปิด PowerPivot ก็ได้ โดยกดสร้าง PivotTable จากตารางโดยตรง แล้วติ๊ก Add to Data Model แต่ข้อเสียของวิธีนี้ก็คือการกำหนด Relationship จะทำยากกว่า (เพราะไม่เห็นภาพ) โดยต้องใช้เมนูนี้ วิธีที่ 2 : ใช้ Power Query (เหมาะกับ Excel 2013 ขึ้นไป)การใช้ Power Query นั้นสามารถทำได้ 2 ลักษณะ คือ 2.1 เตรียมตารางแยกหลายๆ ตารางที่มีความสัมพันธ์กัน แล้วส่งเข้าสู่ Data Modelถ้าใช้แบบนี้ ก็เป็นการใช้ Power Query แค่จัดหน้าตาข้อมูลให้เหมาะสมเท่านั้น เพิ่มเติมแค่ตอนกด Close & Load To… ให้เลือกเป็น Connection Only (เพราะเราจะไม่ Load ผลลัพธ์ออกมาใน Excel ปกติ) แต่ให้ติ๊กเลือกว่า Add to Data Model เพื่อให้มันส่งผลลัพธ์เข้า Data Model เท่านั้นเอง 2.2 รวมข้อมูลทั้งหมดให้อยู่ในตารางเดียวกันก่อน แล้วค่อยส่งเข้า Pivot Table แบบปกติคำว่ารวมให้อยู่ในตารางเดียว จริงๆ แล้วก็มี 2 แบบใหญ่ๆ นั่นคือ รวมคอลัมน์ กับ รวมแถว
จากนั้นค่อยส่งผลลัพธ์ที่รวมตารางเสร็จแล้วเข้าสู่ Pivot Table อีกทีครับ Append เพื่อรวมตารางแบบเพิ่มแถววิธี Append ก็ให้สร้าง Query 2 ตารางขึ้นมาก่อน ตารางไหนยังไม่เอาผลลัพธ์ออกมาก็ทำแบบ Connection Only ไว้ เช่น อาจทำให้เป็น Connection Only ทั้งคู่เลย แล้วกดคลิ๊กขวาที่ Query ตัวแรก แล้วเลือก Append กับ Query ตัวอื่นๆ แล้วเราก็จะได้ Query ใหม่ ที่เป็นผลลัพธ์จากการ Append 2 ตารางเข้าด้วยกัน (เอามาต่อแถวกัน) จากนั้นก็เอาผลลัพธ์ออกไปใช้ใน Pivot Table ได้ ถ้ามีหลายตารางที่มีความสัมพันธ์กันจะติ๊ก Add this Data to the Data Model ด้วยก็ได้ Merge เพื่อรวมตารางแบบเพิ่มคอลัมน์การจะ Merge ก็ให้สร้าง Query 2 ตารางขึ้นมาก่อน ตารางไหนยังไม่เอาผลลัพธ์ออกมาก็ทำแบบ Connection Only ไว้ จากนั้นกดที่ Query แรกแล้วคลิ๊กขวาเลือก Merge กับ Query ตัวที่สอง ที่สำคัญคือต้องเลือกด้วยว่าคอลัมน์ไหนคือตัวเชื่อมกัน และเลือก JoinKind ด้วย ซึ่งปกติก็จะเป็น Left Outer Join แบบนี้แหละ ok ได้เลย ผลลัพธ์จะออกมาเป็น Table ก่อน ให้เราคลิ๊กที่มุมขวาบนของคอลัมน์เพื่อ Expand เอาข้อมูลออกมา แล้วเราก็จะได้ผลลัพธ์คล้ายๆ กับ VLOOKUP เลย (แต่ถ้าตารางอ้างอิงมีหลายบรรทัด มันจะมาทุกบรรทัดนะ ต่างจาก VLOOKUP ที่จะมาแค่อันบนสุด) จากนั้นก็ Load เอาผลลัพธ์เข้า Pivot Table ได้เลย วิธีที่ 3 : ใช้ Microsoft Queryวิธีสร้าง PivotTable จากข้อมูลหลายตารางด้วย Microsoft Query เหมาะกับคนที่ไม่มี Power Query ให้ใช้ เช่นคนที่มี Excel Version เก่ามากๆ นั่นเองครับ วิธีการทำมีดังนี้
วิธีการใช้ Microsoft Query นี้ สามารถนำมาประยุกต์ได้เยอะแยะ เช่น มี 2 ตารางแยกกันอยู่ อยากเอามาผูกกันโดยไม่ต้องใช้ VLOOKUP ก็ยังได้เลยครับ โดยมีทั้งแบบลากเส้นเชื่อมเองใน Editor หรือจะเขียน SQL เอง ก็ได้ (ภาษา SQL ทำได้แทบทุกอย่าง แต่อาจต้องศึกษาเยอะหน่อย) วิธีที่ 4 : ใช้ Multiple Consolidation Ranges (PivotTable Wizard เหมาะกับ Excel เก่า)วิธีสร้าง PivotTable จากข้อมูลหลายตารางด้วยตัวเลือก Multiple Consolidation Ranges ในคำสั่ง PivotTable Wizard เป็นวิธีที่มีข้อจำกัดมากที่สุด ผมจึงไม่แนะนำครับ แค่จะเอาให้ดูเฉยๆ ว่าในอดีตมันทำแบบนี้ได้ วิธีทำแบบสั้นๆกด Alt, D, P เพื่อเรียก PivotTable Wizard แล้วเลือก Multiple Consolidation Ranges เพื่อความง่ายเลือก Create a single page field for me ไปเลยก็ได้ครับ เลือก Range ที่ต้องการ แล้วกด Add โดยทำทีละ source พอเสร็จแล้วก็กด Next จนจบกระบวนการ คุณจะได้ PivotTable หน้าตาประหลาดมา 1 อัน ดังนี้ ผลลัพธ์ที่ได้ มีข้อจำกัดดังนี้
วิธีปรับแต่ง Data Source เพื่อทำให้แสดงผลดีขึ้นภายใต้ข้อจำกัดที่มี
ผมลองทำแล้ว ก็พอจะได้ผลลัพธ์ที่ ok ขึ้น ดังนี้ (ผมแยกแต่ละชีทเป็นคนละเดือน ดังนั้นเลยเอา Page1 มาใส่เป็นเดือนได้) สรุปแล้วจะเห็นว่าวิธี Multiple Consolidation Ranges นั้นมีข้อจำกัดมากเลยนะครับ เห็นมะ อย่าใช้เลย 555 เพื่อนๆ ชอบแบบไหน หรือผสมแบบไหนดี?ส่วนตัวผมชอบใช้ Power Query จัดข้อมูลให้เรียบร้อยก่อน แล้วค่อยส่งเข้า Data Model ไปทำต่อครับ พูดง่ายๆ คือ Step เหมือน Power BI เป๊ะเลย |