USERELATIONSHIPUSERELATIONSHIP

Anger den relation som ska användas i en viss beräkning som den som finns mellan columnName1 och columnName2.Specifies the relationship to be used in a specific calculation as the one that exists between columnName1 and columnName2.

SyntaxSyntax

USERELATIONSHIP(<columnName1>,<columnName2>)  

ParametrarParameters

TermTerm DefinitionDefinition
columnName1columnName1 Namnet på en befintlig kolumn, med DAX-standardsyntax och fullständigt kvalificerat namn, som vanligtvis representerar ”många”-sidan av relationen som ska användas. Om argumenten anges i omvänd ordning växlar funktionen dem innan de används.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. Det här argumentet kan inte vara ett uttryck.This argument cannot be an expression.
columnName2columnName2 Namnet på en befintlig kolumn med DAX-standardsyntax och fullständigt kvalificerat namn, som vanligtvis representerar ”en”-sidan eller ”uppslag”-sidan av relationen som ska användas. Om argumenten anges i omvänd ordning växlar funktionen dem innan de används.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. Det här argumentet kan inte vara ett uttryck.This argument cannot be an expression.

ReturvärdeReturn value

Funktionen returnerar inget värde. Funktionen aktiverar endast den angivna relationen medan beräkningen pågår.The function returns no value; the function only enables the indicated relationship for the duration of the calculation.

KommentarerRemarks

  • USERELATIONSHIP kan bara användas i funktioner som tar ett filter som argument, till exempel: Funktionerna CALCULATE, CALCULATETABLE, CLOSINGBALANCEMONTH, CLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTD, TOTALQTD och TOTALYTD.USERELATIONSHIP 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 kan inte användas när säkerhet på radnivå har definierats för den tabell som måttet ingår i.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])) returnerar till exempel ett fel om säkerhet på radnivå har definierats för DimCustomer.For example, CALCULATE(SUM([SalesAmount]), USERELATIONSHIP(FactInternetSales[CustomerKey], DimCustomer[CustomerKey])) will return an error if row level security is defined for DimCustomer.

  • USERELATIONSHIP använder befintliga relationer i modellen och identifierar relationer utifrån deras slutpunktskolumner.USERELATIONSHIP uses existing relationships in the model, identifying relationships by their ending point columns.

  • I USERELATIONSHIP är status för en relation inte viktig. Oavsett om relationen är aktiv eller inte så påverkar det inte användningen av funktionen.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. Även om relationen är inaktiv används den och åsidosätter andra aktiva relationer som kan finnas i modellen men som inte nämns i funktionsargumenten.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.

  • Ett fel returneras om någon av kolumnerna som namngetts som ett argument inte är en del av en relation eller om argumenten tillhör andra relationer.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.

  • Om det behövs flera relationer för att koppla tabell A till tabell B i en beräkning, måste varje relation anges i en annan USERELATIONSHIP-funktion.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.

  • Om CALCULATE-uttryck är kapslade och fler än ett CALCULATE-uttryck innehåller en USERELATIONSHIP-funktion är det den innersta USERELATIONSHIP-funktionen som gäller vid en konflikt eller tvetydighet.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.

  • Du kan kapsla upp till 10 USERELATIONSHIP, men ditt uttryck kan ha fler kapslingsnivåer. Följande exempeluttryck är kapslat i 3 nivåer men bara 2 för USEREALTIONSHIP: =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])).

ExempelExample

I följande exempel visas hur du åsidosätter den aktiva standardrelationen mellan tabellerna InternetSales och DateTime.The following sample shows how to override the default, active, relationship between InternetSales and DateTime tables. En standardrelation finns mellan kolumnen OrderDate (i tabellen InternetSales) och kolumnen Date (i tabellen DateTime).The default relationship exists between the OrderDate column, in the InternetSales table, and the Date column, in the DateTime table.

Om du vill beräkna summan av internetförsäljningen och tillåta uppdelning efter ShippingDate i stället för OrderDate skapar du måttet [InternetSales by ShippingDate] med hjälp av följande uttryck: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]))  

Det måste finnas en relation mellan InternetSales[ShipmentDate] och DateTime[Date], och den ska inte vara aktiv. Det måste också finnas en aktiv relation mellan InternetSales[OrderDate] och 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.