Del via


ALL

gjelder:beregnet kolonneberegnet tabellMeasurevisualobjektberegning

Returnerer all radene i en tabell, orallvalues i en kolonne, og ignorerer eventuelle filters som kan ha blitt brukt. Denne funksjonen er nyttig for å fjerne filtersand å opprette beregninger på all radene i en tabell.

Syntaks

ALL( [<table> | <column>[, <column>[, <column>[,…]]]] )

Parametere

Vilkår Definisjon
table Tabellen du vil fjerne filters på.
column Kolonnen du vil fjerne filters på.

Argumentet til ALL-funksjonen må enten være en referanse til en basistabell or en referanse til en basiskolonne. Du kan ikke bruke tabelluttrykk or kolonneuttrykk med ALL-funksjonen.

Returner value

Tabellen or kolonne med filters fjernet.

Merknader

  • Denne funksjonen brukes not av seg selv, men fungerer som en mellomliggende funksjon som kan brukes til å endre resultatsettet som en annen beregning utføres over.

  • Normal virkemåte for DAX uttrykk som inneholder ALL()-funksjonen, er at alle filters som brukes, ignoreres. Det finnes imidlertid noen scenarioer der dette er not tilfelle på grunn av auto-exist, en DAX teknologi som optimaliserer filtrering for å redusere mengden behandling som kreves for bestemte DAX spørringer. Et eksempel der automatisk eksisterer andALL() gir uventede resultater, er når du filtrerer på to or flere kolonner i samme tabell (som når du bruker slicere), and det finnes en measure på den samme tabellen som bruker ALL(). I dette tilfellet vil automatisk eksisterende flette flere filters til én and vil bare filter på eksisterende kombinasjoner av values. På grunn av denne flettingen beregnes measure på de eksisterende kombinasjonene av valuesand resultatet baseres på filtrert values i stedet for allvalues som forventet. Hvis du vil lære mer om automatiske på beregninger, kan du se Artikkelen om for Microsoft MVP Alberto Ferraris Forstå automatisk.

  • Tabellen nedenfor beskriver hvordan du kan bruke ALLandALLEXCEPT-funksjonene i ulike scenarioer.

    Funksjon and bruk Beskrivelse
    ALL() Fjerner allfilters overalt. ALL() kan bare brukes til å fjerne filters, men not for å returnere en tabell.
    ALL(tabell) Fjerner allfilters fra den angitte tabellen. I effectreturnerer ALL(tabell) all av values i tabellen, og fjerner eventuelle filters fra konteksten som ellers kan ha blitt brukt. Denne funksjonen er nyttig når du arbeider med mange grupperingsnivåer, and vil opprette en beregning som oppretter et forhold mellom et aggregert value til det totale value. Eksemplet på first demonstrerer dette scenarioet.
    ALL (Kolonne[, Kolonne[, ...]]) Fjerner allfilters fra de angitte kolonnene i tabellen. all andre filters på andre kolonner i tabellen gjelder fortsatt. All kolonneargumentene må komme fra samme tabell. Varianten ALL(kolonne) er nyttig når du vil fjerne konteksten filters for én or mer spesifikke kolonner and for å beholde all annen kontekst filters. De secondand tredje eksemplene viser dette scenarioet.
    ALLEXCEPT(tabell, kolonne1 [,kolonne2]...) Fjerner all kontekst filters i tabellen exceptfilters som brukes på de angitte kolonnene. Dette er en praktisk snarvei for situasjoner der du vil fjerne filters på mange, men notall, kolonner i en tabell.
  • Denne funksjonen støttes not for bruk i DirectQuery-modus når den brukes i beregnede kolonner or regler for sikkerhet på radnivå (RLS).

Eksempel 1

Calculate forhold mellom Kategorisalg og Totalt salg

Anta at du vil find salgsbeløpet for gjeldende celle, i pivottabellen, delt på det totale salget for all forhandlere. Hvis du vil sikre at nevneren er den samme uansett hvordan pivottabellbrukeren filtrerer or grupperer dataene, define du en formel som bruker ALL til å opprette riktig totalsum.

Tabellen nedenfor viser resultatene når en ny measure, All forhandlersalgsforhold, opprettes ved hjelp av formelen som vises i kodeinndelingen. Hvis du vil se hvordan dette fungerer, kan du legge til feltet CalendarYear i radetiketter området i pivottabellen, and legge til feltet ProductCategoryName i kolonneetiketter området. Deretter drar du measure, All forhandlersalgsforhold, til Values-området i pivottabellen. Hvis du vil vise resultatene som prosentdeler, bruker du formateringsfunksjonene i Excel til å bruke en prosentvis tallformatering på cellene som containsmeasure.

Radetiketter Tilbehør Sykler Klær Komponenter Totalsum
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%
Totalsum 0,70% 82,47% 2.18% 14.65% 100,00%

formel

= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/SUMX(ALL(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])

Formelen er konstruert på følgende måte:

  1. Telleren, SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD]), er sum av values i ResellerSales_USD[SalesAmount_USD] for gjeldende celle i pivottabellen, med kontekst filters brukt på CalendarYear and ProductCategoryName.

  2. For nevneren begynner du med å angi en tabell, ResellerSales_USD, and bruke ALL-funksjonen til å fjerne all kontekst filters i tabellen.

  3. Deretter bruker du SUMX-funksjonen til å sumvalues i kolonnen ResellerSales_USD[SalesAmount_USD]. Med andre ord får du sum av ResellerSales_USD[SalesAmount_USD] for all forhandlersalg.

Eksempel 2

Calculate forhold mellom Product salg og totalt salg gjennom gjeldende Year

Anta at du vil opprette en tabell som viser prosentdelen av salg sammenlignet med årene for hver product kategori (ProductCategoryName). Hvis du vil ha prosentandelen for hver year over hver value av ProductCategoryName, må du dividesum av salg for den bestemte yearandproduct kategorien etter sum av salg for samme product kategori i løpet av all år. Du vil med andre ord beholde filter på ProductCategoryName, men fjerne filter på year når du beregner nevneren for prosentdelen.

Tabellen nedenfor viser resultatene når en ny measure, forhandlersalg Year, opprettes ved hjelp av formelen som vises i kodedelen. Hvis du vil se hvordan dette fungerer, kan du legge til feltet CalendarYear i radetiketter området i en pivottabell, and legge til feltet ProductCategoryName i kolonneetiketter området. Hvis du vil vise resultatene som prosentdeler, kan du bruke Excels formateringsfunksjoner til å bruke et prosenttall format på cellene som inneholder measure, forhandlersalg Year.

Radetiketter Tilbehør Sykler Klær Komponenter Totalsum
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%
Totalsum 100,00% 100,00% 100,00% 100,00% 100,00%

formel

= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(DateTime[CalendarYear]))

Formelen er konstruert på følgende måte:

  1. Telleren, SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD]), er sum av values i ResellerSales_USD[SalesAmount_USD] for gjeldende celle i pivottabellen, med kontekst filters brukt på kolonnene CalendarYear and ProductCategoryName.

  2. For nevneren fjerner du eksisterende filter på CalendarYear ved hjelp av ALL(Kolonne)-funksjonen. Dette beregner sum over de gjenværende radene i ResellerSales_USD tabellen, etter at du har brukt den eksisterende konteksten filters fra kolonneetikettene. Netto effect er at for nevneren beregnes sum over det valgte ProductCategoryName (den underforståtte konteksten filter) and for allvalues i Year.

Eksempel 3

Calculate bidrag fra Product kategorier til totalt salg per Year

Anta at du vil opprette en tabell som viser prosentdelen av salget for hver product kategori, på en year-by-year basis. Hvis du vil ha prosentandelen for hver product kategori i en bestemt year, må du calculatesum av salg for den bestemte product kategorien (ProductCategoryName) i year n, and deretter divide den resulterende value etter sum av salg for year n over allproduct kategorier. Du vil med andre ord beholde filter på year men fjerne filter på ProductCategoryName når du beregner nevneren for prosentdelen.

Tabellen nedenfor viser resultatene når en ny measure, Reseller Sales CategoryName, opprettes ved hjelp av formelen som vises i kodedelen. Hvis du vil se hvordan dette fungerer, kan du legge til feltet CalendarYear i radetiketter området i pivottabellen, and legge til feltet ProductCategoryName i området kolonneetiketter. Legg deretter til den nye measure i Values-området i pivottabellen. Hvis du vil vise resultatene som prosentdeler, bruker du Excels formateringsfunksjoner til å bruke et prosenttall format på cellene som inneholder den nye measure, for forhandlersalgskategorinavn.

Radetiketter Tilbehør Sykler Klær Komponenter Totalsum
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%
Totalsum 0,70% 82,47% 2.18% 14.65% 100,00%

formel

= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(ProductCategory[ProductCategoryName]))

Formelen er konstruert på følgende måte:

  1. Telleren, SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD]), er sum av values i ResellerSales_USD[SalesAmount_USD] for gjeldende celle i pivottabellen, med kontekst filters brukt på feltene, CalendarYear and ProductCategoryName.

  2. For nevneren bruker du funksjonen ALL(kolonne) til å fjerne filter på ProductCategoryName andcalculatesum over de gjenværende radene i ResellerSales_USD tabellen, etter å ha brukt den eksisterende konteksten filters fra radetikettene. Netto effect er at for nevneren beregnes sum over den valgte Year (den underforståtte konteksten filter) and for allvalues av ProductCategoryName.

Filter funksjonerALL funksjonALLEXCEPT funksjonFILTER funksjon