Baca dalam bahasa Inggris

Bagikan melalui


ROWNUMBER

Berlaku untuk: kolom terhitungTabel terhitungMeasurePerhitungan visual

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

Sintaks

ROWNUMBER ( [<relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )

Parameter

Term Definisi
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:
  • DEFAULT (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 rownumber untuk konteks saat ini.

Keterangan

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:
    • ROWNUMBER 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 ROWNUMBER, ROWNUMBER dievaluasi and baris dikembalikan.
    • output akhir ROWNUMBERadalah union baris ini.
  • If ada lebih dari satu kolom luar yang sesuai, error dikembalikan.

If matchBy ada, maka ROWNUMBER 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, lalu:

  • ROWNUMBER akan mencoba find jumlah kolom tambahan paling sedikit yang diperlukan untuk mengidentifikasi setiap baris secara unik.
  • If kolom tersebut dapat ditemukan, ROWNUMBER akan
    • Cobalah untuk find jumlah kolom tambahan paling sedikit yang diperlukan untuk mengidentifikasi setiap baris secara unik.
    • Tambahkan kolom baru ini secara otomatis ke klausa orderBy.
    • Urutkan setiap partisi menggunakan kumpulan kolom orderBy baru ini.
  • If kolom tersebut tidak dapat ditemukan and fungsi mendeteksi dasi saat runtime, error dikembalikan.

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:

EVALUATE
ADDCOLUMNS(
    'DimGeography',
    "UniqueRank",
    ROWNUMBER(
    	'DimGeography',
    	ORDERBY(
    		'DimGeography'[StateProvinceName], desc,
    		'DimGeography'[City], asc),
    	PARTITIONBY(
    		'DimGeography'[EnglishCountryRegionName])))
ORDER BY [EnglishCountryRegionName] asc, [StateProvinceName] desc, [City] asc

Mengembalikan tabel yang secara unik memberi peringkat setiap geografi dengan EnglishCountryRegionName yang sama, dengan StateProvinceName and City mereka.

Contoh 2 - perhitungan visual

Penghitungan visual berikut DAX kueri:

SalesRankWithinYear = ROWNUMBER(ORDERBY([SalesAmount], DESC), PARTITIONBY([CalendarYear]))

SalesRankAllHistory = ROWNUMBER(ORDERBY([SalesAmount], DESC))

Buat dua kolom yang secara unik rank setiap month oleh 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
RANK