ÖNCEKİ
Şunlar için geçerlidir: Hesaplanmış sütun Hesaplanan tablo Ölçü Görseli hesaplaması
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>)
Parametreler
Süre | Tanım |
---|---|
sütun | 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ğerlendirme geçiş sayısındaki sütundaki geçerli satır değeri.
Özel durumlar
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.
Teorik olarak, toplam satır sayısına (sütundaki) aynı sayıda (ifadenin söz dizimine bağlı olarak) yakın olan bir dizi işlem gerçekleştirmesi gerektiğinden EARLIER'nin performansı yavaş olabilir. Ö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 bu basit ProductSubcategory tablosunu temel alır.
Derecelendirme sütunu da dahil olmak üzere son tablo burada gösterilmiştir.
ProductSubcategoryKey | EnglishProductSubcategoryName | TotalSubcategorySales | Alt KategoriRanking |
---|---|---|---|
18 | Bib-Şort | $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 Braketler | 48.643,47 ABD doları | 27 |
6 | Frenler | 62.113,16 USD | 23 |
19 | Kasketler | $47,934,54 | 28 |
7 | Zincirler | 8.847,08 ABD doları | 35 |
29 | Temizleyiciler | 16.882,62 ABD doları | 32 |
8 | Aynakollar | 191.522,09 USD | 15 |
9 | Vites Düzenekleri | 64.965,33 USD | 22 |
30 | Çamurluk | 41.974,10 ABD doları | 29 |
10 | Çatallar | $74,727,66 | 21 |
20 | Eldivenler | $228,353,58 | 12 |
4 | Gidonlar | $163,257,06 | 17 |
11 | Kulaklık | $57,659,99 | 25 |
31 | Kasklar | $451,192,31 | 9 |
32 | Hidrasyon Paketleri | 96.893,78 ABD doları | 20 |
21 | Formalar | $699,429,78 | 7 |
33 | Işıklar | 36 | |
34 | Kilitler | 15.059,47 ABD doları | 33 |
1 | Dağ Bisikletleri | 34.305.864,29 ABD doları | 2 |
12 | Dağ Bisikleti Kadroları | $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 Bisikleti Kadroları | $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 | Gezi Bisikletleri | 13.334.864,18 ABD doları | 3 |
16 | Gezi Bisikleti Kadroları | $1,545,344,02 | 6 |
25 | Yelek | 240.990,04 ABD doları | 11 |
17 | Tekerlekler | 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.
Aşağıdaki formül kullanılarak yeni bir hesaplanmış sütun (SubCategorySalesRanking) 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.
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
EARLIER([TotalSubcategorySales]), dış döngüdeki geçerli satır olan 156.167,88 ABD doları olarak değerlendirilir.
FİlTRE işlevi artık tüm satırların TotalSubcategorySales değerinin 156.167,88 TL'den (EARLIER için geçerli değer) büyük olduğu bir tablo döndürür.
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.
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.