AIKAISEMMIN
Koskee: Lasketun sarakkeen lasketun taulukon mittarin visuaalinen laskutoimitus
Palauttaa määritetyn sarakkeen nykyisen arvon mainitun sarakkeen ulomman arvioinnin vaiheessa.
EARLIER on hyödyllinen sisäkkäisissa laskutoimituksissa, joissa haluat käyttää tiettyä arvoa syötteenä ja tuottaa tähän syötteeseen perustuvia laskutoimituksia. Microsoft Excelissä voit suorittaa tällaisia laskutoimituksia vain kyseisen rivin kontekstissa. DAXissa voit kuitenkin tallentaa syötteen arvon ja tehdä sitten laskutoimituksen käyttämällä koko taulukon tietoja.
EARLIER-funktiota käytetään yleensä laskettujen sarakkeiden yhteydessä.
Syntaksi
EARLIER(<column>, <number>)
Parametrit
Termi | Määritelmä |
---|---|
sarake | Sarake tai lauseke, jonka ratkaisusta tulee sarake. |
Num | (Valinnainen) Positiivinen luku ulomman arvioinnin läpikulkuun. Seuraavaa ulottua arviointitasoa edustaa 1; kaksi tasoa ulompaa edustaa 2, ja niin edelleen. Kun tämä jätetään pois, oletusarvo on 1. |
Palautusarvo
Rivin nykyinen arvo sarakkeesta, ulompien arviointisyöttöjen numerolla.
Poikkeukset
Virheiden kuvaus
Huomautukset
EARLIER onnistuu, jos taulukon tarkistuksen edellä on rivikonteksti. Muussa tapauksessa palautetaan virhe.
EARLIER-funktion suorituskyky voi hidastua, koska teoriassa sen on ehkä suoritettava joukko toimintoja, joka on lähellä sarakkeen rivien määrää kertaa sama luku (lausekkeen syntaksista riippuen). Jos sarakkeessa on esimerkiksi 10 riviä, voidaan edellyttää noin 100 toimintoa. Jos sinulla on 100 riviä, voidaan suorittaa lähes 10 000 toimintoa.
Tätä funktiota ei tueta DirectQuery-tilassa lasketuissa sarakkeissa tai rivitason suojauksen (RLS) säännöissä käytettäväksi.
Muistiinpano
Käytännössä muistissa oleva VertiPaq-analytiikkamoduuli suorittaa optimointeja laskelmien tosiasiallisen määrän vähentämiseksi, mutta luotaessa kaavoja, jotka sisältävät rekursiota, on oltava varovainen.
Esimerkki
EARLIER-funktion käytön havainnollistamiseksi on välttämätöntä rakentaa skenaario, joka laskee sijoitusarvon ja käyttää tätä sijoitusarvoa muissa laskutoimituksissa.
Seuraava esimerkki perustuu tähän yksinkertaiseen taulukkoon ProductSubcategory, joka näyttää kunkin tuotteen aliluokan kokonaismyynnin.
Lopullinen taulukko sijoitussarake mukaan lukien näkyy tässä.
ProductSubcategoryKey | EnglishProductSubcategoryName | TotalSubcategorySales | AliluokkaRajoitus |
---|---|---|---|
18 | Lähdeshortsit | 156 167,88 $ | 18 |
26 | Pyöräntelineet | 220 720,70 dollaria | 14 |
27 | Pyörätelineet | 35 628,69 $ | 30 |
28 | Pullot ja häkit | 59 342,43 $ | 24 |
5 | Keskiölaakerit | 48 643,47 dollaria | 27 |
6 | Jarrut | 62 113,16 $ | 23 |
19 | Caps | 47 934,54 dollaria | 28 |
7 | Ketjut | 8 847,08 dollaria | 35 |
29 | Puhdistusaineet | 16 882,62 $ | 32 |
8 | Kampisarjat | 191 522,09 $ | 15 |
9 | Vaihtajat | 64 965,33 $ | 22 |
30 | Lokasuojat | 41 974,10 dollaria | 29 |
10 | Haarukat | 74 727,66 $ | 21 |
20 | Hanskat | 228 353,58 dollaria | 12 |
4 | Ohjaustangot | 163 257,06 dollaria | 17 |
11 | Kuulokkeet | 57 659,99 $ | 25 |
31 | Kypärät | 451 192,31 $ | 9 |
32 | Juomapakkaukset | 96 893,78 $ | 20 |
21 | Paidat | 699 429,78 $ | 7 |
33 | Valot | 36 | |
34 | Locks | 15 059,47 dollaria | 33 |
1 | Maastopyörät | 34 305 864,29 dollaria | 2 |
12 | Maastorungot | 4 511 170,68 dollaria | 4 |
35 | Kantokoreihin | 36 | |
13 | Polkimet | 140 422,20 dollaria | 19 |
36 | Pumput | 12 695,18 $ | 34 |
2 | Maantiepyörät | 40 551 696,34 dollaria | 1 |
14 | Maantierungot | 3 636 398,71 $ | 5 |
15 | Satulat | 52 526,47 $ | 26 |
22 | Shortsit | 385 707,80 dollaria | 10 |
23 | Sukat | 28 337,85 $ | 31 |
24 | Sukkahousut | 189 179,37 $ | 16 |
37 | Renkaat ja sisäkuneet | 224 832,81 $ | 13 |
3 | Matkapyörät | 13 334 864,18 dollaria | 3 |
16 | Retkirungot | 1 545 344,02 dollaria | 6 |
25 | Liivit | 240 990,04 $ | 11 |
17 | Pyörät | 648 240,04 dollaria | 8 |
Sijoitusarvon luominen
Yksi tapa saada rivin tietylle arvolle on laskea saman taulukon niiden rivien määrä, joilla on vertailtavan arvon suurempi (tai pienempi) arvo. Tämä menetelmä palauttaa taulukon korkeimmalle arvolle tyhjän tai nollan, kun taas yhtä suurilla arvoilla on sama sijoitusarvo ja yhtä suurilla arvoilla (yhtä suurien arvojen jälkeen) on ei-peräkkäinen sijoitusarvo. Katso alla olevaa esimerkkiä.
Uusi laskettu sarake, SubCategorySalesRanking, luodaan käyttämällä seuraavaa kaavaa.
= COUNTROWS(FILTER(ProductSubcategory, EARLIER(ProductSubcategory[TotalSubcategorySales])<ProductSubcategory[TotalSubcategorySales]))+1
Seuraavissa vaiheissa kuvataan laskentamenetelmää yksityiskohtaisemmin.
EARLIER-funktio saa TotalSubcategorySales-arvon taulukon nykyiselle riville. Tässä tapauksessa, koska prosessi on vasta käynnistyvä, se on taulukon ensimmäinen rivi
EARLIER([TotalSubcategorySales]) saa tulokseksi 156 167,88 $, joka on ulomman silmukan nykyinen rivi.
FILTER-funktio palauttaa nyt taulukon, jossa kaikkien TotalSubcategorySales-arvojen arvo on suurempi kuin 156 167,88 (joka on nykyinen arvo funktiolle EARLIER).
COUNTROWS-funktio laskee suodatetun taulukon rivit ja määrittää tämän arvon uudelle lasketulle sarakkeelle rivillä, jolla on nykyisen rivin plus 1. Yhden lisääminen tarvitaan, jotta korkeimman sijan arvosta ei tule tyhjäarvoa.
Lasketun sarakkeen kaava siirtyy seuraavalle riville ja toistaa vaiheet 1:stä 4:ään. Nämä vaiheet toistetaan, kunnes taulukon loppu saavutetaan.
EARLIER-funktio saa aina arvon, joka on nykyistä taulukkotoimintoa edeltävällä sarakkeella. Jos tarvitset sitä edeltävän silmukan arvoa, määritä toiseksi argumenttiksi 2.