RÜTBE
Şunlar için geçerlidir: Hesaplanmış sütun Hesaplanan tablo Ölçü Görseli hesaplaması
Belirtilen bölüm içindeki geçerli bağlamın sıralamasını, belirtilen düzene göre sıralanmış olarak döndürür. Eşleşme bulunamazsa rank boş olur.
Sözdizimi
RANK ( [<ties>][, <relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )
Parametreler
Süre | Tanım |
---|---|
Özellikler | (İsteğe bağlı) İki veya daha fazla satır bağlı olduğunda sıralamanın nasıl işleneceğini tanımlar. Belirtilirse desteklenen değer DENSE veya SKIP olur. Atlanırsa: - Atla varsayılanları |
ilişki | (İsteğe bağlı) Çıkış satırının döndürüldiği tablo ifadesi. Belirtilirse, orderBy> ve <partitionBy> içindeki <tüm sütunlar bu sütundan gelmelidir. Atlanırsa: - <orderBy> açıkça belirtilmelidir. - Tüm <orderBy> ve <partitionBy> sütunları tam olarak nitelenmiş olmalı ve tek bir tablodan gelmelidir. - OrderBy ve <partitionBy> içindeki <tüm sütunların ALLSELECTED() varsayılan değeridir>. |
eksen | (İsteğe bağlı) Görsel şeklindeki bir eksen. Yalnızca görsel hesaplamalarda kullanılabilir ve ilişkiyi> değiştirir<. |
orderBy | (İsteğe bağlı) Her bölümün nasıl sıralanacağını tanımlayan sütunları içeren ORDERBY() yan tümcesi. Belirtilmezse: - <ilişki> açıkça belirtilmelidir. - PartitionBy'de önceden belirtilmemiş ilişkideki <> her sütuna göre sıralama varsayılanlarıdır>.< |
Boşluk | (İsteğe bağlı) Sıralama sırasında boş değerlerin nasıl işleneceğini tanımlayan bir numaralandırma. Desteklenen değerler şunlardır:
<Tek tek ifadede ORDERBY() işlevinde blanks> parametresi ve boşluklar belirtildiğinde, <tek tek orderBy ifadesindeki boşluklar> ilgili orderBy ifadesi için öncelik alır ve belirtilmemiş> <orderBy ifadeleri üst Window işlevinde blanks> parametresini kabul <eder. |
partitionBy | (İsteğe bağlı) İlişkinin> nasıl <bölümlendiğini tanımlayan sütunları içeren PARTITIONBY() yan tümcesi. Belirtilmezse, <ilişki> tek bir bölüm olarak değerlendirilir. |
matchBy | (İsteğe bağlı) Verileri eşleştirmeyi ve geçerli satırı tanımlamayı tanımlayan sütunları içeren MATCHBY() yan tümcesi. |
sıfırlama | (İsteğe bağlı) Yalnızca görsel hesaplamalarda kullanılabilir. Hesaplamanın sıfırlanıp sıfırlanmadığını ve görsel şeklin sütun hiyerarşisinin hangi düzeyinde olduğunu gösterir. Kabul edilen değerler şunlardır: NONE, LOWESTPARENT, HIGHESTPARENT veya bir tamsayı. Davranış, tamsayı işaretine bağlıdır: - Sıfır veya atlanırsa, hesaplama sıfırlanmaz. NONE ile eşdeğerdir. - Pozitifse, tamsayı en yüksekten başlayıp tanecikten bağımsız olarak sütunu tanımlar. HIGHESTPARENT değeri 1'e eşdeğerdir. - Negatifse, tamsayı geçerli taneye göre en düşükten başlayan sütunu tanımlar. LOWESTPARENT , -1 ile eşdeğerdir. |
Dönüş değeri
Geçerli bağlamın derecelendirme numarası.
Açıklamalar
Her <orderBy>, <partitionBy> ve <matchBy> sütununun, üzerinde çalışılması gereken geçerli satırı tanımlamaya yardımcı olması için aşağıdaki davranışla karşılık gelen bir dış değere sahip olması gerekir:
- Tam olarak bir dış sütun varsa, değeri kullanılır.
- Karşılık gelen dış sütun yoksa:
- RANK, önce karşılık gelen dış sütunu olmayan tüm <orderBy>, <partitionBy> ve <matchBy> sütunlarını belirler.
- RANK üst bağlamında bu sütunlar için mevcut değerlerin her birleşimi için RANK değerlendirilir ve bir satır döndürülür.
- RANK'in son çıkışı bir derece numarasıdır.
<matchBy> varsa RANK, geçerli satırın kimliklerini artırmak için matchBy> ve <partitionBy'deki> <sütunları kullanmayı dener.
orderBy> ve <partitionBy> içinde <belirtilen sütunlar ilişkideki <>her satırı benzersiz olarak tanımlayamıyorsa, iki veya daha fazla satır aynı derecelendirmeye sahip olabilir ve sıralama, ties parametresi tarafından belirlenir.
RANK, toplam satırlar için boş bir değer döndürür. İfadenizi kapsamlı bir şekilde test edin.
SUM, SUMX ile karşılaştırıldığında RANKX ile karşılaştırılmaz.
<sıfırlama> yalnızca görsel hesaplamalarda kullanılabilir ve orderBy veya <partitionBy>> ile birlikte <kullanılamaz. <Sıfırlama> varsa eksen> <belirtilebilir ancak <ilişki> belirtilemez.
Örnek 1 - hesaplanmış sütun
Aşağıdaki DAX sorgusu:
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
Her coğrafyayı aynı EnglishCountryRegionName ile StateProvinceName ve City değerlerine göre sıralayan bir tablo döndürür. Boş <orderBy> sütun değerleri sonunda sıralanır.
Örnek 2 - görsel hesaplama
Aşağıdaki görsel hesaplama DAX sorguları:
SalesRankWithinYear = RANK(DENSE, ORDERBY([SalesAmount], DESC), PARTITIONBY([CalendarYear]))
SalesRankAllHistory = RANK(DENSE, ORDERBY([SalesAmount], DESC))
Her ay toplam satışa göre hem her yıl hem de tüm geçmişe göre sıralayan iki sütun oluşturun.
Aşağıdaki ekran görüntüsünde görsel matris ve ilk görsel hesaplama ifadesi gösterilmektedir: