Peringkat (MDX)
Mengembalikan peringkat berbasis satu dari tuple tertentu dalam set tertentu.
Sintaks
Rank(Tuple_Expression, Set_Expression [ ,Numeric Expression ] )
Argumen
Tuple_Expression
Ekspresi Ekspresi Multidmensional (MDX) yang valid yang mengembalikan tuple.
Set_Expression
Ekspresi Ekspresi Multidminsional (MDX) yang valid yang mengembalikan satu set.
Numeric_Expression
Ekspresi numerik valid yang biasanya merupakan ekspresi Ekspresi Multidmensional (MDX) koordinat sel yang mengembalikan angka.
Keterangan
Jika ekspresi numerik ditentukan, fungsi Peringkat menentukan peringkat berbasis satu untuk tuple yang ditentukan dengan mengevaluasi ekspresi numerik yang ditentukan terhadap tuple. Jika ekspresi numerik ditentukan, fungsi Peringkat menetapkan peringkat yang sama untuk tuple dengan nilai duplikat dalam set. Penetapan peringkat yang sama untuk menduplikasi nilai ini memengaruhi peringkat tuple berikutnya dalam set. Misalnya, satu set terdiri dari tuple berikut, {(a,b), (e,f), (c,d)}
. Tuple (a,b)
memiliki nilai yang sama dengan tuple (c,d)
. Jika tupel (a,b)
memiliki peringkat 1, maka keduanya (a,b)
dan (c,d)
akan memiliki peringkat 1. Namun, tuple (e,f)
akan memiliki peringkat 3. Mungkin tidak ada tuple dalam set ini dengan peringkat 2.
Jika ekspresi numerik tidak ditentukan, fungsi Peringkat mengembalikan posisi ordinal berbasis satu dari tuple yang ditentukan.
Fungsi Peringkat tidak mengurutkan set.
Contoh
Contoh berikut mengembalikan set tuple yang berisi pelanggan dan tanggal pembelian, dengan menggunakan fungsi Filter, NonEmpty, Item, dan Rank untuk menemukan tanggal terakhir setiap pelanggan melakukan pembelian.
WITH SET MYROWS AS FILTER
(NONEMPTY
([Customer].[Customer Geography].MEMBERS
* [Date].[Date].[Date].MEMBERS
, [Measures].[Internet Sales Amount]
) AS MYSET
, NOT(MYSET.CURRENT.ITEM(0)
IS MYSET.ITEM(RANK(MYSET.CURRENT, MYSET)).ITEM(0))
)
SELECT [Measures].[Internet Sales Amount] ON 0,
MYROWS ON 1
FROM [Adventure Works]
Contoh berikut menggunakan fungsi Pesanan , bukan fungsi Peringkat , untuk memberi peringkat anggota hierarki Kota berdasarkan ukuran Jumlah Penjualan Penjual lalu menampilkannya dalam urutan berpangkat. Dengan menggunakan fungsi Pesanan untuk terlebih dahulu mengurutkan sekumpulan anggota hierarki Kota, pengurutan dilakukan hanya sekali dan kemudian diikuti oleh pemindaian linier sebelum disajikan dalam urutan diurutkan.
WITH
SET OrderedCities AS Order
([Geography].[City].[City].members
, [Measures].[Reseller Sales Amount], BDESC
)
MEMBER [Measures].[City Rank] AS Rank
([Geography].[City].CurrentMember, OrderedCities)
SELECT {[Measures].[City Rank],[Measures].[Reseller Sales Amount]} ON 0
,Order
([Geography].[City].[City].MEMBERS
,[City Rank], ASC)
ON 1
FROM [Adventure Works]