Baca dalam bahasa Inggris

Bagikan melalui


RANK

Berlaku untuk: kolom terhitungTabel terhitungMeasurePerhitungan visual

Mengembalikan peringkat untuk konteks saat ini dalam partisi yang ditentukan, diurutkan menurut urutan yang ditentukan. If kecocokan tidak dapat ditemukan maka rankblank.

Sintaksis

DAX
RANK ( [<ties>][, <relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )

Parameter

Istilah Definisi
ties (Opsional) Menentukan cara menangani peringkat saat dua or lebih banyak baris terikat.
If ditentukan, value yang didukung adalah DENSE, or SKIP.
If dihilangkan:
- Default ke SKIP
relation (Opsional) Ekspresi tabel tempat baris output dikembalikan.
If yang ditentukan, all kolom di orderByandpartitionBy harus berasal darinya.
If dihilangkan:
- orderBy harus ditentukan secara eksplisit.
- kolom AllorderByandpartitionBy harus sepenuhnya memenuhi syarat and berasal dari satu tabel.
- Default ke ALLSELECTED() kolom all di orderByandpartitionBy.
axis (Opsional) Sumbu dalam bentuk visual. Hanya tersedia dalam perhitungan visual, and menggantikan relation.
orderBy (Opsional) Klausa ORDERBY() yang berisi kolom yang define cara setiap partisi diurutkan.
If dihilangkan:
- relation harus ditentukan secara eksplisit.
- Default untuk mengurutkan menurut setiap kolom di relation yang sudah ditentukan not dalam partitionBy.
blanks (Opsional) Enumerasi yang menentukan cara menangani blankvalues saat mengurutkan.
values yang didukung adalah:
  • KEEP (valuedefault ), di mana perilaku untuk values numerik blankvalues diurutkan antara nol and negatif values. Perilaku untuk string blankvalues diurutkan sebelum string all, termasuk string kosong.
  • FIRST, kosong selalu diurutkan di awal, terlepas dari urutan pengurutan naik or turun.
  • LAST, kosong selalu diurutkan di akhir, terlepas dari urutan pengurutan naik or turun.

Catatan, ketika parameter blanksand kosong dalam fungsi ORDERBY() pada ekspresi individual ditentukan, blanks pada ekspresi orderBy individual lebih diprioritaskan untuk ekspresi orderBy yang relevan, ekspresi andorderBy tanpa blanks ditentukan akan mematuhi parameter blanks pada fungsi Window induk.
partitionBy (Opsional) Klausa PARTITIONBY() yang berisi kolom yang define bagaimana relation dipartisi.
If dihilangkan, relation diperlakukan sebagai partisi tunggal.
matchBy (Opsional) Klausa MATCHBY() yang berisi kolom yang define cara mencocokkan data and mengidentifikasi baris saat ini.
reset (Opsional) Hanya tersedia dalam perhitungan visual. Menunjukkan if reset perhitungan, and tingkat hierarki kolom bentuk visual. values yang diterima adalah: NONE, LOWESTPARENT, HIGHESTPARENT, or bilangan bulat. Perilaku tergantung pada signbilangan bulat :
- If nol or dihilangkan, perhitungan not mengatur ulang. Setara dengan NONE.
- If positif, bilangan bulat mengidentifikasi kolom mulai dari biji-bijian tertinggi dan independen. HIGHESTPARENT setara dengan 1.
- If negatif, bilangan bulat mengidentifikasi kolom mulai dari terendah, relatif terhadap butir saat ini. LOWESTPARENT setara dengan -1.

Mengembalikan value

Angka rank untuk konteks saat ini.

Komentar

  • Setiap kolom orderBy, partitionBy, andmatchBy harus memiliki value luar yang sesuai untuk membantu define baris saat ini yang akan dioperasikan, dengan perilaku berikut:

    • If ada tepat satu kolom luar yang sesuai, value digunakan.
    • If tidak ada kolom luar yang sesuai, lalu:
      • RANK akan first menentukan kolom allorderBy, partitionBy, andmatchBy yang tidak memiliki kolom luar yang sesuai.
      • Untuk setiap kombinasi values yang ada untuk kolom ini dalam konteks induk RANK, RANK dievaluasi and baris dikembalikan.
      • output akhir RANKadalah angka rank.
  • If matchBy ada, maka RANK akan mencoba menggunakan kolom di matchByandpartitionBy untuk mengidenfitas baris saat ini.

  • If kolom yang ditentukan dalam orderByandpartitionBy tidak dapat mengidentifikasi setiap baris secara unik dalam relation, maka dua baris or lebih banyak mungkin memiliki peringkat yang sama and peringkat akan ditentukan oleh parameter ikatan.

  • RANK mengembalikan blankvalue untuk total baris. Disarankan agar Anda menguji ekspresi Anda secara menyeluruh.

  • RANK not dibandingkan dengan RANKX sebagai SUM dibandingkan dengan SUMX.

  • reset hanya dapat digunakan dalam perhitungan visual, and tidak dapat digunakan dalam kombinasi dengan orderByorpartitionBy. If reset ada, axis dapat ditentukan tetapi relation tidak dapat.

Contoh 1 - kolom terhitung

Kueri DAX berikut ini:

DAX
EVALUATE
ADDCOLUMNS(
    'DimGeography',
    "Rank",
    RANK(
    	DENSE,
    	'DimGeography',
    	ORDERBY(
    		'DimGeography'[StateProvinceName], desc,
    		'DimGeography'[City], asc),
        LAST,
    	PARTITIONBY(
    		'DimGeography'[EnglishCountryRegionName])))
ORDER BY [EnglishCountryRegionName] asc, [StateProvinceName] desc, [City] asc

Mengembalikan tabel yang memberi peringkat setiap geografi dengan EnglishCountryRegionName yang sama, dengan StateProvinceName and City mereka. Blank orderBy values kolom diurutkan di akhir.

Contoh 2 - perhitungan visual

Penghitungan visual berikut DAX kueri:

DAX
SalesRankWithinYear = RANK(DENSE, ORDERBY([SalesAmount], DESC), PARTITIONBY([CalendarYear]))

SalesRankAllHistory = RANK(DENSE, ORDERBY([SalesAmount], DESC))

Buat dua kolom yang rank setiap month dengan total penjualan, keduanya dalam setiap year, and seluruh riwayat.

Cuplikan layar di bawah ini memperlihatkan matriks visual and ekspresi perhitungan visual first:

DAX perhitungan visual

INDEX
ORDERBY
PARTITIONBY
WINDOW
ROWNUMBER