Baca dalam bahasa Inggris

Bagikan melalui


USERELATIONSHIP

Berlaku untuk: kolom terhitungTabel terhitungMeasurePerhitungan visual

Menentukan hubungan yang akan digunakan dalam perhitungan tertentu sebagai hubungan yang ada di antara columnName1 and columnName2.

Sintaks

DAX
USERELATIONSHIP(<columnName1>,<columnName2>)  

Parameter

Term Definisi
columnName1 Nama kolom yang ada, menggunakan sintaks DAX standar and sepenuhnya memenuhi syarat, yang biasanya mewakili banyak sisi hubungan yang akan digunakan; if argumen diberikan dalam urutan terbalik, fungsi akan menukarnya sebelum menggunakannya. Argumen ini tidak boleh berupa ekspresi.
columnName2 Nama kolom yang ada, menggunakan sintaks DAX standar and sepenuhnya memenuhi syarat, yang biasanya mewakili sisi pencarian satu sisi or hubungan yang akan digunakan; if argumen diberikan dalam urutan terbalik, fungsi akan menukarnya sebelum menggunakannya. Argumen ini tidak boleh berupa ekspresi.

Mengembalikan value

Fungsi tidak mengembalikan value; fungsi hanya mengaktifkan hubungan yang ditunjukkan untuk duration perhitungan.

Keterangan

  • USERELATIONSHIP hanya dapat digunakan dalam fungsi yang mengambil filter sebagai argumen, misalnya: CALCULATE, CALCULATETABLE, CLOSINGBALANCEMONTH, CLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTD, TOTALQTDandTOTALYTD fungsi.

  • USERELATIONSHIP tidak dapat digunakan ketika keamanan tingkat baris ditentukan untuk tabel tempat measure disertakan. Misalnya, CALCULATE(SUM([SalesAmount]), USERELATIONSHIP(FactInternetSales[CustomerKey], DimCustomer[CustomerKey])) akan mengembalikan keamanan tingkat baris errorif didefinisikan untuk DimCustomer.

  • USERELATIONSHIP menggunakan hubungan yang ada dalam model, mengidentifikasi hubungan dengan kolom titik akhirnya.

  • Dalam USERELATIONSHIP, status hubungan not penting; artinya, apakah hubungan aktif ornot tidak not memengaruhi penggunaan fungsi. Even if hubungan tidak aktif, hubungan tersebut akan digunakan and mengambil alih hubungan aktif lainnya yang mungkin ada dalam model tetapi not disebutkan dalam argumen fungsi.

  • error dikembalikan if salah satu kolom bernama sebagai argumen not bagian dari hubungan or argumen milik hubungan yang berbeda.

  • If beberapa hubungan diperlukan untuk menggabungkan tabel A ke tabel B dalam perhitungan, setiap hubungan harus ditunjukkan dalam fungsi USERELATIONSHIP yang berbeda.

  • ekspresi IfCALCULATE ditumpuk, and lebih dari satu ekspresi CALCULATEcontains fungsi USERELATIONSHIP, maka USERELATIONSHIP terdahulu adalah ekspresi yang berlaku jika terjadi konflik or ambiguitas.

  • Hingga 10 fungsi USERELATIONSHIP dapat ditumpuk; namun, ekspresi Anda mungkin memiliki tingkat bersarang yang lebih dalam, yaitu. ekspresi sample berikut ditumpuk 3 tingkat dalam tetapi hanya 2 untuk USERELATIONSHIP: =CALCULATE(CALCULATE( CALCULATE( <anyExpression>, USERELATIONSHIP( t1[colA], t2[colB])), t99[colZ]=999), USERELATIONSHIP( t1[colA], t2[colA])).

  • Untuk hubungan 1-ke-1, USERELATIONSHIP hanya akan mengaktifkan hubungan dalam satu arah. Secara khusus, filters hanya akan dapat mengalir dari tabel columnName2ke tabel columnName1. If pemfilteran silang dua arah diinginkan, dua USERELATIONSHIP dengan arah yang berlawanan dapat digunakan dalam perhitungan yang sama. Contohnya,CALCULATE(..., USERELATIONSHIP(T1[K], T2[K]), USERELATIONSHIP(T2[K], T1[K])).

Contoh

sample berikut menunjukkan cara mengambil alih default, aktif, hubungan antara tabel InternetSales and DateTime. Hubungan default ada di antara kolom OrderDate, dalam tabel InternetSales, and kolom Date, dalam tabel DateTime.

Untuk calculatesum penjualan internet and memungkinkan pemotongan dengan ShippingDate alih-alih OrderDate tradisional, buat measure, [InternetSales by ShippingDate] menggunakan ekspresi berikut:

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

Hubungan antara InternetSales[ShipmentDate] and DateTime[Date] harus ada and harus not menjadi hubungan aktif; selain itu, hubungan antara InternetSales[OrderDate] and DateTime[Date] harus ada and harus menjadi hubungan aktif.