ALL
Koskee seuraavia:Laskettu sarakeLaskettu taulukkoMeasureVisuaalinen laskutoimitus
Palauttaa all taulukon rivit, orall sarakkeen values ohittaen mahdollisesti käytetyt filters. Tämän funktion avulla voit tyhjentää filtersand luoda laskutoimituksia all taulukon rivejä.
Syntaksi
ALL( [<table> | <column>[, <column>[, <column>[,…]]]] )
Parametrit
Termi | Määritelmä |
---|---|
table |
Taulukko, jonka haluat tyhjentää, filters. |
column |
Sarake, jonka haluat tyhjentää, filters. |
ALL-funktion argumentin on oltava viittaus perustaulukkoon or viittaus perussarakkeeseen. Et voi käyttää taulukkolausekkeita or sarakelausekkeisiin ALL funktion kanssa.
Palauta value
Taulukon or sarakkeen, josta on poistettu filters.
Huomautuksia
Tätä funktiota not käyttää yksinään, mutta se toimii välifunktiona, jonka avulla voidaan muuttaa tulosjoukkoa, jolle suoritetaan jokin muu laskutoimitus.
DAX() -funktion sisältävien ALL-lausekkeiden normaali toiminta on se, että kaikki käytetyt filters ohitetaan. On kuitenkin joitakin tilanteita, joissa näin on not, koska kyseessä on
auto-exist
, DAX teknologia, joka optimoi suodatuksen, jotta tiettyjen DAX kyselyiden edellyttämää prosessointia voidaan vähentää. Automaattinen tunnistus andALL() tuottaa odottamattomia tuloksia esimerkiksi suodatettaessa saman taulukon kahta or useampaa saraketta (esimerkiksi käytettäessä osittajia), and samassa taulukossa on measure, joka käyttää ALL(). Tässä tapauksessa automaattinen tunnistukset yhdistetään , useat filtersand voidaan filter vain olemassa olevilla valuesyhdistelmillä. Tämän yhdistämisen vuoksi measure lasketaan olemassa olevien valuesand yhdistelmien perusteella tulos perustuu suodatettuihin values eikä allvalues odotetulla tavalla. Jos haluat lisätietoja automaattisesta sovelluksesta and sen effect laskutoimitusten suhteen, katso Microsoftin MVP:n Alberto Ferrarin Understanding DAX Auto-Exist -artikkeli sql.bi.com.Seuraavassa taulukossa kuvataan, miten voit käyttää ALLandALLEXCEPT funktioita eri skenaarioissa.
Funktion and käyttö Kuvaus ALL() Poistaa allfilters kaikkialta. ALL() avulla voidaan vain tyhjentää filters mutta not taulukon palauttamiseen. ALL(taulukko) Poistaa allfilters määritetystä taulukosta. effect ALL(taulukko) palauttaa taulukon allvalues poistaen kontekstista filters, joita muuten olisi voitu käyttää. Tästä funktiosta on hyötyä, kun käsittelet useita ryhmittelytasoja, and haluat luoda laskutoimituksen, joka luo koostetun value suhteen valuekokonaismäärään. first esimerkki havainnollistaa tätä skenaariota. ALL (Sarake[, Sarake[, ...]]) Poistaa allfilters taulukon määritetyistä sarakkeista. all taulukon muiden sarakkeiden muut filters ovat edelleen voimassa. All sarakeargumenttien on oltava peräisin samasta taulukosta. ALL(sarake) -variantti on hyödyllinen, kun haluat poistaa kontekstin filters yhden or tarkempia sarakkeita andall muiden kontekstien filters. Kolmas secondand esimerkki havainnollistaa tätä skenaariota. ALLEXCEPT(Taulukko, Sarake1 [,Sarake2]...) Poistaa allfilters taulukon exceptfilters, joita käytetään määritetyissä sarakkeissa. Tämä on kätevä oikotie tilanteissa, joissa haluat poistaa filters monista mutta notalltaulukon sarakkeista. Tätä funktiota not tueta DirectQuery-tilassa, kun sitä käytetään lasketuissa sarakkeissa or rivitason suojauksen (RLS) säännöissä.
Esimerkki 1
luokkamyynnin Calculate suhde kokonaismyyntiin
Oletetaan, että haluat find nykyisen solun myynnin määrän pivot-taulukossa jaettuna all jälleenmyyjien kokonaismyymisellä. Jos haluat varmistaa, että nimittäjä on sama riippumatta siitä, miten Pivot-taulukon käyttäjä suodattaa or ryhmitellä tietoja, define kaavan, joka käyttää ALL laskemaan oikean loppusumman.
Seuraavassa taulukossa näytetään tulokset, kun uusi measure, All Jälleenmyyjän myynnin suhde, luodaan käyttämällä koodiosion kaavaa. Jos haluat tarkastella, miten tämä toimii, lisää CalendarYear-kenttä Pivot-taulukon
Riviotsikot | Tykötarpeet | Polkupyöriä | Vaatetus | Osia | Loppusumma |
---|---|---|---|---|---|
2005 | 0,02% | 9,10% | 0,04% | 0,75% | 9,91% |
2006 | 0.11% | 24,71% | 0,60% | 4,48% | 29,90% |
2007 | 0,36% | 31,71% | 1,07% | 6,79% | 39,93% |
2008 | 0,20% | 16,95% | 0,48% | 2,63% | 20,26% |
Loppusumma | 0,70% | 82,47% | 2.18% | 14,65% | 100,00% |
Formula
= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/SUMX(ALL(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
Kaava on muodostettu seuraavasti:
Osoittaja,
SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])
, on sum ResellerSales_USD[SalesAmount_USD] -taulukon values, kun kontekstin filters on käytössä CalendarYear and ProductCategoryNamessa.Nimittäjän saat määrittämällä taulukon, ResellerSales_USD, and poistaa taulukosta ALLallfilters kontekstin.
Sen jälkeen voit SUMX ResellerSales_USD[SalesAmount_USD]-sarakkeen sumvalues-funktiolla. Toisin sanoen saat sum ResellerSales_USD[SalesAmount_USD] all jälleenmyyjien myynnistä.
Esimerkki 2
Calculate suhde Product myyntiin kokonaismyyntiin nykyisen Year kautta
Oletetaan, että haluat luoda taulukon, joka näyttää myynnin prosenttiosuuden kussakin product luokassa (ProductCategoryName) vuosien mittaan. Jos haluat saada kunkin year prosenttiosuuden kullekin ProductCategoryName-value, sinun on divide tämän tietyn sumyearand luokan myynnin product saman sum luokan productall vuosina. Toisin sanoen sinun kannattaa säilyttää ProductCategoryName-filter mutta poistaa filteryear, kun lasket prosenttiosuuden nimittäjää.
Seuraavassa taulukossa näytetään tulokset, kun uusi measure, Jälleenmyyjän myynti -Year, luodaan käyttämällä koodiosion kaavaa. Jos haluat tarkastella, miten tämä toimii, lisää CalendarYear-kenttä Pivot-taulukon Riviotsikot -alueelle and lisätä ProductCategoryName-kenttä Sarakeotsikot -alueelle. Jos haluat tarkastella tuloksia prosenttilukuina, käytä Excelin muotoilutoimintoja ja lisää prosenttiluku format soluihin, joissa on measure, Jälleenmyyjän myynti -Year.
Riviotsikot | Tykötarpeet | Polkupyöriä | Vaatetus | Osia | Loppusumma |
---|---|---|---|---|---|
2005 | 3,48% | 11.03% | 1.91% | 5.12% | 9,91% |
2006 | 16.21% | 29,96% | 27,29% | 30,59% | 29,90% |
2007 | 51,62% | 38,45% | 48,86% | 46,36% | 39,93% |
2008 | 28,69% | 20,56% | 21,95% | 17,92% | 20,26% |
Loppusumma | 100,00% | 100,00% | 100,00% | 100,00% | 100,00% |
Formula
= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(DateTime[CalendarYear]))
Kaava on muodostettu seuraavasti:
Osoittaja,
SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])
, on ResellerSales_USD[SalesAmount_USD]:n sumvalues pivot-taulukon nykyisessä solussa, kun kontekstin filters on käytössä sarakkeissa CalendarYear and ProductCategoryName.Nimittäjän kohdalla poistat nykyisen filter Kalenterivuosi-kohdassa käyttämällä ALL(sarake) -funktiota. Tämä laskee sum ResellerSales_USD taulukon jäljellä oleville riveille sen jälkeen, kun aiemmin luotu konteksti on filters sarakeotsikoista. Net effect on , että nimittäjän sum lasketaan valitun ProductCategory filterName-andandvaluesYear .
Esimerkki 3
Calculate Product luokkien osuus kokonaismyynnistä Year kohti
Oletetaan, että haluat luoda taulukon, joka näyttää kunkin product luokan myynnin prosenttiosuutena yearyear perusteella. Jos haluat saada prosenttiosuuden kullekin product luokalle tietyssä year, sinun on calculate tämän tietyn sum luokan (ProductCategoryName) myynnin productyear n:ssä, and sitten divide tuloksena saatava valuesum n:n myynnin yearallproduct luokkiin. Toisin sanoen laskiessasi prosenttiosuuden nimittäjää säilytä filteryear mutta poista ProductCategoryName-filter.
Seuraavassa taulukossa näytetään tulokset, kun uusi measure, Reseller Sales CategoryName, luodaan käyttämällä koodiosiossa näkyvää kaavaa. Jos haluat tarkastella, miten tämä toimii, lisää CalendarYear-kenttä Pivot-taulukon
Riviotsikot | Tykötarpeet | Polkupyöriä | Vaatetus | Osia | Loppusumma |
---|---|---|---|---|---|
2005 | 0,25% | 91,76% | 0,42% | 7,57% | 100,00% |
2006 | 0,38% | 82,64% | 1,99% | 14,99% | 100,00% |
2007 | 0,90% | 79,42% | 2,67% | 17.01% | 100,00% |
2008 | 0,99% | 83,69% | 2,37% | 12,96% | 100,00% |
Loppusumma | 0,70% | 82,47% | 2.18% | 14,65% | 100,00% |
Formula
= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(ProductCategory[ProductCategoryName]))
Kaava on muodostettu seuraavasti:
Osoittaja,
SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])
, on ResellerSales_USD[SalesAmount_USD]:n sumvalues Pivot-taulukon nykyiselle solulle, kun kontekstin filters on käytössä kentissä CalendarYear and ProductCategoryName.Saat nimittäjän käyttämällä funktiota ALL(Sarake), joka poistaa ProductCategoryName-filterandcalculatesum ResellerSales_USD taulukon jäljellä olevien rivien yli, kun aiemmin luotu konteksti filters on otettu käyttöön riviotsikoista. Netto effect, että nimittäjän sum lasketaan valitun Year (implisiittinen konteksti filter) and ProductCategoryName-allvalues.