SATıRSAYıSı
Ş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 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 |
---|---|
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 satır 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:
- ROWNUMBER ilk olarak karşılık gelen dış sütunu olmayan tüm <orderBy>, <partitionBy> ve <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, ROWNUMBER geçerli satırın kimliklerini artırmak için matchBy> ve <partitionBy> sütunlarını <kullanmayı dener.
orderBy ve <partitionBy>> içinde <belirtilen sütunlar ilişkideki <>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ı orderBy> yan tümcesine <otomatik olarak 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.
<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',
"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: