ROWNUMBER
Şunlar için geçerlidir:Hesaplanan sütun
Hesaplanan tablo
Ölçü
Görsel hesaplama
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.
- varsayılan olarak orderBy ve partitionBy tüm sütunların ALLSELECTED() olarak ayarlanır. |
axis |
(İsteğe bağlı) Görsel şeklindeki bir eksen. Yalnızca görsel hesaplamalarda kullanılabilir ve relation değiştirir. |
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.
- partitionBy 'de önceden belirtilmemiş relation her sütuna göre sıralama varsayılanlarıdır. |
blanks |
(İsteğe bağlı) relation veya axis sıralarken boş değerlerin nasıl işleneceğini tanımlayan bir numaralandırma.
Desteklenen değerler şunlardır:
ORDERBY() işlevindeki blanks parametresi ve boşluklar her iki ifadede de belirtildiğinde, tek tek orderBy ifadesindeki blanks 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() relation nasıl bölümlendiğini tanımlayan sütunları içeren 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 bir 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: geçerli görsel şeklindeki bir sütuna, NONE (varsayılan), LOWESTPARENT , HIGHESTPARENT veya 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. NONE eş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 satır numarası.
Açıklamalar
, partitionBy
ve 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:
-
ROWNUMBER önce, karşılık gelen dış sütunu olmayan tüm
orderBy
,partitionBy
vematchBy
sütunlarını belirler. - ROWNUMBER üst bağlamda bu sütunlar için var olan değerlerin her birleşimi için ROWNUMBER değerlendirilir ve bir satır döndürülür.
- ROWNUMBERson çıktısı bu satırların birleşimidir.
-
ROWNUMBER önce, karşılık gelen dış sütunu olmayan tüm
- Karşılık gelen birden fazla dış sütun varsa, bir hata döndürülür.
matchBy
varsa, ROWNUMBERmatchBy
sütunlarını kullanmaya çalışır ve geçerli satırın kimliğine partitionBy
.
orderBy
ve partitionBy
içinde belirtilen sütunlar relation
içindeki her satırı benzersiz olarak tanımlayamıyorsa:
- ROWNUMBER 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, ROWNUMBER
- 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 partitionBy
ile 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
Sorgular DAX aşağıdaki görsel hesaplama:
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:
görsel hesaplama