ตัวอย่างที่ 1: ดึงชื่อสินค้ามาใส่ในตารางยอดขาย
Product Name = RELATED('Product'[ProductName])
ชื่อสินค้าที่ตรงกับ ProductID ในแถวนั้น
ดึงข้อมูลจากตาราง Master ที่มีความสัมพันธ์กัน (เหมือน VLOOKUP แบบอัตโนมัติ)
RELATED คืนค่าจากคอลัมน์ในตารางที่เกี่ยวข้อง (Related Table) โดยอาศัยความสัมพันธ์ที่มีอยู่ใน Data Model เหมาะสำหรับการดึงข้อมูล Master Data (เช่น ชื่อสินค้า, ราคาต้นทุน) ลงมาในตาราง Transaction (เช่น ยอดขาย) เพื่อใช้ในการคำนวณต่อ
=RELATED(ColumnName)
=RELATED(ColumnName)
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| ColumnName | column | Yes | ชื่อคอลัมน์ที่ต้องการดึงข้อมูล (ต้องเป็นคอลัมน์จากตารางฝั่ง ‘One’ ของความสัมพันธ์) |
สร้าง Calculated Column ในตาราง Sales เพื่อแสดงชื่อสินค้าหรือหมวดหมู่จากตาราง Product
ใช้ใน SUMX เพื่อคูณจำนวนสินค้า (Sales[Quantity]) กับต้นทุนต่อหน่วย (Product[Cost]) ที่อยู่ในตารางอื่น
ใช้ภายใน FILTER เพื่อกรองตาราง Sales โดยใช้เงื่อนไขจากตาราง Product (เช่น กรองเฉพาะสินค้าสีแดง)
Product Name = RELATED('Product'[ProductName])
ชื่อสินค้าที่ตรงกับ ProductID ในแถวนั้น
Total Sales = SUMX( Sales, Sales[Quantity] * RELATED('Product'[UnitPrice]) )
ผลรวมของ (จำนวนขาย x ราคาต่อหน่วย)
High Value Sales = COUNTROWS( FILTER( Sales, RELATED('Product'[Category]) = "High Value" ) )
จำนวนแถวการขายของสินค้ากลุ่ม High Value
RELATED ดึง ‘ค่าเดียว’ จากตารางฝั่ง One (Many-to-One) ส่วน RELATEDTABLE ดึง ‘ตาราง’ หรือหลายแถวจากตารางฝั่ง Many (One-to-Many)
มักเกิดจาก 2 สาเหตุ: 1. ยังไม่ได้สร้าง Relationship ระหว่างตาราง 2. ทิศทางความสัมพันธ์ไม่ถูกต้อง (RELATED ใช้งานได้เฉพาะฝั่ง Many วิ่งไปหาฝั่ง One เท่านั้น)
RELATED ช่วยให้คุณดึงข้อมูลจากตารางอื่นที่มีความสัมพันธ์ (Relationship) กันเข้ามาใช้งานในตารางปัจจุบันได้ทันที โดยไม่ต้องเขียนสูตร VLOOKUP หรือ MATCH ให้ยุ่งยาก เพียงแค่มี Relationship ที่ถูกต้องใน Data Model ก็สามารถเรียกใช้ข้อมูลได้เลย
ฟังก์ชัน RELATED จะทำงานได้ก็ต่อเมื่อ: