EARLIER

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

EARLIER, giriş olarak belirli bir değeri kullanmak ve bu giriş değerine göre hesaplama yapmak istediğiniz iç içe yerleştirilmiş hesaplama işlemleri 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ş değerini depolayıp tablonun tamamındaki verileri kullanarak hesaplama yapabilirsiniz.

EARLIER genellikle hesaplanmış sütun bağlamında kullanılır.

Söz dizimi

EARLIER(<column>, <number>)  

Parametreler

Süre Tanım
sütun Bir sütun veya sütun sonucu veren ifade.
sayı (İsteğe bağlı) Dış değerlendirme geçişine iletilecek pozitif sayı.

Sonraki değerlendirme düzeyi 1 ile gösterilir. İki düzey çıkış 2 ile temsil edilir ve bu şekilde devam eder.

Atlanırsa varsayılan değer 1'dir.

Döndürülen değer

Sütundan alınan satırın dış değerlendirme geçişi sayısı konumundaki geçerli değeri.

Özel Durumlar

Hata açıklaması

Açıklamalar

  • EARLIER, tablo taraması başlamadan önce satır bağlamı olması durumunda başarılı olur. Aksi halde bir hata döndürür.

  • EARLIER işlevinin performansı düşük olabilir. Bunun nedeni, teoride neredeyse toplam satır sayısının (sütundaki) karesi kadar (ifadenin söz dizimine bağlı olarak) işlem yapması gerekmesidir. Örneğin sütunda 10 satır varsa yaklaşık 100 işlem gerekebilir. 100 satırınız varsa, gerçekleştirilecek işlem sayısı 10.000'i bulabilir.

  • Hesaplanmış sütunlarda veya satır düzeyi güvenlik (RLS) kurallarında kullanıldığında, bu işlevin DirectQuery modunda kullanılması desteklenmez.

Not

Pratikte ise VertiPaq bellek içi analiz altyapısı gerçek hesaplama sayısını azaltmak için iyileştirme gerçekleştirir ancak yine de özyineleme gerektiren formüller oluştururken dikkatli olmanız önerilir.

Örnek

EARLIER işlevinin kullanımını göstermek için sıralama değerini hesaplayıp bu değeri diğer hesaplamalarda kullanan bir senaryo geliştirilmesi gerekir.

Aşağıdaki örnekte her bir ProductSubcategory için toplam satış miktarının gösterildiği basit ProductSubcategory tablosu kullanılmıştır.

Tablonun sıralama sütununu da içeren son hali aşağıda gösterilmiştir.

ProductSubcategoryKey EnglishProductSubcategoryName TotalSubcategorySales SubcategoryRanking
18 Bisiklet Şortu $156.167,88 18
26 Bisiklet Taşıyıcıları $220.720.70 14
27 Bisiklet Standları $35.628,69 30
28 Şişeler ve Tutacaklar $59.342,43 24
5 Alt Kadrolar $48.643,47 27
6 Frenler $62.113,16 23
19 Şapkalar $47.934,54 28
7 Zincirler $8.847,08 35
29 Temizleyiciler $16.882,62 32
8 Mil Setleri $191.522,09 15
9 Dişliler $64.965,33 22
30 Çamurluklar $41.974,10 29
10 Çatallar $74.727,66 21
20 Eldivenler $228.353,58 12
4 Gidonlar $163.257,06 17
11 Kulaklıklar $57.659,99 25
31 Kasklar $451.192,31 9
32 Hidrasyon paketleri $96.893,78 20
21 Formalar $699.429,78 7
33 Işıklar 36
34 Kilitler $15.059,47 33
1 Dağ Bisikletleri $34.305.864,29 2
12 Dağ Kadroları $4.511.170,68 4
35 Çantalar 36
13 Pedallar $140.422,20 19
36 Pompalar $12.695,18 34
2 Yol Bisikletleri $40.551.696,34 1
14 Yol Kadroları $3.636.398,71 5
15 Seleler $52.526,47 26
22 Şortlar $385.707,80 10
23 Çoraplar $28.337,85 31
24 Taytlar $189.179,37 16
37 İç ve Dış Lastikler $224.832,81 13
3 Gezi Bisikletleri $13.334.864,18 3
16 Gezi Kadroları $1.545.344,02 6
25 Yelekler $240.990,04 11
17 Tekerlekler $648.240,04 8

Sıralama değeri oluşturma

Bir satırdaki belirli bir değer için sıralama değeri elde etmenin yöntemlerinden biri, karşılaştırılan değere kıyasla aynı tabloda daha büyük (veya daha küçük) değere sahip olan satırların sayısını belirlemektir. Bu teknik, tablodaki en yüksek değer için boş veya sıfır değeri döndürür, eşit değerler aynı sıralama değerine sahip olur ve bir sonraki değer (eşit değerlerden sonraki) ardışık olmayan bir sıralama değeri alır. Aşağıdaki örneğe bakın.

Aşağıdaki formülle yeni hesaplanmış sütun olan SubCategorySalesRanking sütunu oluşturulur.

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

Hesaplama yöntemi aşağıdaki adımlarda daha ayrıntılı bir şekilde anlatılmıştır.

  1. EARLIER işlevi, tablonun geçerli satırı için TotalSubcategorySales değerini alır. Bu durumda işlem başlamakta olduğu için tablodaki ilk satır alınır.

  2. EARLIER([TotalSubcategorySales]) formülü, dış döngüdeki geçerli satır olan $156.167,88 sonucunu verir.

  3. FILTER işlevi bu noktada tüm satırlardaki TotalSubcategorySales değeri $156.167,88 değerinden (geçerli EARLIER değeri) büyük olan bir tablo döndürür.

  4. COUNTROWS işlevi, filtrelenen tablonun satırlarını sayar ve yeni hesaplanmış sütuna geçerli satırdan 1 fazla değer atar. 1 eklemenin nedeni, en üst sıradaki değerin boş hale gelmesini önlemektir.

  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 önceki sütunun değerini alır. Döngünün daha öncesinde yer alan bir değeri almak isterseniz ikinci bağımsız değişkeni 2 olarak ayarlayın.

Ayrıca bkz.

EARLIEST işlevi
Filtre işlevleri