Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:
Számított oszlop
Számított tábla
Mér
Vizualizációs számítás
Egy adott számításban az 1. oszlop és a ColumnName2 oszlop közötti kapcsolatként használandó kapcsolatot adja meg.
Szemantika
USERELATIONSHIP(<columnName1>,<columnName2>)
Paraméterek
| Időszak | Definíció |
|---|---|
columnName1 |
Egy meglévő oszlop neve, amely szabványos DAX szintaxist használ, és teljes mértékben minősített, amely általában a használandó kapcsolat több oldalát jelöli; ha az argumentumok fordított sorrendben vannak megadva, a függvény felcseréli őket használat előtt. Ez az argumentum nem lehet kifejezés. |
columnName2 |
Egy meglévő oszlop neve, amely szabványos DAX szintaxist használ, és teljes mértékben minősített, amely általában a használandó kapcsolat egyik vagy keresési oldalát jelöli; ha az argumentumok fordított sorrendben vannak megadva, a függvény felcseréli őket használat előtt. Ez az argumentum nem lehet kifejezés. |
Visszaadott érték
A függvény nem ad vissza értéket; a függvény csak a megadott kapcsolatot engedélyezi a számítás időtartamára.
Megjegyzések
USERELATIONSHIPCsak olyan függvényekben használható, amelyek argumentumként szűrőt használnak, például: CALCULATE, CALCULATETABLE, , CLOSINGBALANCEWEEK, CLOSINGBALANCEMONTHCLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEWEEK, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTDTOTALWTDTOTALQTD és TOTALYTD függvények.
USERELATIONSHIP nem használható, ha sorszintű biztonság van meghatározva ahhoz a táblához, amelyben a mérték szerepel. Például
CALCULATE(SUM([SalesAmount]), USERELATIONSHIP(FactInternetSales[CustomerKey], DimCustomer[CustomerKey]))hibát ad vissza, ha sorszintű biztonság van definiálva a DimCustomer esetében.USERELATIONSHIP a modellben meglévő kapcsolatokat használ, és a végpontoszlopok alapján azonosítja a kapcsolatokat.
A USERELATIONSHIPa kapcsolat állapota nem fontos; vagyis azt, hogy a kapcsolat aktív-e vagy sem, nem befolyásolja-e a függvény használatát. A rendszer akkor is használja a kapcsolatot, ha inaktív, és felülbírálja a modellben esetlegesen jelen lévő, de a függvényargumentumokban nem említett aktív kapcsolatokat.
A rendszer hibát ad vissza, ha az argumentumként elnevezett oszlopok egyike nem része egy kapcsolatnak, vagy az argumentumok különböző kapcsolatokhoz tartoznak.
Ha több kapcsolatra van szükség ahhoz, hogy az A táblát a B táblához lehessen csatlakoztatni egy számításban, minden kapcsolatot egy másik USERELATIONSHIP függvényben kell megjelölni.
Ha CALCULATE kifejezések beágyazottak, és egynél több CALCULATE kifejezés tartalmaz egy USERELATIONSHIP függvényt, akkor a legbelső USERELATIONSHIP az, amelyik ütközés vagy kétértelműség esetén érvényesül.
Legfeljebb 10 USERELATIONSHIP függvény ágyazható be; azonban a kifejezés mélyebb beágyazási szinttel rendelkezhet, azaz. a következő mintakifejezés 3 szinttel van beágyazva, de csak 2 a USERELATIONSHIPesetében:
=CALCULATE(CALCULATE( CALCULATE( <anyExpression>, USERELATIONSHIP( t1[colA], t2[colB])), t99[colZ]=999), USERELATIONSHIP( t1[colA], t2[colA])).Az 1–1 kapcsolatok esetében USERELATIONSHIP csak egy irányba aktiválja a kapcsolatot. A szűrők csak a ColumnName2 táblából a columnName1 táblába áramolhatnak. Ha kétirányú keresztszűrésre van szükség, két, ellentétes irányú USERELATIONSHIP használható ugyanabban a számításban. Például:
CALCULATE(..., USERELATIONSHIP(T1[K], T2[K]), USERELATIONSHIP(T2[K], T1[K])).
Példa
Az alábbi minta bemutatja, hogyan bírálhatja felül az InternetSales és a DateTime táblák közötti alapértelmezett, aktív kapcsolatot. Az alapértelmezett kapcsolat az InternetSales tábla OrderDate oszlopa és a DateTime tábla Dátum oszlopa között létezik.
Az internetes értékesítések összegének kiszámításához és a hagyományos OrderDate helyett a ShippingDate szerinti szeletelés engedélyezéséhez hozzon létre mértéket [InternetSales by ShippingDate] a következő kifejezéssel:
= CALCULATE(SUM(InternetSales[SalesAmount]), USERELATIONSHIP(InternetSales[ShippingDate], DateTime[Date]))
Az InternetSales[ShippingDate] és a DateTime[Date] kapcsolatnak léteznie kell, és nem lehet aktív kapcsolat; Az InternetSales[OrderDate] és a DateTime[Date] közötti kapcsolatnak is léteznie kell, és aktív kapcsolatnak kell lennie.