PowerPivot data model bye vlookup

การใช้ Excel Power Pivot ตอนที่ 3 : ลาก่อน VLOOKUP สวัสดี Data Model

ในตอนนี้เราจะมาเรียนรู้เรื่องของการผูก Data Model ซึ่งก็คือการทำให้ข้อมูลหลายๆ ตารางมาผูกความสัมพันธ์กัน (Relationship) รวมกันเป็นสิ่งที่เรียกว่า Data Model ซึ่งจะช่วยให้เราสามารถดึงข้อมูลจากตารางอื่นมาใช้ Pivot ร่วมกับตารางหลักได้อย่างสบายๆ ไม่ต้องใช้ VLOOKUP อีกต่อไป

เอาข้อมูลแต่ละตารางเข้าสู่ Data Model

แนวทางที่ผมอยากแนะนำคือ ให้แปลงข้อมูลเป็น Table ก่อน แล้วตั้งชื่อ Table ซะ แล้วค่อย Add เข้า Data Model ครับ เราจะมาทำทีละตารางกัน (ตารางหลักเราทำไปแล้ว)

เริ่มจากการ Convert เป็น Table (Ctrl+T) และ ตั้งชื่อ Table ซึ่งผมตั้งว่า SalesBio

การใช้ Excel Power Pivot ตอนที่ 3 : ลาก่อน VLOOKUP สวัสดี Data Model 1

Convert และตั้งชื่อให้ครบทุกตารางเลยนะครับ (ยกเว้นตาราง Commission ซึ่งยังยากไปขอข้ามไปก่อน) ตารางอื่นๆ ผมตั้งชื่อดังนี้

  • CustomerCountry
  • ProductCost

พอตั้งชื่อครบทุกตารางแล้ว ก็ไปที่ Ribbon PowerPivot แล้วกด Add to Data Model ซะ

การใช้ Excel Power Pivot ตอนที่ 3 : ลาก่อน VLOOKUP สวัสดี Data Model 2

มันจะเปิดหน้าต่าง PowePivot ขึ้นมา และทำการ Add ตารางที่เราเลือกเข้าไป (ในขณะที่ตาราง TXData อยู่อีก tab นึงทางด้านซ้าย)

การใช้ Excel Power Pivot ตอนที่ 3 : ลาก่อน VLOOKUP สวัสดี Data Model 3

ให้เรากดปุ่มรูป Excel เพื่อ Switch to Workbook กลับมายัง Excel ปกติ

การใช้ Excel Power Pivot ตอนที่ 3 : ลาก่อน VLOOKUP สวัสดี Data Model 4

จากนั้นก็มา Add ตารางอื่นต่อจนครบ

การใช้ Excel Power Pivot ตอนที่ 3 : ลาก่อน VLOOKUP สวัสดี Data Model 5

Tips : จริงๆ แล้วเราสามารถ Add ตารางเข้า Data Model ผ่าน Power Query ก็ได้นะ (ตอน Close & Load to… จะมีให้ติ๊ก) ซึ่งการเอาข้อมูลเข้า Data Model จะไม่ได้ถูกจำกัดจำนวนแถวที่ล้านกว่าแถวเหมือน Excel นะ (เช่น Get Data มาจาก Source อื่นที่มีหลายล้านบรรทัด) แต่เผื่อบางคนยังไม่รู้จัก Power Query ผมยังไม่พูดถึงรายละเอียดละกัน

สรุปว่าตอนนี้ผมมี 4 ตารางครบแล้วนะ

การใช้ Excel Power Pivot ตอนที่ 3 : ลาก่อน VLOOKUP สวัสดี Data Model 6

ผูก Relationship ให้ Data Model

เมื่อเอาข้อมูลเข้าไปครบแล้ว เราจะไปผูก Relationship ให้กับ Data Model กัน โดยไปที่ Home -> Diagram View

การใช้ Excel Power Pivot ตอนที่ 3 : ลาก่อน VLOOKUP สวัสดี Data Model 7

จากนั้นให้เราจัดเรียงตารางหลักให้อยู่ตรงกลาง (จะได้ดูง่ายๆ) แล้วลากความสัมพันธ์เชื่อมแต่ละตารางเข้าด้วยกัน ผ่าน Field ที่เป็นตัวเชื่อม เช่น TXData กับ SalesBio จะเชื่อมกันด้วย “ผู้ขาย” (จะเริ่มการลากจากตารางไหนก็ได้)

การใช้ Excel Power Pivot ตอนที่ 3 : ลาก่อน VLOOKUP สวัสดี Data Model 8

จะได้ผลลัพธ์ดังนี้ ซึ่งมีเลข 1 กับ * โผล่มาที่เส้นของ Relationship

การใช้ Excel Power Pivot ตอนที่ 3 : ลาก่อน VLOOKUP สวัสดี Data Model 9
  • เลข 1 (one) หมายถึง Field ตัวเชื่อมในฝั่งตารางนั้น มีค่าไม่ซ้ำกัน (แต่ละค่ามีตัวเดียว)
    • เราจะเรียกตารางฝั่งที่เป็นเลข 1 ว่าตาราง Dimension Table (หรือตารางอ้างอิง)
  • สัญลักษณ์ * (many) หมายถึง Field ตัวเชื่อมในฝั่งตารางนั้น มีค่าซ้ำกันได้ (แต่ละค่ามีหลายตัว)
    • เราจะเรียกตารางฝั่งที่เป็นเลข 1 ว่าตาราง Fact Table (หรือตารางหลัก ที่เก็บ Transaction จริงๆ ไว้)

ดังนั้นความสัมพันธ์ระหว่าง SalesBio กับ TXData ก็จะเรียกว่า One-to-Many นั่นเองครับ (ถ้ามองอีกทิศก็เป็น Many-to-One)

หมายเหตุ : Data Model ของ Excel จะไม่รองรับแบบ Many-to-Many นะครับ (จะต้องสร้าง Table มาเชื่อมตรงกลางอีกที ถึงจะใช้ได้) แนวทางการทำประมาณนี้

ทีนี้เราก็ลากเชื่อมตารางอ้างอิงทุกอันเข้ากับตารางหลัก ได้ดังนี้

  • ผู้ขาย vs ผู้ขาย
  • สินค้า vs สินค้า
  • ลูกค้า vs customer id (สังเกตว่าชื่อ Field ไม่เหมือนกันก็ได้)
การใช้ Excel Power Pivot ตอนที่ 3 : ลาก่อน VLOOKUP สวัสดี Data Model 10

พอลากเชื่อมหมดแล้ว เราสามารถ Switch กลับไปที่ Excel ของเราที่ทำตาราง Pivot เอาไว้แล้ว และไปดูที่ All เพื่อให้มองเห็นทุกตารางได้

การใช้ Excel Power Pivot ตอนที่ 3 : ลาก่อน VLOOKUP สวัสดี Data Model 11

สมมติผมจะเอาประเทศลูกค้าลงมาวิเคราะห์ร่วมกันกับตารางหลัก ก็สามารถลากลงมาได้เลย โดยไม่ต้อง VLOOKUP มารวมในตารางเดียวกันเหมือนสมัยโบราณอีกต่อไป (เพราะเราเชื่อมความสัมพันธ์ผ่าน Relationship ของ Data Model แล้ว)

การใช้ Excel Power Pivot ตอนที่ 3 : ลาก่อน VLOOKUP สวัสดี Data Model 12

และนี่คือประโยชน์ของการใช้ Data Model ครับ ซึ่งจะช่วยเอาข้อมูลจากหลายๆ ตารางมาวิเคราะห์ร่วมกันได้ ซึ่งคำนวณได้รวดเร็วกว่า VLOOKUP เยอะมาก และรองรับข้อมูลจำนวนมหาศาลได้ด้วย ซึ่ง Concept ของ Data Model ก็แทบจะเหมือนกับใน Power BI เลยล่ะ (แต่ Power BI มีความสามารถมากกว่านิดหน่อย) ใครอยากลงลึกเรื่องนี้ก็ลองไปเล่นใน Power BI ได้นะครับ

ตอนต่อไป

ในบทความนี้จะเป็นแค่ Data Model พื้นฐานเท่านั้น ในตอนต่อไปจะเป็นการอธิบายการทำงานของ Data Model อย่างละเอียดมากขึ้นครับ

สารบัญซีรีส์ Power Pivot

Power BI Workshop 2024 ตุลาคมนี้
อบรม In-House Training

Feedback การใช้งาน AI Chatbot