Aracılığıyla paylaş


RANK

Şunlar için geçerlidir:Hesaplanan sütunHesaplanan tabloÖlçmekGörsel hesaplama

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>] )

Parametre

Terim Tanım
ties (İ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ı
relation (İsteğe bağlı) Çıkış satırının döndürüldiği tablo ifadesi. Görsel hesaplamalarda kullanılırsa, bu parametre görsel şeklindeki bir ekseni kabul eder.
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.
- varsayılan olarak ALLSELECTED ve orderBytüm sütunların partitionBy() olarak ayarlanır.
orderBy (İsteğe bağlı) Her bölümün nasıl sıralanacağını tanımlayan sütunları içeren bir ORDERBY() yan tümcesi.
Atlanırsa:
- relation açıkça belirtilmelidir.
- relation'de önceden belirtilmemiş partitionBy her sütuna göre sıralama varsayılanlarıdır.
blanks (İsteğe bağlı) relation veya axissıralarken boş değerlerin nasıl işleneceğini tanımlayan bir numaralandırma.
Desteklenen değerler şunlardır:
  • DEFAULT (varsayılan değer), burada sayısal değerlerin davranışı boş değerlerdir, sıfır ve negatif değerler arasında sıralanır. Dizelerin davranışı, boş dizeler de dahil olmak üzere tüm dizelerden önce sıralanmış boş değerlerdir.
  • FIRST, artan veya azalan sıralama düzenine bakılmaksızın boşluklar her zaman başlangıçta sıralanır.
  • LAST, artan veya azalan sıralama düzenine bakılmaksızın boşluklar her zaman sonunda sıralanır.

blanks işlevindeki ORDERBY parametresi ve boşluklar her iki ifadede de belirtildiğinde, tek tek orderBy ifadesindeki ilgili orderBy ifadesi için öncelik alır ve blanks belirtilmeden orderBy ifadeleri üst işlevdeki blanks parametresini kabul eder.
partitionBy (İsteğe bağlı) PARTITIONBY yan tümcesi. Atlanırsa, relation tek bir bölüm olarak değerlendirilir.
matchBy (İsteğe bağlı) MATCHBY Verileri eşleştirmeyi ve geçerli satırı tanımlamayı tanımlayan sütunları içeren () yan tümcesi.
reset (İ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: geçerli görsel şeklindeki bir sütuna, NONE (varsayılan), LOWESTPARENT, HIGHESTPARENTveya tamsayıya yönelik alan başvurusu. Davranış, tamsayı işaretine bağlıdır:
- Sıfır veya atlanırsa, hesaplama sıfırlanmaz. NONEeşdeğerdir.
- Pozitifse, tamsayı en yüksekten başlayıp tahıldan bağımsız olarak sütunu tanımlar. HIGHESTPARENT 1'e eşdeğerdir.
- Negatifse, tamsayı geçerli dilime 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

  • , orderByve partitionBy sütunlarının her matchBy, üzerinde çalışılan geçerli satırı tanımlamaya yardımcı olmak için aşağıdaki davranışla karşılık gelen bir dış değere sahip olmalıdır:

    • 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, partitionByve matchBy sütunlarını belirler.
      • RANK üst bağlamda bu sütunlar için var olan değerlerin her birleşimi için RANK değerlendirilir ve bir satır döndürülür.
      • RANKson çıktısı bir derece numarasıdır.
  • matchBy varsa, RANKmatchBy sütunlarını kullanmaya çalışır ve geçerli satırın kimliğine partitionBy.

  • orderBy ve partitionBy içinde belirtilen sütunlar relationiçindeki 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.

  • RANK, RANKXSUMile karşılaştırdığı için SUMX ile karşılaştırılmaz.

  • reset yalnızca görsel hesaplamalarda kullanılabilir ve orderBy veya partitionByile birlikte kullanılamaz. reset varsa, axis belirtilebilir ancak relation belirtilemez.

  • değeri reset mutlak (pozitif bir tamsayı HIGHESTPARENT veya alan başvurusu) ise ve hesaplama hiyerarşideki hedef düzeyde veya üstünde değerlendirilirse, hesaplama her öğe için sıfırlanır. Diğer bir ifadeyle, işlev yalnızca belirli bir öğeyi içeren bir bölüm içinde değerlendirilir.

Ö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

Sorgular DAX aşağıdaki görsel hesaplama:

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:

görsel hesaplama

INDEX ORDERBY PARTITIONBY WINDOW ROWNUMBER