USERELATIONSHIP
Şunlar için geçerlidir:Hesaplanan sütun
Hesaplanan tablo
Ölçü
Görsel hesaplama
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 bir filtreyi bağımsız değişken olarak 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, DimCustomer için satır düzeyi güvenlik tanımlanmışsa
CALCULATE(SUM([SalesAmount]), USERELATIONSHIP(FactInternetSales[CustomerKey], DimCustomer[CustomerKey]))
bir 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.
USERELATIONSHIPbir 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 ifadeler iç içe yerleştirilmişse ve birden fazla CALCULATE ifadesi bir USERELATIONSHIP işlevi içeriyorsa, çakışma veya belirsizlik durumunda en içteki USERELATIONSHIP geçerli olur.
en fazla 10 USERELATIONSHIP işlev iç içe olabilir; ancak ifadeniz daha derin bir iç içe yerleştirme düzeyine sahip olabilir. Aşağıdaki örnek ifade 3 düzey derinde iç içe yerleştirilmiştir, ancak USERELATIONSHIPiçin yalnızca 2 düzeydir:
=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 columnName2tablosundan columnName1tablosuna 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.