Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:
Hesaplanan sütun
Hesaplanan tablo
Ölçmek
Görsel hesaplama
Belirtilen bölümdeki position parametresi tarafından belirtilen mutlak konumda, belirtilen düzene göre sıralanmış bir satır döndürür. Geçerli bölüm tek bir bölüme çıkarılamıyorsa, birden çok satır döndürülebilir.
Sözdizimi
INDEX(<position>[, <relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )
Parametre
| Terim | Tanım |
|---|---|
position |
Verilerin alındığı mutlak konum (1 tabanlı): - position pozitiftir: 1 ilk satırdır, 2 ikinci satırdır vb. - position negatiftir: -1 son satırdır, -2 ikinci son satırdır vb. position sınırın dışında olduğunda, sıfır veya BLANK(), INDEX boş bir tablo döndürür. Skaler değer döndüren herhangi bir DAX ifadesi olabilir. |
relation |
(İsteğe bağlı) Çıktı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, partitionBy içindeki tüm sütunlar bu sütundan veya ilişkili bir tablodan gelmelidir.
Atlanırsa: - orderBy açıkça belirtilmelidir.
- Tüm orderBy ve partitionBy ifadeleri tam sütun adları olmalı ve tek bir tablodan gelmelidir.
- ALLSELECTED() ve orderBytüm sütunların partitionBy varsayılan olarak ayarlanır. |
orderBy |
(İsteğe bağlı) Her bölümün nasıl sıralanacağını tanımlayan ifadeleri 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:
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
Mutlak konumdaki bir satır.
Açıklamalar
Her partitionBy ve matchBy sütunun, üzerinde çalışılan "geçerli bölümü" 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:
-
INDEX önce karşılık gelen dış sütunu olmayan tüm
partitionByvematchBysütunlarını belirler. - INDEXüst bağlamında bu sütunlar için var olan değerlerin her birleşimi için INDEX değerlendirilir ve bir satır döndürülür.
- INDEXson çıktısı bu satırların birleşimidir.
-
INDEX ö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, INDEX satırı tanımlamak için matchBy ve partitionBy sütunlarını kullanmayı dener.
matchBy yoksa ve orderBy ve partitionBy içinde belirtilen sütunlar relationiçindeki her satırı benzersiz olarak tanımlayamazsa:
- INDEX 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, INDEX bu yeni sütunları
orderByöğesine otomatik olarak ekler ve her bölüm bu yeni OrderBy sütun kümesi kullanılarak sıralanır. - Bu tür sütunlar bulunamazsa bir hata döndürülür.
Şu durumda boş bir tablo döndürülür:
- PartitionBy sütununun karşılık gelen dış değeri
relationiçinde yok. -
positiondeğeri, bölümde bulunmayan bir konuma başvurur.
INDEX, relation ile aynı tabloda tanımlanan bir hesaplanmış sütunda kullanılırsa ve orderBy atlanırsa 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.
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 INDEX(1, ALL(DimDate[CalendarYear]))
Aşağıdaki tabloyu döndürür:
| DimDate[CalendarYear] |
|---|
| 2005 |
Örnek 2 - hesaplanmış sütun
Aşağıdaki DAX sorgusu:
EVALUATE
SUMMARIZECOLUMNS (
FactInternetSales[ProductKey],
DimDate[MonthNumberOfYear],
FILTER (
VALUES(FactInternetSales[ProductKey]),
[ProductKey] < 222
),
"CurrentSales", SUM(FactInternetSales[SalesAmount]),
"LastMonthSales",
CALCULATE (
SUM(FactInternetSales[SalesAmount]),
INDEX(-1, ORDERBY(DimDate[MonthNumberOfYear]))
)
)
ORDER BY [ProductKey], [MonthNumberOfYear]
Aşağıdaki tabloyu döndürür:
| FactInternetSales[ProductKey] | DimDate[MonthNumberOfYear] | [CurrentSales] | [LastMonthSales] |
|---|---|---|---|
| 214 | 1 | 5423.45 | 8047.7 |
| 214 | 2 | 4968.58 | 8047.7 |
| 214 | 3 | 5598.4 | 8047.7 |
| 214 | 4 | 5073.55 | 8047.7 |
| 214 | 5 | 5248.5 | 8047.7 |
| 214 | 6 | 7487.86 | 8047.7 |
| 214 | 7 | 7382.89 | 8047.7 |
| 214 | 8 | 6543.13 | 8047.7 |
| 214 | 9 | 6788.06 | 8047.7 |
| 214 | 10 | 6858.04 | 8047.7 |
| 214 | 11 | 8607.54 | 8047.7 |
| 214 | 12 | 8047.7 | 8047.7 |
| 217 | 1 | 5353.47 | 7767.78 |
| 217 | 2 | 4268.78 | 7767.78 |
| 217 | 3 | 5773.35 | 7767.78 |
| 217 | 4 | 5738.36 | 7767.78 |
| 217 | 5 | 6158.24 | 7767.78 |
| 217 | 6 | 6998 | 7767.78 |
| 217 | 7 | 5563.41 | 7767.78 |
| 217 | 8 | 5913.31 | 7767.78 |
| 217 | 9 | 5913.31 | 7767.78 |
| 217 | 10 | 6823.05 | 7767.78 |
| 217 | 11 | 6683.09 | 7767.78 |
| 217 | 12 | 7767.78 | 7767.78 |
Örnek 3 - görsel hesaplama
Sorgular DAX aşağıdaki görsel hesaplama:
SalesComparedToBeginningOfYear = [SalesAmount] - CALCULATE(SUM([SalesAmount]), INDEX(1, ROWS, HIGHESTPARENT))
SalesComparedToBeginningOfQuarter = [SalesAmount] - CALCULATE(SUM([SalesAmount]), INDEX(1, , -1))
Tabloyu, her ay için şunları içeren şekilde geliştirin:
- toplam satış tutarı;
- ilgili yılın ilk ayıyla arasındaki fark;
- ve ilgili üç aylık dönemin ilk ayıyla arasındaki fark.
Aşağıdaki ekran görüntüsünde görsel matris ve ilk görsel hesaplama ifadesi gösterilmektedir:
görsel hesaplama