İngilizce dilinde oku

Aracılığıyla paylaş


ÖNCEKİ

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

Belirtilen sütunun geçerli değerini belirtilen sütunun dış değerlendirme geçişinde döndürür.

EARLIER, giriş olarak belirli bir değeri kullanmak ve bu girişe dayalı hesaplamalar oluşturmak istediğiniz iç içe hesaplamalar için kullanışlıdır. Microsoft Excel'de bu tür hesaplamaları yalnızca geçerli satır bağlamında yapabilirsiniz; ancak DAX'ta girişin değerini depolayabilir ve ardından tablonun tamamından verileri kullanarak hesaplama yapabilirsiniz.

EARLIER çoğunlukla hesaplanmış sütunlar bağlamında kullanılır.

Sözdizimi

EARLIER(<column>, <number>)  

Parametre

Terim Tanım
column Bir sütuna çözümleyen bir sütun veya ifade.
num (İsteğe bağlı) Dış değerlendirme geçişi için pozitif bir sayı.

Bir sonraki değerlendirme düzeyi 1 ile gösterilir; iki düzey dışında 2 ile temsil edilir ve bu şekilde devam edilir.

Atlandığında varsayılan değer 1'dir.

Dönüş değeri

Dış değerlendirmenin numbercolumngeçerli satır değeri geçer.

Özel durum

Hataların açıklaması

Açıklamalar

  • EARLIER, tablo taramasının başlangıcından önce bir satır bağlamı varsa başarılı olur. Aksi takdirde bir hata döndürür.

  • EARLIER performansı yavaş olabilir çünkü teorik olarak, toplam satır sayısına (sütundaki) aynı sayıda (ifadenin söz dizimine bağlı olarak) yakın bir dizi işlem gerçekleştirmesi gerekebilir. Örneğin, sütunda 10 satırınız varsa, yaklaşık 100 işlem gerekebilir; 100 satırınız varsa 10.000'e yakın işlem gerçekleştirilebilir.

  • Bu işlev, hesaplanan sütunlarda veya satır düzeyi güvenlik (RLS) kurallarında kullanıldığında DirectQuery modunda kullanılmak üzere desteklenmez.

Not

Uygulamada VertiPaq bellek içi analiz altyapısı gerçek hesaplama sayısını azaltmak için iyileştirmeler gerçekleştirir, ancak özyineleme içeren formüller oluştururken dikkatli olmanız gerekir.

Örnek

EARLIER kullanımını göstermek için, bir derecelendirme değeri hesaplayan ve ardından bu derecelendirme değerini diğer hesaplamalarda kullanan bir senaryo oluşturmak gerekir.

Aşağıdaki örnek, her ProductSubcategory için toplam satışları gösteren ProductSubcategorybu basit tabloyu temel alır.

Derecelendirme sütunu da dahil olmak üzere son tablo burada gösterilmiştir.

ProductSubcategoryKey EnglishProductSubcategoryName TotalSubcategorySales Alt KategoriRanking
18 Bib-Shorts $156,167,88 18
26 Bisiklet Rafları $220,720,70 14
27 Bisiklet Standları 35.628,69 ABD doları 30
28 Şişeler ve Kafesler $59,342,43 24
5 Alt Köşeli Ayraçlar 48.643,47 ABD doları 27
6 Fren 62.113,16 USD 23
19 Caps $47,934,54 28
7 Zincir 8.847,08 ABD doları 35
29 Temizleyiciler 16.882,62 ABD doları 32
8 Krank kümeleri 191.522,09 USD 15
9 Raydan çıkarıcılar 64.965,33 USD 22
30 Çamurluk 41.974,10 ABD doları 29
10 Çatal $74,727,66 21
20 Eldivenler $228,353,58 12
4 Gidon $163,257,06 17
11 Kulaklık $57,659,99 25
31 Kask $451,192,31 9
32 Hidrasyon Paketleri 96.893,78 ABD doları 20
21 Formalar $699,429,78 7
33 Işık 36
34 Kilit 15.059,47 ABD doları 33
1 Dağ Bisikletleri 34.305.864,29 ABD doları 2
12 Dağ Çerçeveleri $4,511,170,68 4
35 Panniers 36
13 Pedal $140,422,20 19
36 Pompalar 12.695,18 ABD doları 34
2 Yol Bisikletleri $40,551,696,34 1
14 Yol Çerçeveleri $3,636,398,71 5
15 Saddles $52,526,47 26
22 Şort $385,707,80 10
23 Çoraplar $28,337,85 31
24 Tayt $189,179,37 16
37 Lastikler ve Tüpler $224,832,81 13
3 Tur Bisikletleri 13.334.864,18 ABD doları 3
16 Tur Çerçeveleri $1,545,344,02 6
25 Yelek 240.990,04 ABD doları 11
17 Tekerlek 648.240,04 ABD doları 8

Derece Değeri Oluşturma

Bir satırdaki belirli bir değer için derece değeri almanın bir yolu, aynı tabloda bulunan ve karşılaştırılmakta olandan daha büyük (veya daha küçük) bir değere sahip olan satır sayısını saymaktır. Bu teknik, tablodaki en yüksek değer için boş veya sıfır değer döndürürken, eşit değerler aynı derece değerine sahip olur ve sonraki değer (eşit değerlerden sonra) ardışık olmayan bir derece değerine sahip olur. Aşağıdaki örneğe bakın.

SubCategorySalesRankingyeni bir hesaplanmış sütun aşağıdaki formül kullanılarak oluşturulur.

= COUNTROWS(FILTER(ProductSubcategory, EARLIER(ProductSubcategory[TotalSubcategorySales])<ProductSubcategory[TotalSubcategorySales]))+1  

Aşağıdaki adımlarda hesaplama yöntemi daha ayrıntılı olarak açıklanmaktadır.

  1. EARLIER işlevi, tablodaki geçerli satır için TotalSubcategorySales değerini alır. Bu durumda, işlem başladığı için tablodaki ilk satırdır

  2. EARLIER([TotalSubcategorySales]), dış döngüdeki geçerli satır olan 156.167,88 ABD doları olarak değerlendirilir.

  3. işlevi artık tüm satırların değeri 156.167,88 TL'den (geçerli değer) büyük TotalSubcategorySales olan bir tablo döndürür.

  4. COUNTROWS işlevi, filtrelenen tablonun satırlarını sayar ve bu değeri geçerli satırdaki yeni hesaplanmış sütuna artı 1 atar. En yüksek dereceli değerin Boş olmasını önlemek için 1 eklenmesi gerekir.

  5. Hesaplanmış sütun formülü bir sonraki satıra geçer ve 1 ile 4 arasındaki adımları yineler. Bu adımlar, tablonun sonuna ulaşılana kadar yinelenir.

EARLIER işlevi her zaman geçerli tablo işleminden önce sütunun değerini alır. Bundan önce döngüden bir değer almanız gerekiyorsa, ikinci bağımsız değişkeni 2 olarak ayarlayın.

EARLIEST işlevi
Filtre işlevleri