İngilizce dilinde oku

Aracılığıyla paylaş


SATıRSAYıSı

Şunlar için geçerlidir: Hesaplanmış sütunHesaplanan tablo ÖlçüGörseli hesaplaması

Belirtilen bölüm içindeki geçerli bağlamın benzersiz sıralamasını, belirtilen düzene göre sıralanmış olarak döndürür. Eşleşme bulunamazsa satır numarası boş olur.

Sözdizimi

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

Parametreler

Süre Tanım
relation (İ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 partitionByiçindeki tüm sütunların ALLSELECTED() varsayılan değeridir.
axis (İsteğe bağlı) Görsel şeklindeki bir eksen. Yalnızca görsel hesaplamalarda kullanılabilir ve relationdeğ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.
Atlanırsa:
- relation açıkça belirtilmelidir.
- partitionBy'de önceden belirtilmemiş relation her sütuna göre sıralama varsayılanlarıdır.
blanks (İ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:
  • 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.
  • İlk olarak, artan veya azalan sıralama düzeninden bağımsız olarak boşluklar her zaman başlangıçta sıralanır.
  • LAST, boşluklar artan veya azalan sıralama düzeninden bağımsız olarak her zaman sonunda sıralanır.

blanks parametresi ve tek tek ifadedeki ORDERBY() işlevindeki boşluklar belirtildiğinde, tek tek orderBy ifadesindeki blanks ilgili orderBy ifadesi için öncelik alır ve blanks belirtilmeden orderBy ifadeleri üst Window işlevindeki blanks parametreyi kabul eder.
partitionBy (İsteğe bağlı) relation nasıl bölümlendiğini tanımlayan sütunları içeren PARTITIONBY() yan tümcesi.
Atlanırsa, relation 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.
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: 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 satır numarası.

Açıklamalar

, partitionByve matchBy sütunlarının her orderBy, ü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:
    • SATIRSAYISI, önce karşılık gelen dış sütunu olmayan tüm orderBy, partitionByve matchBy sütunlarını belirler.
    • ROWNUMBER üst bağlamında bu sütunlar için var olan değerlerin her birleşimi için, SATIRSAYISI değerlendirilir ve bir satır döndürülür.
    • ROWNUMBER'ın son çıkışı bu satırların birleşimidir.
  • Karşılık gelen birden fazla dış sütun varsa, bir hata döndürülür.

matchBy varsa, SATIRSAYISI matchBy ve partitionBy sütunlarını geçerli satırın kimliklerini göstermek için kullanmayı dener.
orderBy ve partitionBy içinde belirtilen sütunlar relationiçindeki her satırı benzersiz olarak tanımlayamıyorsa:

  • SATIRSAYISI, her satırı benzersiz olarak tanımlamak için gereken en az sayıda ek sütun bulmaya çalışır.
  • Bu tür sütunlar bulunabiliyorsa, SATIRSAYISI
    • Her satırı benzersiz olarak tanımlamak için gereken en az sayıda ek sütun bulmaya çalışın.
    • Bu yeni sütunları otomatik olarak orderBy yan tümcesine ekleyin.
    • Bu yeni orderBy sütun kümesini kullanarak her bölümü sıralayın.
  • Bu tür sütunlar bulunamazsa ve işlev çalışma zamanında bir bağlama algılarsa bir hata döndürülür.

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

Örnek 1 - hesaplanmış sütun

Aşağıdaki DAX sorgusu:

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

Aynı EnglishCountryRegionName olan her coğrafyayı StateProvinceName ve City değerlerine göre benzersiz olarak sıralayan bir tablo döndürür.

Örnek 2 - görsel hesaplama

Aşağıdaki görsel hesaplama DAX sorguları:

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

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

Her ay toplam satışa göre benzersiz olarak derecelendiren iki sütun (her yıl içinde ve geçmişin tamamı) oluşturun.

Aşağıdaki ekran görüntüsünde görsel matris ve ilk görsel hesaplama ifadesi gösterilmektedir:

DAX görsel hesaplaması

DİZİN
ORDERBY
PARTITIONBY
PENCERE
RÜTBE