Prijavite se pomoću Microsoft naloga
Prijavite se ili kreirajte nalog.
Zdravo,
Izaberite drugi nalog.
Imate više naloga
Odaberite nalog pomoću kojeg želite da se prijavite.

Ovaj odeljak opisuje kako da kreirate filtere u Data Analysis Expressions (DAX) formulama. Možete da kreirate filtere u okviru formula da biste ograničili vrednosti iz izvornih podataka koji se koriste u izračunavanjima. To radite tako što ćete navesti tabelu kao unos za formulu, a zatim definisati izraz filtera. Izraz filtera koji pružite koristi se za upite podataka i vraćanje samo podskupa izvornih podataka. Filter se dinamički primenjuje svaki put kada ažurirate rezultate formule, u zavisnosti od trenutnog konteksta podataka.

U ovom članku

Creating a Filter on a Table used in a Formula

Filtere možete primeniti u formulama koje uzimaju tabelu kao unos. Umesto da unesete ime tabele, koristite funkciju FILTER da biste definisali podskup redova iz navedene tabele. Taj podskup se zatim prosleuje drugoj funkciji za operacije kao što su prilagođene agregatne funkcije.

Na primer, pretpostavimo da imate tabelu sa podacima koji sadrže informacije o porudžbini o prodavcima i želite da izračunate koliko se svakog prodavca prodalo. Međutim, želite da pokažete iznos prodaje samo za one prodavce koji su prodali više jedinica proizvoda sa više vrednosti. Sledeća formula, zasnovana na DAX uzorku radne sveske, prikazuje jedan primer toga kako možete da napravite ovo izračunavanje pomoću filtera:

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

  • Prvi deo formule određuje jednu od agregatnih Power Pivot, koja uzima tabelu kao argument. SUMX izračunava zbir preko tabele.

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

    Izraz filtera ima dva dela: prvi deo imenuje tabelu na koju se filter primenjuje. Drugi deo definiše izraz koji se koristi kao uslov filtriranja. U ovom slučaju filtrirate prodavce koji su prodavali više od 5 jedinica i proizvoda koji koštaju više od 100 USD. Operator, &&, je logički operator AND koji ukazuje na to da oba dela uslova moraju biti tačna da bi red pripadao filtriranom podskupu.

  • Treći deo formule sažeta je funkciji SUMX koje vrednosti treba da se sabira. U ovom slučaju koristite samo iznos prodaje.

    Imajte na primer da funkcije kao što je FILTER, koje vraćaju tabelu, nikada ne vraćaju tabelu ili redove direktno, ali su uvek ugrađene u drugu funkciju. Više informacija o funkciji FILTER i drugim funkcijama koje se koriste za filtriranje, uključujući još primera, potražite u temi Funkcije filtera (DAX).

    Napomena: Na izraz filtera utiče kontekst u kojem se koristi. Na primer, ako koristite filter u meri i mera se koristi u izvedenoj tabeli ili Izvedeni grafikon, na podskup podataka koji se vraćaju mogu da utiču dodatni filteri ili segmentatori koje je korisnik primenio u izvedenoj tabeli. Više informacija o kontekstu potražite u kontekstu u DAX formulama.

Filteri koji uklanjaju duplikate

Pored filtriranja za određene vrednosti, možete da vratite jedinstveni skup vrednosti iz druge tabele ili kolone. To može biti korisno kada želite da prebrojite jedinstvene vrednosti u koloni ili da koristite listu jedinstvenih vrednosti za druge operacije. DAX pruža dve funkcije za vraćanje različitih vrednosti: Funkcija DISTINCTi funkcija VALUES.

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

  • Funkcija VALUES takođe vraća listu jedinstvenih vrednosti, ali takođe daje nepoznati član. Ovo je korisno kada koristite vrednosti iz dve tabele koje su spojljene relacijama, a vrednost nedostaje u jednoj tabeli, a prisutna u drugoj. Više informacija o nepoznatom članu potražite u kontekstu u DAX formulama.

Obe ove funkcije vraćaju celu kolonu vrednosti; stoga funkcije koristite za dobijanje liste vrednosti koje se zatim proslećuju drugoj funkciji. Na primer, možete da koristite sledeću formulu da biste priveli listu različitih proizvoda koje je prodao određeni prodavac, koristeći jedinstvenu šifru proizvoda, a zatim prebrojite proizvode sa te liste pomoću funkcije COUNTROWS:

=COUNTROWS(DISTINCT('ResellerSales_USD'[Šifra Proizvoda]))

Vrh stranice

Kako kontekst utiče na filtere

Kada dodate DAX formulu u izvedenu tabelu ili Izvedeni grafikon, na rezultate formule može da utiče taj kontekst. Ako radite u Power Pivot, kontekst je trenutni red i njegove vrednosti. Ako radite u izvedenoj tabeli ili Izvedeni grafikon, kontekst znači skup ili podskup podataka koji su definisani operacijama kao što su secanje ili filtriranje. Dizajn izvedene tabele ili tabele Izvedeni grafikon nameće i sopstveni kontekst. Na primer, ako napravite izvedenu tabelu koja grupiše prodaju po regionu i godini, u izvedenoj tabeli se pojavljuju samo podaci koji se odnose na te regione i godine. Zato se sve mere koje dodate u izvedenu tabelu izračunaju u kontekstu naslova kolona i redova, kao i filtera u formuli mere.

Više informacija potražite u kontekstu u DAX formulama.

Vrh stranice

Uklanjanje filtera

Prilikom rada sa složenim formulama, možda ćete želeti da znate tačno šta su trenutni filteri ili želite da izmenite deo filtera formule. DAX pruža nekoliko funkcija koje vam omogućavaju da uklonite filtere i da kontrolišete koje kolone se zadržavaju kao deo trenutnog konteksta filtera. Ovaj odeljak pruža pregled načina na koji ove funkcije utiču na rezultate u formuli.

Zamena svih filtera funkcijom ALL

Funkciju ALL da koristite da biste poništili prethodno primenjene filtere i vratili sve redove u tabeli u funkciju koja izvršava agregatnu ili drugu operaciju. Ako umesto tabele koristite neke kolone, kao argumente za ALL, funkcija ALL vraća sve redove zanemarujući sve kontekstualne filtere.

Napomena: Ako ste upoznati sa terminologijom relacijanih baza podataka, možete misliti ALL kao o generisanju prirodnog levog spoja svih tabela.

Na primer, recimo da imate tabele, tabele "Prodaja" i "Proizvodi" i želite da kreirate formulu koja će izračunati zbir prodaje trenutnog proizvoda podeljenog prodajom za sve proizvode. Morate da uzmete u obzir činjenicu da, ako se formula koristi u meri, korisnik izvedene tabele možda koristi Slicer za filtriranje za određeni proizvod, sa imenom proizvoda u redovima. Stoga morate da dodate funkciju ALL da biste preuzeli pravu vrednost imenatora bez obzira na filtere ili segmentatore, morate da dodate funkciju ALL da biste poništili sve filtere. Sledeća formula je jedan primer kako da koristite ALL da biste poništili efekte prethodnih filtera:

=SUM (Prodaja[Iznos])/SUMX(Prodaja[Iznos], FILTER(Prodaja, ALL(Proizvodi)))

  • Prvi deo formule SUM (Prodaja[Iznos]) izračunava brojilac.

  • Zbir uzima u obzir trenutni kontekst, što znači da ako dodate formulu u izračunatu kolonu, primenjuje se kontekst reda i, ako dodate formulu u izvedenu tabelu kao meru, primenjuju se svi filteri primenjeni u izvedenoj tabeli (kontekst filtera).

  • Drugi deo formule izračunava denominatora. Funkcija ALL zamenje sve filtere koji se mogu primeniti na tabelu Products tabelu.

Više informacija, uključujući detaljne primere, potražite u temi 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 treba da se sačuvaju. Kolone koje navedete kao argumente za funkciju ALLEXCEPT navode koje kolone će i dalje biti filtrirane. Ako želite da poništite filtere iz većine kolona, ali ne sve, ALLEXCEPT je praktičniji od all. Funkcija ALLEXCEPT je naročito korisna kada pravite izvedene tabele koje su možda filtrirane po mnogim različitim kolonama i želite da kontrolišete vrednosti koje se koriste u formuli. Više informacija, uključujući detaljan primer korišćenja funkcije ALLEXCEPT u izvedenoj tabeli, potražite u temi Funkcija ALLEXCEPT.

Vrh stranice

Da li vam je potrebna dodatna pomoć?

Želite još opcija?

Istražite pogodnosti pretplate, pregledajte kurseve za obuku, saznajte kako da obezbedite uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na pitanja, dajete povratne informacije i čujete mišljenje od stručnjaka sa bogatim znanjem.

Da li su vam ove informacije koristile?

Koliko ste zadovoljni kvalitetom jezika?
Šta je uticalo na vaše iskustvo?
Kada kliknete na dugme Prosledi“, vaše povratne informacije će se koristiti za poboljšanje Microsoft proizvoda i usluga. Vaš IT administrator će moći da prikupi ove podatke. Izjava o privatnosti.

Hvala vam na povratnim informacijama!

×