อ่านในภาษาอังกฤษ

แชร์ผ่าน


ที่เกี่ยวข้อง

นําไปใช้กับ: การคํานวณคอลัมน์จากการคํานวณ ตารางจากการคํานวณ หน่วยวัดภาพการคํานวณ

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

ไวยากรณ์

RELATED(<column>)  

พารามิเตอร์

เงื่อนไข คำนิยาม
column คอลัมน์ที่มีค่าที่คุณต้องการเรียกใช้

ค่าที่ส่งกลับ

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

หมายเหตุ

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

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

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

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

ตัวอย่าง

ในตัวอย่างต่อไปนี้ หน่วยวัด ยอดขายอินเทอร์เน็ตที่ไม่ใช่ในสหรัฐอเมริกา จะถูกสร้างขึ้นเพื่อสร้างรายงานยอดขายที่ไม่รวมยอดขายในสหรัฐอเมริกา เพื่อสร้างหน่วยวัด ต้องกรองตาราง 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
ฟังก์ชันตัวกรอง