หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
นําไปใช้กับ: คอลัมน์จากการคํานวณ![]()
ตารางจากการคํานวณ
หน่วยวัด
การคํานวณวิชวล
ส่งกลับค่าสําหรับแถวที่ตรงตามเกณฑ์ทั้งหมดที่ระบุโดยเงื่อนไขการค้นหาอย่างน้อยหนึ่งเงื่อนไข
วากยสัมพันธ์
LOOKUPVALUE (
<result_columnName>,
<search_columnName>,
<search_value>
[, <search2_columnName>, <search2_value>]…
[, <alternateResult>]
)
พารามิเตอร์
| เทอม | นิยาม |
|---|---|
result_columnName |
ชื่อของคอลัมน์ที่มีอยู่ซึ่งประกอบด้วยค่าที่คุณต้องการส่งกลับ ไม่สามารถเป็นนิพจน์ได้ |
search_columnName |
ชื่อของคอลัมน์ที่มีอยู่ ซึ่งสามารถอยู่ในตารางเดียวกันกับ result_columnName หรือในตารางที่เกี่ยวข้อง ไม่สามารถเป็นนิพจน์ได้ คุณสามารถระบุ search_columnName และ search_value ได้หลายคู่ |
search_value |
ค่าที่จะค้นหาใน search_columnName คุณสามารถระบุ search_columnName และ search_value ได้หลายคู่ |
alternateResult |
(ไม่บังคับ) ค่าที่แสดงเมื่อมีการกรองบริบทสําหรับ result_columnName เป็นศูนย์หรือมากกว่าหนึ่งค่าที่แตกต่างกัน ถ้าไม่ได้ระบุไว้ ฟังก์ชันจะ BLANK ส่งกลับเมื่อ result_columnName ถูกกรองลงเป็นค่าศูนย์ หรือมีข้อผิดพลาดเมื่อบริบทสําหรับ result_columnName มีค่าที่แตกต่างกันมากกว่าหนึ่งค่า |
ค่าผลลัพธ์
ค่าของ result_columnName ในแถวที่คู่ของ search_columnName ทั้งหมดและ search_value ตรงกันทั้งหมด
ถ้าไม่ตรงกันกับค่าการค้นหาทั้งหมด ฟังก์ชัน BLANK จะแสดงหรือ alternateResult (ถ้าระบุไว้) กล่าวอีกนัยหนึ่ง ฟังก์ชันนี้จะไม่ส่งกลับค่าการค้นหาหากตรงกับหลักเกณฑ์เพียงบางข้อเท่านั้น
หากมีหลายแถวที่ตรงกับค่าการค้นหาและค่าใน result_columnName สําหรับแถวเหล่านี้เหมือนกัน ค่าดังกล่าวจะถูกส่งกลับ อย่างไรก็ตาม ถ้า result_columnName แสดงค่าที่แตกต่างกัน ฟังก์ชันจะส่งกลับข้อผิดพลาด หรือ alternateResult (ถ้าระบุไว้)
หมาย เหตุ
ถ้ามีความสัมพันธ์ระหว่างตารางที่มีคอลัมน์ผลลัพธ์และตารางที่มีคอลัมน์การค้นหา ในกรณีส่วนใหญ่ การใช้ RELATED ฟังก์ชันแทน LOOKUPVALUE จะมีประสิทธิภาพมากกว่าและให้ประสิทธิภาพการทํางานที่ดีกว่า
คุณสามารถระบุ หลายคู่ของ
search_columnNameและsearch_valueพารามิเตอร์
search_valueและalternateResultจะถูกประเมินก่อนที่ฟังก์ชันจะวนอีกครั้งตามแถวของตารางการค้นหาหลีกเลี่ยงการใช้ ISERROR หรือ IFERROR เพื่อจับภาพข้อผิดพลาดที่ส่งกลับโดยLOOKUPVALUE ถ้าอินพุตบางอย่างไปยังฟังก์ชันส่งผลให้เกิดข้อผิดพลาดเมื่อไม่สามารถกําหนดค่าผลลัพธ์เดียวได้ การ
alternateResultให้พารามิเตอร์เป็นวิธีที่น่าเชื่อถือและมีประสิทธิภาพสูงสุดในการจัดการข้อผิดพลาดพารามิเตอร์
alternateResultจะแสดงข้อผิดพลาดถ้ามีการระบุไว้ในคอลัมน์จากการคํานวณ Power Pivot-
ฟังก์ชันนี้ไม่ได้รับการสนับสนุนสําหรับการใช้งานในโหมด DirectQuery เมื่อใช้ในคอลัมน์จากการคํานวณหรือกฎการรักษาความปลอดภัยระดับแถว (RLS)
ตัวอย่างในบทความนี้สามารถใช้ได้กับตัวอย่าง Adventure Works DW 2020 Power BI Desktop แบบจําลอง หากต้องการรับแบบจําลอง โปรดดู DAX แบบจําลองตัวอย่าง
ตัวอย่างที่ 1
ในตัวอย่างนี้ ค้นหา LOOKUPVALUE อัตราเฉลี่ยสําหรับสกุลเงินที่ใช้ในการชําระเงินสําหรับคําสั่งซื้อในวันที่มีการสั่งซื้อ:
Exchange Rate =
LOOKUPVALUE (
'Currency Rate'[Average Rate],
'Currency Rate'[CurrencyKey], [CurrencyKey],
'Currency Rate'[DateKey], [OrderDateKey]
)
คุณจําเป็นต้องมีทั้ง วันที่สั่งซื้อ และ สกุลเงิน เพื่อค้นหา อัตราเฉลี่ย สําหรับวันที่และสกุลเงินที่ถูกต้อง OrderDateKey และ CurrencyKey เป็นคีย์ที่ใช้ในการค้นหาอัตราเฉลี่ยในตารางอัตราสกุลเงิน
คุณสามารถใช้อัตราแลกเปลี่ยนเพื่อคํานวณยอดขายในสกุลเงินท้องถิ่นด้วย:
Sales Amount Local Currency =
[Sales Amount] * [Exchange Rate]
ตัวอย่างที่ 2
ในตัวอย่างนี้ คอลัมน์จากการคํานวณต่อไปนี้ที่กําหนดไว้ในตาราง Sales ใช้ฟังก์ชัน LOOKUPVALUE เพื่อส่งกลับค่าช่องทางจากตาราง Sales Order
CHANNEL =
LOOKUPVALUE (
'Sales Order'[Channel],
'Sales Order'[SalesOrderLineKey], [SalesOrderLineKey]
)
อย่างไรก็ตาม ในกรณีนี้ เนื่องจากมีความสัมพันธ์ระหว่างตาราง Sales Order และ Sales ดังนั้นจึงมีประสิทธิภาพมากกว่าที่จะใช้ RELATED ฟังก์ชัน
CHANNEL =
RELATED ( 'Sales Order'[Channel] )
เนื้อหาที่เกี่ยวข้อง
- ฟังก์ชัน RELATED (DAX)
- ฟังก์ชันข้อมูลของ