USERELATIONSHIP

Şunun için geçerlidir: Hesaplanan sütunHesaplanan tabloÖlçüGörseli hesaplaması

Belirli bir hesaplamada kullanılacak ilişkiyi columnName1 ile columnName2 arasında var olan ilişki olarak belirtir.

Sözdizimi

USERELATIONSHIP(<columnName1>,<columnName2>)  

Parametreler

Süre Tanım
columnName1 Standart DAX söz dizimi ve tam niteleme kullanan, genellikle kullanılacak ilişkinin birçok tarafını temsil eden mevcut bir sütunun adı; bağımsız değişkenler ters sırada verilirse, işlev bunları kullanmadan önce değiştirir. Bu bağımsız değişken bir ifade olamaz.
columnName2 Standart DAX söz dizimi ve tam niteleme kullanan, genellikle kullanılacak ilişkinin tek tarafını veya arama tarafını temsil eden mevcut bir sütunun adı; bağımsız değişkenler ters sırada verilirse, işlev bunları kullanmadan önce değiştirir. Bu bağımsız değişken bir ifade olamaz.

Dönüş değeri

İşlev değer döndürmez; işlevi yalnızca hesaplama süresi boyunca belirtilen ilişkiyi etkinleştirir.

Açıklamalar

  • USERELATIONSHIP yalnızca bağımsız değişken olarak filtre alan işlevlerde kullanılabilir, örneğin: CALCULATE, CALCULATETABLE, CLOSINGBALANCEMONTH, CLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTD, TOTALQTD ve TOTALYTD işlevleri.

  • ÖLÇÜnün dahil olduğu tablo için satır düzeyi güvenlik tanımlandığında USERELATIONSHIP kullanılamaz. Örneğin, CALCULATE(SUM([SalesAmount]), USERELATIONSHIP(FactInternetSales[CustomerKey], DimCustomer[CustomerKey])) DimCustomer için satır düzeyi güvenlik tanımlanmışsa hata döndürür.

  • USERELATIONSHIP modelde var olan ilişkileri kullanır ve ilişkileri bitiş noktası sütunlarına göre tanımlar.

  • USERELATIONSHIP'de bir ilişkinin durumu önemli değildir; diğer bir ifadeyle, ilişkinin etkin olup olmadığı işlevin kullanımını etkilemez. İlişki etkin olmasa bile kullanılır ve modelde mevcut olabilecek ancak işlev bağımsız değişkenlerinde belirtilmeyen diğer etkin ilişkileri geçersiz kılar.

  • Bağımsız değişken olarak adlandırılan sütunlardan herhangi biri bir ilişkinin parçası değilse veya bağımsız değişkenler farklı ilişkilere aitse hata döndürülür.

  • Bir hesaplamada A tablosunu B tablosuna birleştirmek için birden çok ilişki gerekiyorsa, her ilişki farklı bir USERELATIONSHIP işlevinde belirtilmelidir.

  • CALCULATE ifadeleri iç içe yerleştirilmişse ve birden fazla CALCULATE ifadesi USERELATIONSHIP işlevi içeriyorsa, çakışma veya belirsizlik durumunda en içteki USERELATIONSHIP geçerli olur.

  • En fazla 10 USERELATIONSHIP işlevi iç içe yerleştirilmiş olabilir; ancak ifadeniz daha derin bir iç içe yerleştirme düzeyine sahip olabilir. Aşağıdaki örnek ifade, USERELATIONSHIP için 3 düzey derin ancak yalnızca 2 düzey iç içe yerleştirilmiştir: =CALCULATE(CALCULATE( CALCULATE( <anyExpression>, USERELATIONSHIP( t1[colA], t2[colB])), t99[colZ]=999), USERELATIONSHIP( t1[colA], t2[colA])).

  • 1-1 ilişkileri için USERELATIONSHIP ilişkiyi yalnızca bir yönde etkinleştirir. Özellikle filtreler yalnızca columnName2 tablosundan columnName1'in tablosuna akabilecektir. çift yönlü çapraz filtreleme isteniyorsa, aynı hesaplamada ters yönlülüğe sahip iki USERELATIONSHIP kullanılabilir. Örneğin, CALCULATE(..., USERELATIONSHIP(T1[K], T2[K]), USERELATIONSHIP(T2[K], T1[K])).

Örnek

Aşağıdaki örnekte InternetSales ve DateTime tabloları arasındaki varsayılan, etkin ilişkiyi geçersiz kılma gösterilmektedir. Varsayılan ilişki, InternetSales tablosundaki OrderDate sütunu ile DateTime tablosundaki Date sütunu arasında bulunur.

İnternet satışlarının toplamını hesaplamak ve geleneksel OrderDate yerine ShippingDate ile dilimlemeye izin vermek için aşağıdaki ifadeyi kullanarak [ShippingDate tarafından InternetSales] ölçüsü oluşturun:

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

InternetSales[ShipmentDate] ile DateTime[Date] arasındaki ilişkiler mevcut olmalı ve etkin ilişki olmamalıdır; ayrıca InternetSales[OrderDate] ile DateTime[Date] arasındaki ilişki mevcut olmalı ve etkin ilişki olmalıdır.