หนึ่งในฟีเจอร์ที่มีประสิทธิภาพที่สุดใน 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 พนักงาน หมายเลขรหัสคําสั่งซื้อ และหมายเลขรหัสผู้จัดส่ง ทําให้อ่านรายงานได้ยาก เมื่อต้องการรับข้อมูลเพิ่มเติมที่คุณต้องการ คุณสามารถแปลงรายการนั้นเป็นตารางที่ลิงก์ Power Pivot แล้วสร้างความสัมพันธ์ไปยังตารางพนักงานและตัวแทนจําหน่าย จับคู่รหัสพนักงานกับเขตข้อมูล EmployeeKey และ ResellerID กับเขตข้อมูล ResellerKey
เมื่อต้องการแสดงข้อมูลการค้นหาในตารางที่ลิงก์ของคุณ ให้คุณเพิ่มคอลัมน์จากการคํานวณใหม่สองคอลัมน์ด้วยสูตรต่อไปนี้:
= RELATED('Employees'[EmployeeName])
= RELATED('Resellers'[CompanyName])การจัดส่งของวันนี้ก่อนการค้นหา
รหัสใบสั่งซื้อ |
รหัสพนักงาน |
ResellerID |
---|---|---|
100314 |
230 |
445 |
100315 |
15 |
445 |
100316 |
76 |
108 |
ตารางพนักงาน
รหัสพนักงาน |
พนักงาน |
ตัว แทน จำหน่าย |
---|---|---|
230 |
Kuppa Vamsi |
ระบบวงจรแบบแยกส่วน |
15 |
Pilar Ackeman |
ระบบวงจรแบบแยกส่วน |
76 |
คิม แรลส์ |
จักรยานที่เกี่ยวข้อง |
การจัดส่งของวันนี้พร้อมการค้นหา
รหัสใบสั่งซื้อ |
รหัสพนักงาน |
ResellerID |
พนักงาน |
ตัว แทน จำหน่าย |
---|---|---|---|---|
100314 |
230 |
445 |
Kuppa Vamsi |
ระบบวงจรแบบแยกส่วน |
100315 |
15 |
445 |
Pilar Ackeman |
ระบบวงจรแบบแยกส่วน |
100316 |
76 |
108 |
คิม แรลส์ |
จักรยานที่เกี่ยวข้อง |
ฟังก์ชันจะใช้ความสัมพันธ์ระหว่างตารางที่ลิงก์และตารางพนักงานและผู้จําหน่ายเพื่อรับชื่อที่ถูกต้องสําหรับแต่ละแถวในรายงาน คุณยังสามารถใช้ค่าที่เกี่ยวข้องสําหรับการคํานวณได้ด้วย สําหรับข้อมูลเพิ่มเติมและตัวอย่าง ให้ดู ฟังก์ชัน RELATED
การเรียกดูรายการของค่าที่เกี่ยวข้อง
ฟังก์ชัน RELATEDTABLE เป็นไปตามความสัมพันธ์ที่มีอยู่ และส่งกลับตารางที่มีแถวที่ตรงกันทั้งหมดจากตารางที่ระบุ ตัวอย่างเช่น สมมติว่าคุณต้องการหาจํานวนการสั่งซื้อที่ตัวแทนจําหน่ายแต่ละรายได้ทําในปีนี้ คุณสามารถสร้างคอลัมน์จากการคํานวณใหม่ในตารางผู้จําหน่ายที่มีสูตรต่อไปนี้ ซึ่งจะค้นหาระเบียนสําหรับผู้จําหน่ายแต่ละรายในตาราง ResellerSales_USD และนับจํานวนคําสั่งซื้อแต่ละรายการที่วางโดยผู้จําหน่ายแต่ละราย
=COUNTROWS(RELATEDTABLE(ResellerSales_USD))
ในสูตรนี้ ฟังก์ชัน RELATEDTABLE จะได้รับค่าของ ResellerKey สําหรับตัวแทนจําหน่ายแต่ละรายในตารางปัจจุบันก่อน (คุณไม่จําเป็นต้องระบุคอลัมน์ ID ที่ใดก็ได้ในสูตร เนื่องจาก Power Pivot ใช้ความสัมพันธ์ที่มีอยู่ระหว่างตาราง) จากนั้น ฟังก์ชัน RELATEDTABLE จะรับแถวทั้งหมดจากตาราง ResellerSales_USD ที่เกี่ยวข้องกับตัวแทนจําหน่ายแต่ละราย และนับจํานวนแถว ถ้าไม่มีความสัมพันธ์ (โดยตรงหรือทางอ้อม) ระหว่างสองตาราง คุณจะได้รับแถวทั้งหมดจากตาราง ResellerSales_USD
สําหรับระบบวงจรโมดูลาร์ตัวแทนจําหน่ายในฐานข้อมูลตัวอย่างของเรา มีคําสั่งซื้อสี่รายการในตารางการขาย ดังนั้นฟังก์ชันจะส่งกลับค่า 4 สําหรับ จักรยานที่เกี่ยวข้อง ผู้จําหน่ายไม่มียอดขาย ดังนั้นฟังก์ชันจะส่งกลับค่าว่าง
ตัว แทน จำหน่าย |
ระเบียนในตารางการขายสําหรับผู้จําหน่ายนี้ |
|
---|---|---|
ระบบวงจรแบบแยกส่วน |
รหัสตัวแทนจําหน่าย |
SalesOrderNumber |
445 |
SO53494 |
|
445 |
SO71872 |
|
445 |
SO65233 |
|
445 |
SO59000 |
|
รหัสตัวแทนจําหน่าย |
SalesOrderNumber |
|
จักรยานที่เกี่ยวข้อง |
หมายเหตุ: เนื่องจากฟังก์ชัน RELATEDTABLE ส่งกลับตาราง ไม่ใช่ค่าเดียว จึงต้องใช้เป็นอาร์กิวเมนต์กับฟังก์ชันที่ทําการดําเนินการกับตาราง สําหรับข้อมูลเพิ่มเติม ให้ดูที่ ฟังก์ชัน RELATEDTABLE