RELATED

ส่งคืนค่าที่มีความสัมพันธ์กันจากอีกตารางหนึ่ง

ไวยากรณ์

RELATED(<column>)  

พารามิเตอร์

เงื่อนไข ข้อกำหนด
คอลัมน์ คอลัมน์ที่มีค่าที่จะเรียกใช้

ค่าผลลัพธ์

ค่าเดียวที่เกี่ยวข้องกับแถวปัจจุบัน

หมายเหตุ

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

  • เมื่อฟังก์ชัน RELATED ดำเนินการค้นหา ฟังก์ชันจะตรวจสอบค่าทั้งหมดในตารางที่ระบุโดยไม่คำนึงถึงตัวกรองใดๆ ที่อาจใช้

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

  • ไม่สามารถใช้ฟังก์ชันที่เกี่ยวข้องเพื่อดึงข้อมูลคอลัมน์ข้ามความสัมพันธ์แบบ ที่จำกัด

ตัวอย่าง

ในตัวอย่างต่อไปนี้ หน่วยวัด ยอดขายอินเทอร์เน็ตที่ไม่ใช่ในสหรัฐอเมริกา จะถูกสร้างขึ้นเพื่อสร้างรายงานยอดขายที่ไม่รวมยอดขายในสหรัฐอเมริกา ในการสร้างหน่วยวัดนี้ ตาราง InternetSales_USD ต้องถูกกรองเพื่อแยกยอดขายทั้งหมดที่เป็นของสหรัฐอเมริกาออกในตาราง SalesTerritory สหรัฐอเมริกาในฐานะประเทศจะปรากฏขึ้น 5 ครั้งในตาราง SalesTerritory หนึ่งครั้งสำหรับแต่ละภูมิภาคต่อไปนี้: ภาคตะวันตกเฉียงเหนือ ภาคตะวันออกเฉียงเหนือ ภาคกลาง ภาคตะวันตกเฉียงใต้ และภาคตะวันออกเฉียงใต้

วิธีแรกในการกรองยอดขายทางอินเทอร์เน็ตเพื่อที่จะสร้างหน่วยวัดอาจเป็นการเพิ่มนิพจน์ตัวกรองดังต่อไปนี้:

FILTER('InternetSales_USD'
, 'InternetSales_USD'[SalesTerritoryKey]<>1 && 'InternetSales_USD'[SalesTerritoryKey]<>2 && 'InternetSales_USD'[SalesTerritoryKey]<>3 && 'InternetSales_USD'[SalesTerritoryKey]<>4 && 'InternetSales_USD'[SalesTerritoryKey]<>5)

อย่างไรก็ตาม วิธีการนี้คือ counterintuitive มีแนวโน้มที่จะพิมพ์ข้อผิดพลาด และอาจไม่สามารถใช้งานได ้ถ้ามีการแยกภูมิภาคที่มีอยู่ในอนาคตออก

วิธีการที่ดีกว่าจะใช้ความสัมพันธ์ที่มีอยู่ระหว่าง InternetSales_USD และ SalesTerritory และระบุอย่างชัดเจนว่าประเทศต้องไม่ใช่สหรัฐอเมริกา เพื่อดำเนินการดังกล่าว ให้สร้างนิพจน์ตัวกรองดังต่อไปนี้:

FILTER( 'InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")

นิพจน์นี้ใช้ฟังก์ชัน RELATED ในการค้นหาค่าประเทศในตาราง SalesTerritory โดยเริ่มต้นด้วยค่าของคอลัมน์หลัก SalesTerritoryKey ในตาราง InternetSales_USD ผลลัพธ์ของการค้นหาจะถูกใช้โดยฟังก์ชันตัวกรองเพื่อกำหนดว่าแถว InternetSales_USD มีการกรองหรือไม่

หมายเหตุ

ถ้าตัวอย่างไม่สามารถใช้ได้ คุณอาจจำเป็นต้องสร้างความสัมพันธ์ระหว่างตาราง

= SUMX(FILTER( 'InternetSales_USD'  
            ,  RELATED('SalesTerritory'[SalesTerritoryCountry])  
               <>"United States"  
             )  
     ,'InternetSales_USD'[SalesAmount_USD])  

ตารางต่อไปนี้แสดงเฉพาะผลรวมสำหรับแต่ละภูมิภาค เพื่อพิสูจน์ว่านิพจน์ตัวกรองในหน่วยวัด ยอดขายอินเทอร์เน็ตที่ไม่ใช่ในสหรัฐอเมริกา ทำงานตามที่ตั้งใจไว้

Row Labels Internet Sales Non USA Internet Sales
ออสเตรเลีย $4,999,021.84 $4,999,021.84
แคนาดา $1,343,109.10 $1,343,109.10
ฝรั่งเศส $2,490,944.57 $2,490,944.57
เยอรมนี $2,775,195.60 $2,775,195.60
สหราชอาณาจักร $5,057,076.55 $5,057,076.55
ประเทศสหรัฐอเมริกา $9,389,479.79
ผลรวมทั้งหมด $26,054,827.45 $16,665,347.67

รายการต่อไปนี้แสดงสิ่งที่คุณอาจได้รับหากคุณใช้หน่วยวัดนี้ในวิชวลตารางรายงาน:

Row Labels Accessories Bikes Clothing Grand Total
2005 $1,526,481.95 $1,526,481.95
2006 $3,554,744.04 $3,554,744.04
2007 $156,480.18 $5,640,106.05 $70,142.77 $5,866,729.00
2008 $228,159.45 $5,386,558.19 $102,675.04 $5,717,392.68
ผลรวมทั้งหมด $384,639.63 $16,107,890.23 $172,817.81 $16,665,347.67

นอกจากนี้ โปรดดู

RELATEDTABLE
ฟังก์ชันตัวกรอง