Thep Excel

RELATED – ดึงข้อมูลจากตารางที่เกี่ยวข้อง (VLOOKUP ของ DAX)

ดึงข้อมูลจากตาราง Master ที่มีความสัมพันธ์กัน (เหมือน VLOOKUP แบบอัตโนมัติ)

RELATED คืนค่าจากคอลัมน์ในตารางที่เกี่ยวข้อง (Related Table) โดยอาศัยความสัมพันธ์ที่มีอยู่ใน Data Model เหมาะสำหรับการดึงข้อมูล Master Data (เช่น ชื่อสินค้า, ราคาต้นทุน) ลงมาในตาราง Transaction (เช่น ยอดขาย) เพื่อใช้ในการคำนวณต่อ

=RELATED(ColumnName)

By ThepExcel AI Agent
1 December 2025

Syntax & Arguments

=RELATED(ColumnName)

Argument Type Required Default Description
ColumnName column Yes ชื่อคอลัมน์ที่ต้องการดึงข้อมูล (ต้องเป็นคอลัมน์จากตารางฝั่ง ‘One’ ของความสัมพันธ์)

How it works

การเพิ่มรายละเอียดในตาราง Fact

สร้าง Calculated Column ในตาราง Sales เพื่อแสดงชื่อสินค้าหรือหมวดหมู่จากตาราง Product

การคำนวณต้นทุนขาย (COGS)

ใช้ใน SUMX เพื่อคูณจำนวนสินค้า (Sales[Quantity]) กับต้นทุนต่อหน่วย (Product[Cost]) ที่อยู่ในตารางอื่น

การกรองข้อมูลข้ามตาราง

ใช้ภายใน FILTER เพื่อกรองตาราง Sales โดยใช้เงื่อนไขจากตาราง Product (เช่น กรองเฉพาะสินค้าสีแดง)

Examples

ตัวอย่างที่ 1: ดึงชื่อสินค้ามาใส่ในตารางยอดขาย

สร้าง Calculated Column ในตาราง Sales โดยระบบจะวิ่งไปหา ProductName จากตาราง Product ที่มี ID ตรงกันให้เองอัตโนมัติ
DAX Formula:

Product Name = RELATED('Product'[ProductName])

Result:

ชื่อสินค้าที่ตรงกับ ProductID ในแถวนั้น

ตัวอย่างที่ 2: คำนวณยอดขายรวม (Quantity x Price)

ใช้ SUMX วนลูปตาราง Sales ทีละแถว และใช้ RELATED ดึงราคา (UnitPrice) จากตาราง Product มาคูณกับจำนวน (Quantity) ในตาราง Sales ก่อนจะรวมผลลัพธ์ทั้งหมด
DAX Formula:

Total Sales = SUMX( Sales, Sales[Quantity] * RELATED('Product'[UnitPrice]) )

Result:

ผลรวมของ (จำนวนขาย x ราคาต่อหน่วย)

ตัวอย่างที่ 3: กรองตารางด้วยเงื่อนไขจากตารางอื่น

ใช้ RELATED ภายใน FILTER เพื่อเข้าถึงคอลัมน์ Category ในตาราง Product สำหรับตรวจสอบเงื่อนไข
DAX Formula:

High Value Sales = COUNTROWS( FILTER( Sales, RELATED('Product'[Category]) = "High Value" ) )

Result:

จำนวนแถวการขายของสินค้ากลุ่ม High Value

FAQs

RELATED ต่างจาก RELATEDTABLE อย่างไร?

RELATED ดึง ‘ค่าเดียว’ จากตารางฝั่ง One (Many-to-One) ส่วน RELATEDTABLE ดึง ‘ตาราง’ หรือหลายแถวจากตารางฝั่ง Many (One-to-Many)

ทำไมใช้ RELATED แล้วไม่เจอคอลัมน์ที่ต้องการ?

มักเกิดจาก 2 สาเหตุ: 1. ยังไม่ได้สร้าง Relationship ระหว่างตาราง 2. ทิศทางความสัมพันธ์ไม่ถูกต้อง (RELATED ใช้งานได้เฉพาะฝั่ง Many วิ่งไปหาฝั่ง One เท่านั้น)

Resources & Related

Additional Notes

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

ข้อกำหนดสำคัญ

ฟังก์ชัน RELATED จะทำงานได้ก็ต่อเมื่อ:

  • มี Relationship ระหว่างตารางแล้ว
  • ตารางที่คุณกำลังเขียนสูตร (Current Table) อยู่ฝั่ง Many และตารางที่ไปดึงข้อมูลมา (Target Table) อยู่ฝั่ง One (Many-to-One)
  • มักใช้ใน Calculated Column หรือฟังก์ชัน Iterator (เช่น SUMX, FILTER) ที่มี Row Context

Leave a Reply

Your email address will not be published. Required fields are marked *