Filtriranje podataka u DAX formulama

Važno : Ovaj članak je mašinski prevesti potražite u članku Odricanje odgovornosti. O referencu pronaći verzija ovaj članak ovde na engleskom jeziku.

Ovaj odeljak opisuje kako da kreirate filtere u okviru Data Analysis Expressions (DAX) formula. Možete da kreirate filtere u okviru formule da biste ograničili vrednosti iz izvora podataka koji se koriste u izračunavanjima. Učinite tako što ćete navesti tabelu kao unos u formulu, a zatim definiše izraza filtera. Izraz filter obezbedite se koristi za upit podataka i vratili samo podskup izvorne podatke. Filter se primenjuje dinamički svaki put kada ažurirate rezultate formule, u zavisnosti od trenutni kontekst podataka.

U ovom članku

Kreiranje filtera u tabeli koja se koristi u formuli

Filteri koji uklanjaju duplikate

Kako kontekst utiče na filtere

Uklanjanje filtera

Zamena svih filtera uz pomoć funkcije ALL

Zamena određenih filtera funkcijom ALLEXCEPT

Kreiranje filtera u tabeli koja se koristi u formuli

Filtere je moguće primeniti u formulama koje koriste tabelu kao unos. Umesto unošenja imena tabele, koristite funkciju FILTER da biste definisali podskup redova iz navedene tabele. Taj podskup se zatim prosleđuje drugoj funkciji za operacije kao što su prilagođene agregacije.

Na primer, pretpostavimo da imate tabelu sa podacima koja sardži informacije o redosledu preprodavaca i želite da izračunate koliko je svaki preprodavac prodao. Međutim, želite da prikažete količinu prodaje samo za one preprodavce koji su prodali više proizvoda sa većom vrednošću. Sledeća formula, zasnovana na primeru DAX radne sveske, prikazuje primer kako možete da kreirate ovo izračunavanje korišćenjem filtera:

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

  • Prvi deo formule navode jednu od Power Pivot agregatne funkcije, koja uzima tabelu kao argument. SUMX izračunava zbir iznad tabele.

  • Drugi deo formule, FILTER(table, expression),govori SUMX koje podatke da biste koristili. SUMX zahteva u tabelu ili izraz koji daje tabelu. Ovde, umesto da koristite sve podatke u tabeli, koristite funkciju FILTER da biste naveli redova iz tabele koja se koriste.

    Izraz filter ima dva dela: prvi deo imena tabelu na koju se primenjuje filter. Drugi deo definiše izraz da biste koristili kao uslov filtera. U ovom slučaju, filtrirate na prodavaca koji je prodao više od 5 jedinica i proizvodi koji koštaju više od 100 din. Operator, & &, je logičkog i operatora, koja ukazuje na to da oba dela uslov moraju biti zadovoljeni za red pripadati filtrirani podskup.

  • Treći deo formule govori funkciji SUMX koje vrednosti treba da budu sabrane. U ovom slučaju koristite samo količinu prodaje.

    Obratite pažnju na to da funkcija kao što je FILTER, koja vraća tabelu, nikada ne vraća tabelu ili redove direktno, ali je uvek ugnežđena u okviru druge funkcije. Više informacija o funkciji FILTER i drugim funkcijama koje se koriste za filtriranje, zajedno sa većim brojem primera, potražite u članku Funkcije filtriranja (DAX).

    Napomena : Na izraz za filtriranje utiče kontekst u kom se koristi. Na primer, ako koristite filter u izračunatom polju, a izračunato polje se koristi u izvedenoj tabeli ili na izvedenom grafikonu, moguće je da su na podskup podataka koji je vraćen uticali dodatni filteri ili moduli za sečenje koje je korisnik primenio u izvedenoj tabeli. Više informacija o kontekstu potražite u članku Kontekst u formulama DAX.

Filteri koji uklanjaju duplikate

Pored filtriranja za određene vrednosti, moguće je dobiti i jedinstven skup vrednosti iz druge tabele ili kolone. Ovo može da bude korisno kada želite da prebrojite jedinstvene vrednosti u koloni ili da koristite listu jedinstvenih vrednosti za druge operacije. Funkcija DAX obezbeđuje dve funkcije za vraćanje različitih vrednosti: funkcija DISTINCT i funkcija VALUES.

  • Funkcija DISTINCT ispituje jednu kolonu koju navedete kao argument za funkciju i vraća novu kolonu koja sadrži samo različite vrednosti.

  • Funkcija VALUES takođe vraća listu jedinstvene vrednosti, ali takođe daje nepoznatog člana. Ovo je korisno kada koristite vrednosti iz dve tabele koje su se pridružili relacije i vrednost je nestao iz jedne tabele i predstavljanje u drugu. Više informacija o nepoznatog člana, pročitajte članak kontekst u DAX formulama.

Obe funkcije vraćaju čitavu kolonu sa vrednostima; prema tome, ove funkcije se koriste da bi se dobila lista vrednosti koja se potom prosleđuje drugoj funkciji. Na primer, možete da koristite sledeću formulu da biste dobili listu različitih proizvoda koje je prodao određeni preprodavac, koristeći jedinstveni ključ proizvoda, a zatim da prebrojte proizvode na toj listi korišćenjem funkcije COUNTROWS:

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

Vrh stranice

Kako kontekst utiče na filtere

Kada dodate DAX formule izvedene tabele ili izvedenog grafikona, rezultate formule mogu da utiču na kontekst. Ako radite u tabeli Power Pivot , kontekst je trenutnog reda i njegove vrednosti. Ako radite u izvedene tabele ili izvedenog grafikona, konteksta znači skup ili podskup podataka koji je definisan operacije, na primer sekao ili filtriranja. Dizajn izvedene tabele ili izvedenog grafikona i nameće svom kontekstu. Na primer, ako kreirate izvedenu tabelu koja grupiše prodaju po regionu i godine, samo podatke koji se odnosi na te oblasti i godina se pojavljuje u izvedenoj tabeli. Zbog toga sve mere koje dodate u izvedenoj tabeli se izračunavaju u kontekstu naslovi kolona i redova, kao i svi filtere u formuli meru.

Više informacija potražite u članku Kontekst u formulama DAX.

Vrh stranice

Uklanjanje filtera

Pri radu sa kompleksnim formulama, možete poželeti da znate koji su tačno trenutni filteri, ili možete poželeti da izmenite deo formule koji sadrži filter. Funkcija DAX obezbeđuje nekoliko funkcija koje vam omogućuju da uklonite filtere i da kontrolišete koje kolone se zadržavaju kao deo trenutnog konteksta filtera. Ovaj odeljak daje pregled toga kako ove funkcije utiču na rezultate u formuli.

Zamena svih filtera uz pomoć funkcije ALL

Možete da koristite funkciju ALL da biste zamenili sve filtere koji su prethodno primenjene i da se sve redove u tabeli za funkciju koji izvršava operacije agregatne ili druge. Ako koristite jednu ili više kolona, umesto tabele, kao argumenti za ALL, ALL funkcija vraća sve redove, zanemarujući sve kontekstualne filtere.

Napomena : Ako vam je poznata terminologija relacione baze podataka, možete da posmatrate funkciju ALL kao da generiše levo spoljno spajanje svih tabela.

Na primer, pretpostavimo da imate tabele, „Prodaja“ i „Proizvodi“, i želite da kreirate formulu koja će izračunati zbir prodaja za trenutni proizvod podeljeno sa prodajama svih proizvoda. Potrebno je da uzmete u obzir činjenicu da, ako je formula korišćena u izračunatom polju, korisnik izvedene tabele možda koristi modul za sečenje da bi filtrirao određeni proizvod tako da ime proizvoda bude u redovima. Prema tome, da biste dobili tačnu vrednost imenioca bez obzira na filtere ili module za sečenje, morate da dodate funkciju ALL da biste zamenili filtere. Sledeća formula predstavlja primer kako da koristite funkciju ALL da biste zamenili efekte prethodnih filtera:

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

  • Prvi deo formule, SUM (Sales[Amount]), izračunava brojioca.

  • Zbir uzima u obzir trenutni kontekst, što znači da ako dodate formulu u izračunatu kolonu, primenjuje se kontekst reda, a ako dodate formulu u izvedenu tabelu kao izračunato polje, primenjuju se filteri koji su primenjeni na izvedenu tabelu (kontekst filtera).

  • Drugi deo formule, izračunava denominator. Funkcija ALL zamenjuje sve filtere koji može da se primeni Products tabelu.

Više informacija, što obuhvata detaljne primere, potražite u članku Funkcija ALL.

Zamena određenih filtera funkcijom ALLEXCEPT

Funkcija ALLEXCEPT takođe zamenjuje postojeće filtere, ali možete da navedete da neki od postojećih filtera budu sačuvani. Kolone koje navedete kao argumente za funkciju ALLEXCEPT određuju koje kolone će i dalje biti filtrirane. Ako želite da zamenite filtere iz većine kolona, ali ne iz svih, funkcija ALLEXCEPT je korisnija od funkcije ALL. Funkcija ALLEXCEPT je posebno korisna kada kreirate izvedene tabele koje je moguće filtrirati na nekoliko različitih kolona i želite da kontrolišete vrednosti koje se koriste u formuli. Više informacija, što obuhvata detaljne primere korišćenja funkcije ALLEXCEPT u izvedenoj tabeli, potražite u članku Funkcija ALLEXCEPT.

Vrh stranice

Napomena : Odricanje odgovornosti mašinskog prevođenja: ovaj članak je preveden sistem računara bez ljudski interventne. Microsoft nudi ove mašinskog prevoda da pomogne koja nije na engleskom govornih korisnicima da uživate u sadržaju za Microsoft proizvode, usluge i tehnologijama. U članku bio mašinskog prevesti, mogu da sadrže greške u rečnik, sintaksa ili gramatiku.

Unapredite veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Office Insider korisnicima

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Zvuči da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×