Office
Vpis

Filtriranje podatkov v formulah jezika DAX

Opomba:  Najnovejšo vsebino pomoči v vašem jeziku vam želimo zagotoviti v najkrajšem možnem času. Ta stran je bila prevedena z avtomatizacijo in lahko vsebuje slovnične napake ali nepravilnosti. Naš namen je, da bi bila vsebina za vas uporabna. Ali nam lahko na dnu te strani sporočite, ali so bile informacije za vas uporabne? Tukaj je angleški članek za preprosto referenco.

V tem razdelku je opisano, kako ustvariti filtre v okviru formul Data Analysis Expressions (DAX). Ustvarite lahko filtre v formulah, če želite omejiti vrednosti iz vira podatkov, ki so uporabljene v izračunih. To naredite tako, da določite tabelo kot vnos za formulo, in nato določite izraz filtra. Izraz filtra, ki jih posredujete, ki se uporablja za poizvedbo podatkov in se vrniti le podmnožico vira podatkov. Filter, bo uporabljen dinamično vsakič, ko posodobite rezultate formule, odvisno od trenutnega konteksta podatkov.

V tem članku

Ustvarjanje filtra v tabeli, ki se uporablja v formuli

Filtri, ki odstranjujejo dvojnike

Kako kontekst vpliva na filtre

Odstranjevanje filtrov

Prepis vseh filtrov s funkcijo ALL

Prepis določenih filtrov s funkcijo Allexcept

Ustvarjanje filtra v tabeli, ki se uporablja v formuli

Filtre lahko uporabite v formulah, ki črpajo iz tabele. Namesto da vnesete ime tabele, uporabite funkcijo FILTER in določite podmnožico vrstic iz določene tabele. Podmnožica se nato prenese v drugo funkcijo za izvajanje drugih postopkov, na primer zbiranje po meri.

Če imate na primer tabelo s podatki, ki vsebujejo informacije o naročilih prodajalcev, želite pa izračunati, koliko je vsak prodajalec prodal. Vendar želite prikazati količino prodanega blaga le za tiste prodajalce, ki so prodali več enot vaših izdelkov z višjo vrednostjo. Ta formula, ki temelji na vzorčnem delovnem zvezku DAX, prikazuje en primer, kako lahko z uporabo filtra ustvarite ta izračun:

= SUMX (
FILTER ("ResellerSales_USD", "ResellerSales_USD" [količina] > 5 & &
"ResellerSales_USD" [ProductStandardCost_USD] > 100),
"ResellerSales_USD" [SalesAmt]
)

  • Prvi del formule, ki določa enega od Power Pivot združevalne funkcije, ki vzame tabelo kot argument. SUMX izračuna vsote nad tabelo.

  • Drugi del formule, FILTER(table, expression),pove SUMX kateri podatkov. SUMX zahteva tabelo ali izraz, ki je rezultat v tabeli. Tukaj, namesto vse podatke v tabeli, uporabite funkcijo FILTER določite, kateri od vrstic iz tabele se uporabljajo.

    Izraz filter je sestavljena iz dveh delov: prvi del imena tabele, ki se uporablja filter. Drugi del definira izraz, ki ga želite uporabiti kot pogoj filtra. V tem primeru filtrirate na prodajalcev, ki je prodal več kot 5 enote in izdelki, ki stanejo več kot $100. Operator, & &, je logično in operator, ki označuje, da morajo biti obeh delih pogoj velja za vrstico katero filtrirani podmnožici.

  • Tretji del formule določa za funkcijo SUMX , katere vrednosti je treba sešteti. V tem primeru uporabljate le količino prodanega blaga.

    Upoštevajte, da funkcije, na primer FILTER, ki vrne tabelo, nikoli vrnjena tabele ali vrstic neposredno, vendar so vedno vdelan v drugo funkcijo. Če želite več informacij o FILTER in druge funkcije, ki se uporablja za filtriranje, vključno z več primeri, glejte Funkcije filtrov (DAX).

    Opomba: Izraz filter vplivajo kontekst, v katerem je uporabljena. Na primer, če uporabite filter v mera in ukrep uporabljamo za vrtilne tabele ali vrtilnega grafikona, podnabor podatkov, ki ga vrne lahko vpliva dodatne filtre ali razčlenjevalnike, ki uporabniku so uporabljene v vrtilni tabeli. Če želite več informacij o kontekstu, glejte kontekst v formulah jezika DAX.

Filtri, ki odstranjujejo dvojnike

Poleg filtriranje določene vrednosti, se lahko vrnete enoličnega nabora vrednosti iz druge tabele ali stolpca. To je dobro, če želite preštejte število enoličnih vrednosti v stolpcu, ali pa uporabite seznam enoličnih vrednosti za druge dejavnosti. DAX ponuja dve funkciji za vračanje različnih vrednosti: funkcija DISTINCT in funkcija vrednosti.

  • Funkcija DISTINCT preuči en stolpec, ki ga določite kot argument funkcije, in vrne nov stolpec, ki vsebuje le razlikovalne vrednosti.

  • Funkcija VALUES tudi vrne seznam enoličnih vrednosti, vendar tudi vrne neznanega člana. To je uporabno, če uporabljate vrednosti iz dveh tabel, ki so združeni po relacije in vrednost, ki je prikazan v eno tabelo in v drugih. Če želite več informacij o neznanega člana, glejte kontekst v formulah jezika DAX.

Obe funkciji vrneta celoten stolpec vrednosti, zato uporabite funkciji, če želite pridobiti seznam vrednosti, ki se nato prenese v drugo funkcijo. Če želite pridobiti seznam posebnih izdelkov, ki jih je z enoličnim ključem izdelka prodal določeni prodajalec in nato s funkcijo COUNTROWS te izdelke na seznamu prešteti, lahko uporabite na primer to formulo:

=COUNTROWS(DISTINCT('ResellerSales_USD'[ProductKey]))

Na vrh strani

Kako kontekst vpliva na filtre

Ko dodate formulo DAX vrtilne tabele ali vrtilnega grafikona, lahko kontekst vpliva rezultate formule. Če delate v tabeli Power Pivot , kontekst je trenutne vrstice in vrednosti. Če delate v vrtilne tabele ali vrtilnega grafikona, kontekstu pomeni, da nastavite ali podmnožico podatkov, ki je določeno s operacij, kot so rezanje ali filtriranje. Načrt za vrtilne tabele ali vrtilnega grafikona uvaja tudi svoje kontekst. Na primer, če ustvarite vrtilno tabelo, ki združuje prodaje po regijah in leto, le podatke, ki velja za te regije in leta se prikaže v vrtilni tabeli. Zato so mere, ki jih dodate v vrtilno tabelo izračuna v kontekstu glave stolpcev in vrstic in uporabljenih filtrov v formuli mero.

Če želite več informacij, glejte kontekst v formulah jezika DAX.

Na vrh strani

Odstranjevanje filtrov

Ko delate z zapletenimi formulami, boste morda želeli vedeti natančno, kateri filtri so trenutno uporabljeni, ali pa boste želeli spremeniti del formule, kjer je naveden filter. DAX zagotavlja več funkcij, ki omogočajo odstranjevanje filtrov in nadzor nad stolpci, ki se ohranijo kot del trenutnega konteksta filtra. V tem razdelku je pregled nad tem, kako te funkcije vplivajo na rezultate v formuli.

Prepis vseh filtrov s funkcijo ALL

Prepišejo filtre, ki so bile prej uporabljali funkcijo ALL in vrne vse vrstice v tabeli funkcije, ki se izvaja postopek združevanja ali druge. Če uporabljate eno ali več stolpcev, namesto tabele, kot argumenta za ALL, vrne funkcija ALL vse vrstice, prezre vse kontekstne filtre.

Opomba: Če vam je znana terminologija relacijskih zbirk podatkov, lahko gledate na funkcijo ALL kot ustvarjanje naravnega levega zunanjega združevanja vseh tabel.

Če imate na primer tabeli »Prodaja« in »Izdelki« in želite ustvariti formulo, ki bo izračunala vsoto prodaje za trenutni izdelek in jo delila s prodajo vseh izdelkov. Če je formula uporabljena v meri, uporablja uporabnik vrtilne tabele morda razčlenjevalnik za filtriranje določenega izdelka z imenom tega izdelka v vrsticah. Če želite torej pridobiti vrednost »TRUE« za imenovalca, ne glede na filtre ali razčlenjevalnike, morate dodati funkcijo ALL, da prepišete vse filtre. Če želite s funkcijo ALL prepisati učinke prejšnjih filtrov, predstavlja ta funkcija en primer:

= SUM (prodaja [količina]) / SUMX (prodaja [količina] FILTER (prodaja, ALL(Products)))

  • Prvi del formule, SUM (Sales[Amount]), izračuna števec.

  • Vsota upošteva trenutni kontekst, kar pomeni, če dodate formulo v izračunani stolpec, je uporabljen kontekst vrstice, če pa formulo dodate v vrtilno tabelo kot merilo, bodo uporabljeni vsi filtri v vrtilni tabeli (kontekst filtra).

  • Drugi del formule, izračuna delitelj. Funkcija ALL prepiše filtre, ki bi lahko uporabljali Products tabelo.

Če želite več informacij, vključno s podrobnimi primeri, glejte funkcija ALL.

Prepis določenih filtrov s funkcijo ALLEXCEPT

Funkcija ALLEXCEPT tudi prepiše obstoječe filtre, vendar lahko določite, da je treba ohraniti nekatere obstoječe filtre. Stolpci, da ime kot argumenti za funkcijo allexcept določite stolpce, ki bodo še naprej, če želite filtrirati. Če želite preglasiti filtre iz večina stolpcev, vendar ne vsi, je bolj priročno, kot vse ALLEXCEPT. Funkcija ALLEXCEPT je zlasti uporabna, ko ustvarjate vrtilnih tabel, ki morda filtrirani na številne različne stolpce in želite nadzorovati vrednosti, ki so uporabljeni v formuli. Če želite več informacij, vključno z podroben primer uporabe ALLEXCEPT v vrtilni tabeli, glejte Funkcija ALLEXCEPT.

Na vrh strani

Razširite poznavanje Officea
Oglejte si izobraževanje
Prvi dobite nove funkcije
Pridružite se programu Office Insider

Vam je bila informacija v pomoč?

Zahvaljujemo se vam za povratne informacije.

Zahvaljujemo se vam za povratne informacije. Videti je, da bi vam prišla prav pomoč enega od naših Officeovih agentov za podporo.

×