ค้นหาในสูตรของ Power Pivot

นำไปใช้กับ
Excel for Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

หนึ่งในฟีเจอร์ที่มีประสิทธิภาพมากที่สุดใน Power Pivot คือความสามารถในการสร้างความสัมพันธ์ระหว่างตาราง แล้วใช้ตารางที่เกี่ยวข้องเพื่อค้นหาหรือกรองข้อมูลที่เกี่ยวข้อง คุณเรียกใช้ค่าที่เกี่ยวข้องจากตารางโดยใช้ภาษาสูตรที่มีอยู่ใน Power Pivot Data Analysis Expressions (DAX) DAX ใช้ตัวแบบเชิงสัมพันธ์ ดังนั้นจึงสามารถดึงข้อมูลค่าที่เกี่ยวข้องหรือค่าที่สอดคล้องกันในตารางหรือคอลัมน์อื่นได้อย่างง่ายดายและแม่นยํา ถ้าคุณคุ้นเคยกับ VLOOKUP ใน Excel ฟังก์ชันการทํางานนี้ใน Power Pivot จะคล้ายกัน แต่นําไปใช้ได้ง่ายกว่ามาก

คุณสามารถสร้างสูตรที่จะค้นหาเป็นส่วนหนึ่งของคอลัมน์จากการคํานวณ หรือเป็นส่วนหนึ่งของการวัดสําหรับใช้ใน PivotTable หรือ PivotChart สำหรับข้อมูลเพิ่มเติม ให้ดูที่หัวข้อต่อไปนี้

เขตข้อมูลจากการคำนวณใน Power Pivot

คอลัมน์จากการคำนวณใน Power Pivot

ส่วนนี้อธิบายถึงฟังก์ชัน DAX ที่มีไว้สําหรับการค้นหา พร้อมกับบางตัวอย่างของวิธีใช้ฟังก์ชัน

หมายเหตุ

คุณอาจจําเป็นต้องสร้างความสัมพันธ์ระหว่างตารางก่อน โดยขึ้นอยู่กับชนิดของการดําเนินการค้นหาหรือสูตรการค้นหาที่คุณต้องการใช้

การทําความเข้าใจเกี่ยวกับฟังก์ชันการค้นหา

ความสามารถในการค้นหาข้อมูลที่ตรงกันหรือข้อมูลที่เกี่ยวข้องจากตารางอื่นมีประโยชน์เป็นพิเศษในกรณีที่ตารางปัจจุบันมีเฉพาะตัวระบุบางชนิด แต่ข้อมูลที่คุณต้องการ (เช่น ราคาผลิตภัณฑ์ ชื่อ หรือค่าโดยละเอียดอื่นๆ) ถูกจัดเก็บไว้ในตารางที่เกี่ยวข้อง ซึ่งจะยังเป็นประโยชน์เมื่อมีหลายแถวในตารางอื่นที่เกี่ยวข้องกับแถวปัจจุบันหรือค่าปัจจุบัน ตัวอย่างเช่น คุณสามารถดูยอดขายทั้งหมดที่เชื่อมโยงกับภูมิภาค ร้านค้า หรือพนักงานขายที่ระบุได้อย่างง่ายดาย

ในทางตรงกันข้ามกับฟังก์ชันการค้นหาของ Excel เช่น VLOOKUP ซึ่งยึดตามอาร์เรย์ หรือ LOOKUP ซึ่งจะรับค่าแรกของค่าที่ตรงกันหลายค่า DAX จะติดตามความสัมพันธ์ที่มีอยู่ระหว่างตารางต่างๆ ที่รวมกันด้วยคีย์เพื่อรับค่าเดี่ยวที่เกี่ยวข้องกันตรงกัน DAX ยังสามารถเรียกใช้ตารางของระเบียนที่เกี่ยวข้องกับระเบียนปัจจุบันได้อีกด้วย

หมายเหตุ

ถ้าคุณคุ้นเคยกับฐานข้อมูลเชิงสัมพันธ์ คุณสามารถนึกภาพการค้นหาใน Power Pivot ที่คล้ายกับคําสั่งการเลือกย่อยที่ซ้อนกันใน Transact-SQL

ฟังก์ชัน RELATED ส่งกลับค่าเดี่ยวจากตารางอื่นที่เกี่ยวข้องกับค่าปัจจุบันในตารางปัจจุบัน คุณระบุคอลัมน์ที่มีข้อมูลที่คุณต้องการ และฟังก์ชันจะติดตามความสัมพันธ์ที่มีอยู่ระหว่างตารางเพื่อดึงข้อมูลค่าจากคอลัมน์ที่ระบุในตารางที่เกี่ยวข้อง ในบางกรณี ฟังก์ชันจะต้องเป็นไปตามสายของความสัมพันธ์เพื่อดึงข้อมูล

ตัวอย่างเช่น สมมติว่าคุณมีรายการของการจัดส่งของวันนี้ใน Excel อย่างไรก็ตาม รายการมีเฉพาะหมายเลข ID พนักงาน หมายเลข ID คําสั่งซื้อ และหมายเลข ID ผู้จัดส่ง ทําให้อ่านรายงานได้ยาก เมื่อต้องการรับข้อมูลเพิ่มเติมที่คุณต้องการ คุณสามารถแปลงรายการนั้นเป็นตารางที่ลิงก์ของ Power Pivot แล้วสร้างความสัมพันธ์กับตารางพนักงานและตารางตัวแทนจําหน่าย โดยจับคู่ EmployeeID กับเขตข้อมูล EmployeeKey และจับคู่ ResellerID กับเขตข้อมูล ResellerKey

เมื่อต้องการแสดงข้อมูลการค้นหาในตารางที่ลิงก์ ให้คุณเพิ่มคอลัมน์จากการคํานวณใหม่สองคอลัมน์ด้วยสูตรต่อไปนี้

= RELATED('Employees'[EmployeeName])
= RELATED('Resellers'[CompanyName])

การจัดส่งของวันนี้ก่อนการค้นหา

รหัสใบสั่งซื้อ ID พนักงาน ResellerID
100314 230 445
100315 15 445
100316 76 108

ตารางพนักงาน

ID พนักงาน พนักงาน ตัวแทนจําหน่าย
230 Kuppa Vamsi ระบบวงจรโมดูลาร์
15 Pilar Ackeman ระบบวงจรโมดูลาร์
76 Kim Ralls จักรยานที่เกี่ยวข้อง

การจัดส่งของวันนี้พร้อมการค้นหา

รหัสใบสั่งซื้อ ID พนักงาน ResellerID พนักงาน ตัวแทนจําหน่าย
100314 230 445 Kuppa Vamsi ระบบวงจรโมดูลาร์
100315 15 445 Pilar Ackeman ระบบวงจรโมดูลาร์
100316 76 108 Kim Ralls จักรยานที่เกี่ยวข้อง

ฟังก์ชันจะใช้ความสัมพันธ์ระหว่างตารางที่ลิงก์และตารางพนักงานและผู้ค้าปลีก เพื่อรับชื่อที่ถูกต้องสําหรับแต่ละแถวในรายงาน นอกจากนี้ คุณยังสามารถใช้ค่าที่เกี่ยวข้องในการคํานวณได้อีกด้วย สําหรับข้อมูลเพิ่มเติมและตัวอย่าง ให้ดูที่ ฟังก์ชัน RELATED

ฟังก์ชัน RELATEDTABLE จะทําตามความสัมพันธ์ที่มีอยู่ และส่งกลับตารางที่มีแถวที่ตรงกันทั้งหมดจากตารางที่ระบุ ตัวอย่างเช่น สมมติว่าคุณต้องการค้นหาจํานวนคําสั่งซื้อที่ตัวแทนจําหน่ายแต่ละรายดําเนินการในปีนี้ คุณสามารถสร้างคอลัมน์จากการคํานวณใหม่ในตารางตัวแทนจําหน่ายที่มีสูตรต่อไปนี้ ซึ่งจะค้นหาระเบียนสําหรับตัวแทนจําหน่ายแต่ละรายในตาราง ResellerSales_USD และนับจํานวนการสั่งซื้อแต่ละรายการโดยตัวแทนจําหน่ายแต่ละราย 

=COUNTROWS(RELATEDTABLE(ResellerSales_USD))

ในสูตรนี้ ฟังก์ชัน RELATEDTABLE จะรับค่าของ ResellerKey สําหรับผู้จัดจําหน่ายแต่ละรายในตารางปัจจุบันก่อน (คุณไม่จําเป็นต้องระบุคอลัมน์ ID ที่ใดก็ได้ในสูตร เนื่องจาก Power Pivot จะใช้ความสัมพันธ์ที่มีอยู่ระหว่างตาราง) จากนั้นฟังก์ชัน RELATEDTABLE จะดึงแถวทั้งหมดจากตาราง ResellerSales_USD ที่เกี่ยวข้องกับผู้จัดจําหน่ายแต่ละราย และนับจํานวนแถว ถ้าไม่มีความสัมพันธ์ (ทางตรงหรือทางอ้อม) ระหว่างตารางทั้งสอง แถวทั้งหมดจากตาราง ResellerSales_USD

สําหรับผู้จําหน่าย Modular Cycle Systems ในฐานข้อมูลตัวอย่างของเรา มีคําสั่งซื้อสี่ใบในตารางการขาย ดังนั้นฟังก์ชันจึงส่งกลับ 4 สําหรับ จักรยานที่เกี่ยวข้อง ผู้จําหน่ายไม่มียอดขาย ฟังก์ชันจะส่งกลับค่าว่าง

ตัวแทนจําหน่าย ระเบียนในตารางยอดขายสําหรับผู้จัดจําหน่ายรายนี้
ระบบวงจรโมดูลาร์ ID ตัวแทนจําหน่าย
445
445
445
445
ID ตัวแทนจําหน่าย
จักรยานที่เกี่ยวข้อง

หมายเหตุ

เนื่องจากฟังก์ชัน RELATEDTABLE ส่งกลับตาราง ไม่ใช่ค่าเดียว จึงต้องใช้เป็นอาร์กิวเมนต์ของฟังก์ชันที่ดําเนินการบนตาราง สําหรับข้อมูลเพิ่มเติม ให้ดูฟังก์ชัน RELATEDTABLE

ด้านบนของหน้า