Megosztás a következőn keresztül:


EARLIER

A következőkre vonatkozik:Számított oszlopSzámított táblaMértékVizualizációszámítási

A megadott oszlop aktuális értékét adja vissza az említett oszlop külső próbaidőszakában.

EARLIER olyan beágyazott számításokhoz hasznos, amelyekben egy bizonyos értéket szeretne bemenetként használni, és az adott bemenet alapján kíván számításokat végezni. A Microsoft Excelben ezeket a számításokat csak az aktuális sor kontextusában végezheti el; DAX azonban tárolhatja a bemenet értékét, majd számítást végezhet a teljes táblázat adataival.

EARLIER általában a számított oszlopok kontextusában használják.

Szintaxis

EARLIER(<column>, <number>)

Paraméterek

Kifejezés Definíció
column Oszlop vagy kifejezés, amely egy oszlopra van feloldva.
num (Nem kötelező) Pozitív szám a külső próbaidőszakra.

A következő kiértékelési szintet 1 jelöli; két szint ki van jelölve 2 és így tovább.

Ha nem adja meg az alapértelmezett értéket, az 1.

Visszaadott érték

A sor aktuális értéke column, a külső kiértékelési bérletek number.

Kivételek

A hibák leírása

Megjegyzések

  • EARLIER akkor sikeres, ha a táblavizsgálat kezdete előtt sorkörnyezet van. Ellenkező esetben hibát ad vissza.

  • A EARLIER teljesítménye lassú lehet, mert elméletileg több olyan műveletet kell végrehajtania, amely közel áll a sorok teljes számához (az oszlopban) azonos számmal (a kifejezés szintaxisától függően). Ha például 10 sor van az oszlopban, körülbelül 100 műveletre lehet szükség; ha 100 sorból áll, akkor közel 10 000 műveletet hajthat végre.

  • Ez a függvény nem támogatott DirectQuery módban, ha számított oszlopokban vagy sorszintű biztonsági (RLS) szabályokban használják.

Jegyzet

A gyakorlatban a VertiPaq memóriabeli elemzési motor optimalizálásokat végez a számítások tényleges számának csökkentése érdekében, de óvatosnak kell lennie a rekurziót tartalmazó képletek létrehozásakor.

Példa

A EARLIERhasználatának szemléltetéséhez olyan forgatókönyvet kell létrehozni, amely kiszámít egy rangsorértéket, majd ezt a rangértéket más számításokban használja.

Az alábbi példa erre az egyszerű táblára épül, ProductSubcategory, amely az egyes ProductSubcategory-termékek teljes értékesítését mutatja.

Itt látható az utolsó táblázat, a rangsor oszlopot is beleértve.

ProductSubcategoryKey EnglishProductSubcategoryName TotalSubcategorySales SubcategoryRanking
18 Bib-Shorts 156 167,88 USD 18
26 Kerékpártartók 220 720,70 USD 14
27 Kerékpárállványok 35 628,69 USD 30
28 Palackok és ketrecek 59 342,43 USD 24
5 Alsó zárójelek 48 643,47 USD 27
6 Fékek 62 113,16 USD 23
19 Sapkák 47 934,54 USD 28
7 Láncok 8 847,08 USD 35
29 Tisztítószerek 16 882,62 USD 32
8 Forgatott hajtókarok 191 522,09 USD 15
9 Derailleurs 64 965,33 USD 22
30 Sárvédők 41 974,10 USD 29
10 Villa 74 727,66 USD 21
20 Kesztyű 228 353,58 USD 12
4 Kormány 163 257,06 USD 17
11 Fejhallgatók 57 659,99 USD 25
31 Sisakok 451 192,31 USD 9
32 Hidratálási csomagok 96 893,78 USD 20
21 Mezek 699 429,78 USD 7
33 Fények 36
34 Zárak 15 059,47 USD 33
1 Mountain Bikes 34 305 864,29 USD 2
12 Hegyi keretek 4 511 170,68 USD 4
35 Panniers 36
13 Pedálok 140 422,20 USD 19
36 Szivattyúk 12 695,18 USD 34
2 Közúti kerékpárok 40 551 696,34 USD 1
14 Útkeretek 3 636 398,71 USD 5
15 Nyergek 52 526,47 USD 26
22 Rövidnadrág 385 707,80 USD 10
23 Zokni 28 337,85 USD 31
24 Harisnyanadrág 189 179,37 USD 16
37 Gumik és csövek 224 832,81 USD 13
3 Túrakerékpárok 13 334 864,18 USD 3
16 Túrakeretek 1 545 344,02 USD 6
25 Mellények 240 990,04 USD 11
17 Kerekek 648 240,04 USD 8

Rangsorérték létrehozása

Egy sor adott értékének rangsorértékének egyik módja, ha megszámlálja azoknak a soroknak a számát ugyanabban a táblában, amelyek értéke nagyobb (vagy kisebb), mint az összehasonlítandó. Ez a technika egy üres vagy nulla értéket ad vissza a tábla legmagasabb értékéhez, míg az egyenlő értékek azonos rangértéket, a következő érték (az egyenlő értékek után) pedig nem egymást követő rangértéket kap. Tekintse meg az alábbi mintát.

Az alábbi képlettel létrejön egy új számított oszlop, SubCategorySalesRanking.

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

Az alábbi lépések részletesebben ismertetik a számítási módszert.

  1. A EARLIER függvény a tábla aktuális sorához tartozó TotalSubcategorySales értékét kapja meg. Ebben az esetben, mivel a folyamat elkezdődött, ez a tábla első sora

  2. EARLIER([TotalSubcategorySales]) kiértékelése 156 167,88 usd, a külső hurok aktuális sora.

  3. A FILTER függvény most egy táblát ad vissza, amelyben az összes sor értéke TotalSubcategorySales nagyobb, mint 156 167,88 USD (ami a EARLIERaktuális értéke).

  4. A COUNTROWS függvény megszámolja a szűrt tábla sorait, és hozzárendeli ezt az értéket az aktuális sor új számított oszlopához plusz 1. Az 1 hozzáadására azért van szükség, hogy a legfelső rangsorolt érték ne váljon üressé.

  5. A számított oszlop képlete a következő sorba kerül, és megismétli az 1–4. lépést. Ezek a lépések mindaddig ismétlődnek, amíg el nem éri a táblázat végét.

A EARLIER függvény mindig az aktuális táblaművelet előtt kapja meg az oszlop értékét. Ha az előtte lévő hurokból szeretne értéket lekérni, állítsa a második argumentumot 2 értékre.

EARLIEST függvénySzűrőfüggvények