USERELATIONSHIPUSERELATIONSHIP

Hiermee geeft u de relatie op die moet worden gebruikt in een specifieke berekening zoals de relatie tussen columnName1 en columnName2.Specifies the relationship to be used in a specific calculation as the one that exists between columnName1 and columnName2.

SyntaxisSyntax

USERELATIONSHIP(<columnName1>,<columnName2>)  

ParametersParameters

TermTerm DefinitieDefinition
columnName1columnName1 De naam van een bestaande kolom, door middel van de standaard DAX-syntaxis en een volledig gekwalificeerde naam, die meestal de 'veel-zijde' van de relatie aanduidt die moet worden gebruikt. Als de argumenten in omgekeerde volgorde worden opgegeven, worden deze door de functie weer verwisseld voordat ze worden gebruikt.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. Dit argument kan geen expressie zijn.This argument cannot be an expression.
columnName2columnName2 De naam van een bestaande kolom, door middel van de standaard DAX-syntaxis en een volledig gekwalificeerde naam, die meestal de 'één-zijde of opzoekzijde' van de relatie aanduidt die moet worden gebruikt. Als de argumenten in omgekeerde volgorde worden opgegeven, worden deze door de functie weer verwisseld voordat ze worden gebruikt.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. Dit argument kan geen expressie zijn.This argument cannot be an expression.

RetourwaardeReturn value

De functie retourneert geen waarde. Met de functie wordt alleen de aangegeven relatie ingesteld voor de duur van de berekening.The function returns no value; the function only enables the indicated relationship for the duration of the calculation.

OpmerkingenRemarks

  • USERELATIONSHIP kan alleen worden gebruikt in functies die een filter als argument gebruiken, bijvoorbeeld: De functies CALCULATE, CALCULATETABLE, CLOSINGBALANCEMONTH, CLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTD, TOTALQTD en 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 niet worden gebruikt wanneer beveiliging op rijniveau is gedefinieerd voor de tabel waarin de meting is opgenomen.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])) retourneert bijvoorbeeld een fout als beveiliging op rijniveau is gedefinieerd voor DimCustomer.For example, CALCULATE(SUM([SalesAmount]), USERELATIONSHIP(FactInternetSales[CustomerKey], DimCustomer[CustomerKey])) will return an error if row level security is defined for DimCustomer.

  • USERELATIONSHIP gebruikt bestaande relaties in het model, waarbij relaties worden aangeduid met de eindpuntkolommen.USERELATIONSHIP uses existing relationships in the model, identifying relationships by their ending point columns.

  • In USERELATIONSHIP is de status van een relatie niet van belang. Met andere woorden, of de relatie nu wel of niet actief is, heeft geen invloed op het gebruik van de functie.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. Zelfs als de relatie inactief is, wordt deze gebruikt en worden eventuele andere actieve relaties die mogelijk aanwezig zijn in het model overschreven, maar niet vermeld in de functieargumenten.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.

  • Er wordt een fout geretourneerd als een kolom met de naam van een argument geen deel uitmaakt van een relatie of de argumenten tot verschillende relaties behoren.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.

  • Als er meerdere relaties nodig zijn om tabel A te koppelen aan tabel B in een berekening, moet elke relatie worden aangegeven in een andere USERELATIONSHIP-functie.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.

  • Als CALCULATE-expressies genest zijn en er meerdere CALCULATE-expressies een functie USERELATIONSHIP bevatten, krijgt de binnenste CUSERELATIONSHIP voorrang bij een conflict of onduidelijkheid.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.

  • Er kunnen maximaal 10 USERELATIONSHIP-functies worden genest. Uw expressie kan echter een dieper genest niveau hebben. De volgende voorbeeldexpressie is bijvoorbeeld 3 niveaus diep genest, met slechts 2 voor 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])).

VoorbeeldExample

In het volgende voorbeeld ziet u hoe u de standaard, actieve relatie tussen de tabellen InternetSales en DateTime overschrijft.The following sample shows how to override the default, active, relationship between InternetSales and DateTime tables. De standaardrelatie bestaat tussen de kolom OrderDate in de tabel InternetSales en de kolom Date in de tabel DateTime.The default relationship exists between the OrderDate column, in the InternetSales table, and the Date column, in the DateTime table.

Voor het berekenen van de som van internetverkopen en het toestaan van segmentering door ShippingDate in plaats van de traditionele OrderDate maakt u een meting, [InternetSales by ShippingDate] met behulp van de volgende expressie: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]))  

De relaties tussen InternetSales[ShipmentDate] en DateTime[Date] moeten bestaan en mogen niet de actieve relatie zijn. De relatie tussen InternetSales[Order Date] en DateTime[Date] moet ook bestaan en moet de actieve relatie zijn.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.