แชร์ผ่าน


USERELATIONSHIP

นําไปใช้กับ: คอลัมน์จากการคํานวณตารางจากการคํานวณMeasureการคํานวณวิชวล

ระบุความสัมพันธ์ที่จะใช้ในการคํานวณเฉพาะเป็นความสัมพันธ์ที่มีอยู่ระหว่าง columnName1 and columnName2

ไวยากรณ์

USERELATIONSHIP(<columnName1>,<columnName2>)

พารามิเตอร์

เงื่อนไข คำนิยาม
columnName1 ชื่อของคอลัมน์ที่มีอยู่โดยใช้ไวยากรณ์ DAX มาตรฐาน and ตรงตามหลักเกณฑ์ ซึ่งมักจะแสดงถึงด้านกลุ่มของความสัมพันธ์ที่จะใช้ if อาร์กิวเมนต์จะได้รับในลําดับย้อนกลับ ฟังก์ชันจะสลับอาร์กิวเมนต์ก่อนใช้งาน อาร์กิวเมนต์นี้ไม่สามารถเป็นนิพจน์ได้
columnName2 ชื่อของคอลัมน์ที่มีอยู่โดยใช้ไวยากรณ์ DAX มาตรฐาน and ตรงตามหลักเกณฑ์ ซึ่งมักจะแสดงถึงด้านหนึ่ง or ด้านการค้นหาของความสัมพันธ์ที่จะใช้ if การกําหนดอาร์กิวเมนต์ในลําดับย้อนกลับ ฟังก์ชันจะสลับอาร์กิวเมนต์ก่อนใช้งาน อาร์กิวเมนต์นี้ไม่สามารถเป็นนิพจน์ได้

value ผลลัพธ์

ฟังก์ชัน จะไม่แสดง valueฟังก์ชันจะเปิดใช้งานเฉพาะความสัมพันธ์ที่ระบุสําหรับ duration ของการคํานวณเท่านั้น

หมายเหตุ

  • USERELATIONSHIP สามารถใช้ได้เฉพาะในฟังก์ชันที่ใช้ filter เป็นอาร์กิวเมนต์ เท่านั้น ตัวอย่างเช่น: ฟังก์ชัน CALCULATE, CALCULATETABLE, CLOSINGBALANCEMONTH, CLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTD, TOTALQTDandTOTALYTD

  • ไม่สามารถใช้ USERELATIONSHIP ได้เมื่อมีการกําหนดความปลอดภัยระดับแถวสําหรับตารางที่มี measure รวมอยู่ ตัวอย่างเช่น CALCULATE(SUM([SalesAmount]), USERELATIONSHIP(FactInternetSales[CustomerKey], DimCustomer[CustomerKey])) จะแสดงการรักษาความปลอดภัยระดับแถว errorif ถูกกําหนดไว้สําหรับ DimCustomer

  • USERELATIONSHIP ใช้ความสัมพันธ์ที่มีอยู่ในแบบจําลองการระบุความสัมพันธ์ตามคอลัมน์จุดสิ้นสุด

  • ใน USERELATIONSHIPสถานะของความสัมพันธ์ not มีความสําคัญ not นั่นคือว่าความสัมพันธ์นั้นใช้งานอยู่ ornot ทํางานอยู่หรือไม่ not ส่งผลกระทบต่อการใช้งานฟังก์ชันหรือไม่ Even if ความสัมพันธ์ไม่ได้ใช้งาน ความสัมพันธ์นั้นจะถูกใช้ and แทนที่ความสัมพันธ์ที่ใช้งานอยู่อื่น ๆ ที่อาจมีอยู่ในแบบจําลอง แต่ not กล่าวถึงในอาร์กิวเมนต์ฟังก์ชัน

  • มีการแสดง errorif คอลัมน์ใดก็ตามที่มีชื่อเป็นอาร์กิวเมนต์ not เป็นส่วนหนึ่งของความสัมพันธ์ or อาร์กิวเมนต์เป็นของความสัมพันธ์ที่แตกต่างกัน

  • If ความสัมพันธ์หลายรายการจําเป็นต้องรวมตาราง A ไปยังตาราง B ในการคํานวณ ความสัมพันธ์แต่ละรายการจะต้องระบุในฟังก์ชัน USERELATIONSHIP ที่แตกต่างกัน

  • นิพจน์ IfCALCULATE ซ้อนกัน and นิพจน์ CALCULATE มากกว่าหนึ่งรายการ contains ฟังก์ชัน USERELATIONSHIPUSERELATIONSHIP ที่อยู่ด้านในสุดนั้นจะมีอํานาจเหนือกว่าในกรณีที่เกิดความขัดแย้ง or กํากวม

  • สามารถซ้อนฟังก์ชัน USERELATIONSHIP ได้สูงสุด 10 ฟังก์ชัน อย่างไรก็ตาม นิพจน์ของคุณอาจมีการซ้อนกันในระดับที่ลึกกว่า นิพจน์ sample ต่อไปนี้จะซ้อนกันเป็น 3 ระดับ แต่เพียงแค่ 2 สําหรับ USERELATIONSHIP: =CALCULATE(CALCULATE( CALCULATE( <anyExpression>, USERELATIONSHIP( t1[colA], t2[colB])), t99[colZ]=999), USERELATIONSHIP( t1[colA], t2[colA]))

  • สําหรับความสัมพันธ์แบบ 1-to-1 USERELATIONSHIP จะเปิดใช้งานความสัมพันธ์ในทิศทางเดียวเท่านั้น โดยเฉพาะอย่างยิ่ง จะสามารถจัดเรียงข้อมูลจากตาราง columnName2ไปเป็นตารางของ columnName1 If ต้องการการกรองข้ามแบบสองทิศทาง USERELATIONSHIPs สองตัวที่มีทิศทางตรงข้ามสามารถใช้ได้ในการคํานวณเดียวกัน ตัวอย่างเช่น: CALCULATE(..., USERELATIONSHIP(T1[K], T2[K]), USERELATIONSHIP(T2[K], T1[K]))

ตัวอย่าง

sample ต่อไปนี้แสดงวิธีการแทนที่ค่าเริ่มต้น ที่ใช้งานอยู่ ความสัมพันธ์ระหว่าง InternetSales and ตาราง DateTime ความสัมพันธ์ค่าเริ่มต้นมีอยู่ระหว่างคอลัมน์ OrderDate ในตาราง InternetSales and คอลัมน์ Date ในตาราง DateTime

หากต้องการ calculatesum ยอดขายทางอินเทอร์เน็ต and อนุญาตให้มีการแบ่งส่วนข้อมูลตาม ShippingDate แทน OrderDate แบบดั้งเดิม ให้สร้าง measure[InternetSales ตาม ShippingDate] โดยใช้นิพจน์ต่อไปนี้:

= CALCULATE(SUM(InternetSales[SalesAmount]), USERELATIONSHIP(InternetSales[ShippingDate], DateTime[Date]))

ความสัมพันธ์ระหว่าง InternetSales[ShipmentDate] and DateTime[Date] ต้องมีอยู่ and ควร not เป็นความสัมพันธ์ที่ใช้งานอยู่ นอกจากนี้ ความสัมพันธ์ระหว่าง InternetSales[OrderDate] and DateTime[Date] ควรมีอยู่ and ควรเป็นความสัมพันธ์ที่ใช้งานอยู่