EARLIER
Şunlar için geçerlidir:Hesaplanan sütunHesaplanan tabloMeasureGörsel hesaplama
Belirtilen sütunun geçerli value belirtilen sütunun dış değerlendirme geçişinde döndürür.
EARLIER, belirli bir value giriş olarak kullanmak and 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 giriş value depolayabilir and sonra 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 |
Sütun or bir sütuna çözümleyen ifade. |
num |
(İsteğe bağlı) Dış değerlendirme geçişi için pozitif bir sayı. next değerlendirme düzeyi 1 ile temsil edilir; iki düzey dışında 2 and ile temsil edilir. Atlandığında varsayılan value 1'dir. |
İade value
Dış değerlendirme geçişlerinin valuecolumn
geçerli satır number
.
Özel durum
Hataların açıklaması
Açıklamalar
EARLIER
başarılı olur if tablo taraması başlamadan önce bir satır bağlamı vardır. Aksi takdirde bir errordö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 if yaklaşık 100 işlem gerekebilir; 100 satırınız if 10.000'e yakın işlem gerçekleştirilebilir.Bu işlev, satır düzeyi güvenlik (RLS) kuralları not hesaplanmış sütunlarda kullanıldığında DirectQuery modunda kullanılmak üzere or desteklenir.
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
EARLIERkullanımını göstermek için, bir rankvalueand hesaplayıp bu rankvalue diğer hesaplamalarda kullanan bir senaryo oluşturmak gerekir.
Aşağıdaki örnek, her ProductSubcategory için toplam satışları gösteren ProductSubcategory
bu 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 and 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 and 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 |
Rank Value oluşturma
Bir satırdaki belirli bir rank için valuevalue elde etmenin bir yolu, aynı tablodaki karşılaştırılmakta olandan daha büyük (count küçük) value olan satır sayısını or. Bu teknik, tablodaki en yüksek blank için orvalue sıfır value döndürürken, eşit values aynı rankvalueandnextvalue (eşit valuessonra) ardışık olmayan bir rankvaluesahip olur. Aşağıdaki sample bakın.
SubCategorySalesRanking
= 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 value alır. Bu durumda, işlem başladığı için tablodaki first satırıdırEARLIER([TotalSubcategorySales])
, dış döngüdeki geçerli satır olan 156.167,88 ABD doları olarak değerlendirilir.FILTER
işlevi now, all satırların 156.167,88 TL'den (valueiçin geçerli olan) valueEARLIER
olduğu bir tablo döndürür.COUNTROWS
işlevi filtrelenen tablonun satırlarını sayar and bu value geçerli satırdaki yeni hesaplanmış sütuna artı 1 atar. En üst sıradaki valueBlankolmasını önlemek için 1 eklenmesi gerekir.Hesaplanan sütun formülü next satırına taşınır and 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 value alır. Bundan önce döngüden bir If almanız gerektiğinden valuesecond bağımsız değişkenini 2 olarak ayarlayın.
İçeriği Related
İşlev