หนึ่งในฟีเจอร์ที่มีประสิทธิภาพมากที่สุดใน 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