USERELATIONSHIPUSERELATIONSHIP

ระบุความสัมพันธ์ที่จะใช้ในการคำนวณที่เฉพาะเจาะจงเป็นความสัมพันธ์ที่มีอยู่ระหว่าง columnName1 และ columnName2Specifies the relationship to be used in a specific calculation as the one that exists between columnName1 and columnName2.

ไวยากรณ์Syntax

USERELATIONSHIP(<columnName1>,<columnName2>)  

พารามิเตอร์Parameters

เงื่อนไขTerm ข้อกำหนดDefinition
columnName1columnName1 ชื่อของคอลัมน์ที่มีอยู่โดยใช้ไวยากรณ์ DAX มาตรฐานและตรงตามหลักเกณฑ์ ซึ่งมักแสดงถึงความสัมพันธ์หลายด้านที่จะใช้ หากมีการกำหนดอาร์กิวเมนต์ในลำดับย้อนกลับ ฟังก์ชันจะสลับอาร์กิวเมนต์ก่อนใช้งานThe name of an existing column, using standard DAX syntax and fully qualified, that usually represents the many side of the relationship to be used; if the arguments are given in reverse order the function will swap them before using them. อาร์กิวเมนต์นี้ไม่สามารถเป็นนิพจน์ได้This argument cannot be an expression.
columnName2columnName2 ชื่อของคอลัมน์ที่มีอยู่โดยใช้ไวยากรณ์ DAX มาตรฐานและตรงตามหลักเกณฑ์ ซึ่งมักแสดงถึงความสัมพันธ์ด้านหนึ่งหรือความสัมพันธ์ด้านการค้นหาที่จะใช้ หากมีการกำหนดอาร์กิวเมนต์ในลำดับย้อนกลับ ฟังก์ชันจะสลับอาร์กิวเมนต์ก่อนใช้งานThe name of an existing column, using standard DAX syntax and fully qualified, that usually represents the one side or lookup side of the relationship to be used; if the arguments are given in reverse order the function will swap them before using them. อาร์กิวเมนต์นี้ไม่สามารถเป็นนิพจน์ได้This argument cannot be an expression.

ค่าผลลัพธ์Return value

ฟังก์ชันไม่มีการคืนค่า ฟังก์ชันเปิดใช้งานเฉพาะความสัมพันธ์ที่ระบุในช่วงระยะเวลาของการคำนวณเท่านั้นThe function returns no value; the function only enables the indicated relationship for the duration of the calculation.

หมายเหตุRemarks

  • USERELATIONSHIP สามารถใช้ได้เฉพาะในฟังก์ชันที่ใช้ตัวกรองเป็นอาร์กิวเมนต์ ตัวอย่างเช่น: ฟังก์ชัน CALCULATE, CALCULATETABLE, CLOSINGBALANCEMONTH, CLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTD, TOTALQTD และ TOTALYTDUSERELATIONSHIP can only be used in functions that take a filter as an argument, for example: CALCULATE, CALCULATETABLE, CLOSINGBALANCEMONTH, CLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTD, TOTALQTD and TOTALYTD functions.

  • ไม่สามารถใช้ USERELATIONSHIP ได้เมื่อมีการกำหนดความปลอดภัยระดับแถวสำหรับตารางที่มีหน่วยวัดอยู่USERELATIONSHIP cannot be used when row level security is defined for the table in which the measure is included. ตัวอย่างเช่น CALCULATE(SUM([SalesAmount]), USERELATIONSHIP(FactInternetSales[CustomerKey], DimCustomer[CustomerKey])) จะส่งกลับข้อผิดพลาด ถ้าการรักษาความปลอดภัยระดับแถวถูกกำหนดสำหรับ DimCustomerFor example, CALCULATE(SUM([SalesAmount]), USERELATIONSHIP(FactInternetSales[CustomerKey], DimCustomer[CustomerKey])) will return an error if row level security is defined for DimCustomer.

  • USERELATIONSHIP ใช้ความสัมพันธ์ที่มีอยู่ในแบบจำลองที่ระบุความสัมพันธ์ตามคอลัมน์จุดสิ้นสุดของพวกเขาUSERELATIONSHIP uses existing relationships in the model, identifying relationships by their ending point columns.

  • ใน USERELATIONSHIP สถานะของความสัมพันธ์ไม่ใช่สิ่งสำคัญ นั่นคือไม่ว่าจะเป็นความสัมพันธ์ที่ใช้งานอยู่หรือไม่ จะไม่ส่งผลกระทบต่อการใช้งานของฟังก์ชันIn USERELATIONSHIP, the status of a relationship is not important; that is, whether the relationship is active or not does not affect the usage of the function. แม้ว่าจะไม่มีการใช้งานความสัมพันธ์อยู่ แต่ความสัมพันธ์นั้นจะถูกนำมาใช้และแทนที่ความสัมพันธ์ที่ใช้งานอยู่อื่น ๆ ที่อาจมีอยู่ในแบบจำลอง แต่ไม่ได้กล่าวถึงในอาร์กิวเมนต์ของฟังก์ชันEven if the relationship is inactive, it will be used and overrides any other active relationships that might be present in the model but not mentioned in the function arguments.

  • มีการส่งกลับข้อผิดพลาดหากคอลัมน์ใดก็ตามที่มีชื่อว่าเป็นอาร์กิวเมนต์ไม่ได้เป็นส่วนหนึ่งของความสัมพันธ์หรืออาร์กิวเมนต์เป็นของความสัมพันธ์ที่แตกต่างกันAn error is returned if any of the columns named as an argument is not part of a relationship or the arguments belong to different relationships.

  • ถ้าจำเป็นต้องมีความสัมพันธ์หลายอย่างเพื่อรวมตาราง A ไปยังตาราง B ในการคำนวณ ความสัมพันธ์แต่ละรายการจะต้องระบุในฟังก์ชัน USERELATIONSHIP ที่แตกต่างกันIf multiple relationships are needed to join table A to table B in a calculation, each relationship must be indicated in a different USERELATIONSHIP function.

  • หากนิพจน์ CALCULATE ซ้อนกัน และนิพจน์ CALCULATE มากกว่าหนึ่งรายการมีฟังก์ชัน USERELATIONSHIP ดังนั้น USERELATIONSHIP ที่อยู่ด้านในสุดนั้นจะมีอำนาจเหนือกว่าในกรณีที่เกิดความขัดแย้งหรือความคลาดเคลื่อนIf CALCULATE expressions are nested, and more than one CALCULATE expression contains a USERELATIONSHIP function, then the innermost USERELATIONSHIP is the one that prevails in case of a conflict or ambiguity.

  • ฟังก์ USERELATIONSHIP สามารถซ้อนกันได้มากถึง 10 ฟังก์ชัน อย่างไรก็ตาม นิพจน์ของคุณอาจมีการซ้อนกันในระดับที่ลึกกว่า ตัวอย่างเช่น นิพจน์ตัวอย่างต่อไปนี้มีการซ้อนกัน 3 ระดับ แต่ USEREALTIONSHIP ซ้อนกันแค่ 2 เท่านั้น: =CALCULATE(CALCULATE( CALCULATE( &lt;anyExpression&gt;, USERELATIONSHIP( t1[colA], t2[colB])), t99[colZ]=999), USERELATIONSHIP( t1[colA], t2[colA]))Up to 10 USERELATIONSHIP functions can be nested; however, your expression might have a deeper level of nesting, ie. the following sample expression is nested 3 levels deep but only 2 for USEREALTIONSHIP: =CALCULATE(CALCULATE( CALCULATE( &lt;anyExpression&gt;, USERELATIONSHIP( t1[colA], t2[colB])), t99[colZ]=999), USERELATIONSHIP( t1[colA], t2[colA])).

ตัวอย่าง:Example

ตัวอย่างต่อไปนี้แสดงวิธีการแทนที่ค่าเริ่มต้น ที่ใช้งานอยู่ ความสัมพันธ์ระหว่างตาราง InternetSales และตาราง DateTimeThe following sample shows how to override the default, active, relationship between InternetSales and DateTime tables. ความสัมพันธ์ค่าเริ่มต้นมีอยู่ระหว่างคอลัมน์ OrderDate ในตาราง InternetSales และคอลัมน์ Date ในตาราง DateTimeThe default relationship exists between the OrderDate column, in the InternetSales table, and the Date column, in the DateTime table.

หากต้องการคำนวณผลรวมของยอดขายทางอินเทอร์เน็ต และอนุญาตให้มีการแบ่งส่วนข้อมูลตาม ShippingDate แทน OrderDate แบบดั้งเดิม สร้างหน่วยวัด [InternetSales ตาม ShippingDate] โดยใช้นิพจน์ต่อไปนี้:To calculate the sum of internet sales and allow slicing by ShippingDate instead of the traditional OrderDate, create measure, [InternetSales by ShippingDate] using the following expression:

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

ความสัมพันธ์ระหว่าง InternetSales[ShipmentDate] และ DateTime[Date] ต้องมีอยู่และไม่ควรเป็นความสัมพันธ์ที่ใช้งานอยู่ นอกจากนี้ความสัมพันธ์ระหว่าง InternetSales[OrderDate] และ DateTime[Date] ควรมีอยู่ และควรเป็นความสัมพันธ์ที่ใช้งานอยู่Relationships between InternetSales[ShipmentDate] and DateTime[Date] must exist and should not be the active relationship; also, the relationship between InternetSales[OrderDate] and DateTime[Date] should exist and should be the active relationship.