Vpišite se z Microsoftovim
Vpišite se ali ustvarite račun.
Pozdravljeni,
Izberite drug račun.
Imate več računov
Izberite račun, s katerim se želite vpisati.

V tem razdelku je opisano, kako ustvarite filtre v formulah Data Analysis Expressions (DAX). Znotraj formul lahko ustvarite filtre, če želite omejiti vrednosti iz izvornih podatkov, ki se uporabljajo v izračunih. To naredite tako, da določite tabelo kot vnos formule in nato določite izraz filtra. Izraz filtra, ki ga vrnete, se uporablja za poizvedovanje po podatkih in vrne le podnabor izvornih podatkov. Filter je uporabljen dinamično vsakič, ko posodobite rezultate formule, odvisno od trenutnega konteksta podatkov.

V tem članku

Creating a Filter on a Table used in a Formula

Filtre lahko uporabite v formulah, ki uporabljajo tabelo kot vnos. Namesto da vnesete ime tabele, s funkcijo FILTER določite podmnožico vrstic iz določene tabele. Ta podnabor je nato prenesen v drugo funkcijo za postopke, kot je združevanje po meri.

Recimo, da imate tabelo s podatki, ki vsebuje podatke o naročilu za prodajalce, in želite izračunati prodajo posameznega prodajalca. Vendar pa želite prikazati znesek prodaje le za prodajalce, ki so prodali več enot vaših izdelkov višje vrednosti. Ta formula, ki temelji na vzorčnem delovnem zvezku dax, prikazuje en primer, kako lahko s filtrom ustvarite ta izračun:

=SUMX(
     FILTER ('ResellerSales_USD', 'ResellerSales_USD'[Količina] > 5 &&
     'ResellerSales_USD'[ProductStandardCost_USD] > 100),
     'ResellerSales_USD'[ProdajaAmt]
     )

  • Prvi del formule določa eno od Power Pivot združevanja, ki vzame tabelo kot argument. SUMX izračuna vsoto v tabeli.

  • V drugem delu formule je FILTER(table, expression),, SUMX uporabiti podatke. SUMX potrebujete tabelo ali izraz, ki ima rezultate v tabeli. Tukaj namesto uporabe vseh podatkov v tabeli uporabite FILTER za določanje, katere vrstice iz tabele so uporabljene.

    Izraz filtra je na dveh delih: prvi del poimen vsebuje tabelo, za katero velja filter. Drugi del določa izraz, ki ga je treba uporabiti kot pogoj filtra. V tem primeru filtrirate prodajalce, ki so prodali več kot 5 enot in izdelkov, ki so staneli več kot 100 $. Operator ( &&« je logični operator AND, ki označuje, da morata biti oba dela pogoja resnična, da vrstica sodi v filtrirani podnabor.

  • Tretji del formule pove funkciji SUMX katere vrednosti je treba sešteti. V tem primeru uporabite le znesek prodaje.

    Upoštevajte, da funkcije, kot je FILTER, ki vrnejo tabelo, nikoli ne vrnejo neposredno tabele ali vrstic, ampak so vedno vdelane v drugo funkcijo. Če želite več informacij o funkciji FILTER in drugih funkcijah, ki se uporabljajo za filtriranje, vključno z več primeri, glejte Funkcije filtriranja (DAX).

    Opomba: Na izraz filtra vpliva kontekst, v katerem je uporabljen. Če na primer uporabite filter v meri in je mera uporabljena v vrtilni tabeli ali grafikonu Vrtilni grafikon, na podnabor podatkov, ki ga vrne, morda vplivajo dodatni filtri ali razčlenjevalniki, ki jih je uporabnik uporabil v vrtilni tabeli. Če želite več informacij o kontekstu, glejte Kontekst v formulah dax.

Filtri, ki odstranijo dvojnike

Poleg filtriranja določenih vrednosti lahko vrnete enoličen nabor vrednosti iz druge tabele ali stolpca. To je uporabno, ko želite prešteti število enoličnih vrednosti v stolpcu ali pa uporabiti seznam enoličnih vrednosti za druge operacije. DAX ponuja dve funkciji za vračanje razlikovalnih vrednosti: Funkcija DISTINCT in funkcija VALUES.

  • Funkcija DISTINCT pregleda en stolpec, ki ga določite kot argument za funkcijo, in vrne nov stolpec, ki vsebuje samo razlikovalne vrednosti.

  • Funkcija VALUES vrne tudi seznam enoličnih vrednosti, vendar tudi vrne neznanega člana. To je uporabno, če uporabljate vrednosti iz dveh tabel, ki sta združeni z relacijo, vrednost pa manjka v eni tabeli in prisotna v drugi. Če želite več informacij o neznanem članu, glejte Kontekst v formulah dax.

Obe funkciji vrneta celoten stolpec vrednosti; zato uporabite funkcije, da pridobite seznam vrednosti, ki so nato posredovane drugi funkciji. S to formulo lahko na primer dobite seznam različnih izdelkov, ki jih je prodal določen prodajalec, z enoličnim ključem izdelka, nato pa preštejete izdelke na tem seznamu s funkcijo COUNTROWS:

=COUNTROWS(DISTINCT('ResellerSales_USD'[KljučIzdelka]))

Na vrh strani

Kako kontekst vpliva na filtre

Ko dodate formulo DAX v vrtilno tabelo ali Vrtilni grafikon, na rezultate formule lahko vpliva kontekst. Če delate v tabeli Power Pivot, je kontekst trenutna vrstica in njene vrednosti. Če delate v vrtilni tabeli ali v Vrtilni grafikon, kontekst pomeni nabor ali podmnožico podatkov, ki je določena z operacijami, kot je na primer slikanje ali filtriranje. Načrt vrtilne tabele ali vrtilne Vrtilni grafikon ima svoj kontekst. Če na primer ustvarite vrtilno tabelo, ki prikaže prodajo po regiji in letu, so v vrtilni tabeli prikazani le podatki, ki veljajo za te regije in leta. Zato se vse ukrepe, ki jih dodate v vrtilno tabelo, izračunamo v kontekstu naslovov stolpcev in vrstic ter filtrov v formuli merske enote.

Če želite več informacij, glejte Kontekst v formulah dax.

Na vrh strani

Odstranjevanje filtrov

Pri delu z zapletenimi formulami boste morda želeli natančno vedeti, kaj so trenutni filtri ali pa morda želite spremeniti filter dela formule. DAX ponuja več funkcij, s katerimi lahko odstranite filtre in nadzorujete, kateri stolpci bodo ohranjeni kot del trenutnega konteksta filtra. V tem razdelku je pregled, kako te funkcije vplivajo na rezultate formule.

Prepis vseh filtrov s funkcijo ALL

S funkcijo ALL lahko preglasite vse filtre, ki so bili prej uporabljeni, in vse vrstice v tabeli vrnete v funkcijo, ki izvede združevanje ali drugo operacijo. Če namesto tabele uporabljate enega ali več stolpcev kot argumente za ALL, funkcija ALL vrne vse vrstice, pri tem prezri vse kontekstne filtre.

Opomba: Če poznate terminologijo relacijske zbirke podatkov, si lahko ALL , kako generiranje naravnega levega zunanjega združevanja vseh tabel.

Recimo, da imate tabele, »Prodaja« in »Izdelki« in želite ustvariti formulo, ki bo izračunala vsoto prodaje za trenutni izdelek, deljeno s prodajo za vse izdelke. Upoštevati morate dejstvo, da v primeru, ko je formula uporabljena v meri, uporabnik vrtilne tabele morda uporablja razčlenjevalnik za filtriranje določenega izdelka z imenom izdelka v vrsticah. Če želite torej dobiti pravo vrednost imenovalca ne glede na filtre ali razčlenjevalnike, morate dodati funkcijo ALL, če želite preglasiti vse filtre. Ta formula je primer, kako s funkcijo ALL preglasite učinke prejšnjih filtrov:

=SUM (Prodaja[Znesek])/SUMX(Prodaja[Znesek], FILTER(Prodaja, ALL(Izdelki)))

  • Prvi del formule SUM (Prodaja[Znesek]) izračuna števec.

  • Vsota upošteva trenutni kontekst, kar pomeni, da če dodate formulo v izračunani stolpec, se uporabi kontekst vrstice in če dodate formulo v vrtilno tabelo kot mero, bodo uporabljeni vsi filtri, uporabljeni v vrtilni tabeli (kontekst filtra).

  • Drugi del formule izračuna imenovalec. Funkcija ALL preglasi vse filtre, ki bodo morda uporabljeni za Products tabeli.

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

Prepis določenih filtrov s funkcijo ALLEXCEPT

Funkcija ALLEXCEPT preglasi tudi obstoječe filtre, vendar lahko določite, da morajo biti ohranjeni nekateri obstoječi filtri. Stolpci, ki jih poimen uporabljate kot argumente za funkcijo ALLEXCEPT, določajo, kateri stolpci bodo še naprej filtrirani. Če želite preglasiti filtre iz večine stolpcev, vendar ne vseh, je allEXCEPT bolj priročen kot ALL. Funkcija ALLEXCEPT je še posebej uporabna, ko ustvarjate vrtilne tabele, ki so lahko filtrirane v številnih različnih stolpcih, in želite nadzirati vrednosti, ki so uporabljene v formuli. Če želite več informacij, vključno s podrobnim primerom uporabe funkcije ALLEXCEPT v vrtilni tabeli, glejte Funkcija ALLEXCEPT.

Na vrh strani

Ali potrebujete dodatno pomoč?

Ali želite več možnosti?

Raziščite ugodnosti naročnine, prebrskajte izobraževalne tečaje, preberite, kako zaščitite svojo napravo in še več.

Skupnosti vam pomagajo postaviti vprašanja in odgovoriti nanje, posredovati povratne informacije in prisluhniti strokovnjakom z bogatim znanjem.

Vam je bila informacija v pomoč?

Kako ste zadovoljni s kakovostjo jezika?
Kaj je vplivalo na vašo izkušnjo?
Če pritisnete »Pošlji«, bomo vaše povratne informacije uporabili za izboljšanje Microsoftovih izdelkov in storitev. Vaš skrbnik za IT bo lahko zbiral te podatke. Izjavi o zasebnosti.

Zahvaljujemo se vam za povratne informacije.

×