LOOKUP เลือกค่าจากเซตที่อาจมีหลายแถวโดยกำหนดลำดับการคืนค่า (เช่น แถวแรกหรือสุดท้าย) ใช้ดึงค่าจาก mapping table หรือผลลัพธ์ที่เรียงไว้ โดยไม่ต้องสร้างความสัมพันธ์
=LOOKUP(<value>, <name>, <orderBy_expr>, <order> [, <set>])
=LOOKUP(<value>, <name>, <orderBy_expr>, <order> [, <set>])
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| value | any | Yes | ค่าที่ต้องการค้นหาในเซต | |
| name | text | Yes | ชื่อฟิลด์ผลลัพธ์ที่ต้องการคืนจากเซต | |
| orderBy_expr | expression | Yes | นิพจน์ที่ใช้จัดเรียงเซตก่อนเลือกค่า | |
| order | text | Yes | “ASC” หรือ “DESC” ระบุว่าจะเลือกจากค่าต้น (ASC) หรือท้าย (DESC) หลังจากจัดเรียง | |
| set | set/table | Optional | เซต (ตาราง) ที่จะค้นหา ถ้าไม่ระบุจะใช้ context ปัจจุบัน |
ใช้ LOOKUP กับรายการที่จัดเรียงเพื่อตอบค่าตามลำดับ เช่น มูลค่าล่าสุดหรือเก่าสุด
ใช้เซตจาก FILTER/VALUES เพื่อค้นหาและดึงค่าที่ตรงเงื่อนไขโดยไม่ต้องสร้างความสัมพันธ์
เมื่อผลลัพธ์หลายแถว แต่ต้องคืนค่าเดียวตามกฎลำดับ (เช่น ตัวแรกหรือสุดท้าย)
Latest Price = LOOKUP( "Price", "Value", Sales[Date], "DESC", VALUES(Sales) )Latest Price = LOOKUP(
"Price",
"Value",
Sales[Date],
"DESC",
VALUES(Sales)
)
มูลค่าที่ใหม่ที่สุดตามวันที่
Earliest Active Date = LOOKUP( "ActiveDate", "ActiveDate", FilteredTable[ActiveDate], "ASC", FILTER(FilteredTable, FilteredTable[Status] = "Active") )Earliest Active Date = LOOKUP(
"ActiveDate",
"ActiveDate",
FilteredTable[ActiveDate],
"ASC",
FILTER(FilteredTable, FilteredTable[Status] = "Active")
)
วันที่แรกสุดที่สถานะ Active
Mapped Value = LOOKUP( [Code], "Mapped", Mapping[Priority], "ASC", FILTER(Mapping, Mapping[Code] = [Code]) )Mapped Value = LOOKUP(
[Code],
"Mapped",
Mapping[Priority],
"ASC",
FILTER(Mapping, Mapping[Code] = [Code])
)
ค่าที่ตรงกับ Code จากตาราง Mapping
LOOKUP ใช้เซตที่จัดเรียงและคืนค่าเดี่ยวตามลำดับ ส่วน LOOKUPVALUE ใช้การจับคู่คีย์แบบตรงไปตรงมาโดยไม่สนลำดับ
ต้องกำหนด orderBy_expr และ order ชัดเจนเพื่อควบคุมว่าจะเลือกแถวบนสุดหรือท้ายสุดหลังจัดเรียง
LOOKUP ค้นหาค่าที่ตรงกับเงื่อนไขในชุดข้อมูล (เซต) ที่อาจมีหลายแถว แล้วคืนผลลัพธ์เดี่ยวตามลำดับที่ระบุ (เช่น แถวแรกหรือแถวสุดท้าย) เหมาะสำหรับการดึงค่าจากตาราง mapping หรือผลลัพธ์ที่มีการจัดเรียง