Prijavite se pomoću Microsofta
Prijavi se ili izradi račun.
Zdravo,
Odaberite drugi račun.
Imate više računa
Odaberite račun putem kojeg se želite prijaviti.

U ovom se odjeljku opisuje stvaranje filtara u formulama izraza za analizu podataka (DAX). Možete stvoriti filtre unutar formula da biste ograničili vrijednosti iz izvorišnih podataka koji se koriste u izračunima. To možete učiniti tako da navedete tablicu kao unos formule, a zatim definirate izraz filtra. Izraz filtra koji navedite koristi se za upite podataka i vraćanje samo podskupa izvorišnih podataka. Filtar se primjenjuje dinamički svaki put kada ažurirate rezultate formule, ovisno o trenutnom kontekstu podataka.

Sadržaj članka

Stvaranje filtra na tablici koja se koristi u formuli

Filtre možete primijeniti u formulama koje unose tablicu. Umjesto unosa naziva tablice koristite funkciju FILTER da biste definirali podskup redaka iz navedene tablice. Taj se podskup zatim prenosi na drugu funkciju, za operacije kao što su prilagođene agregacije.

Pretpostavimo, primjerice, da imate tablicu podataka koja sadrži informacije o narudžbi o prodavačima i želite izračunati koliko je prodavač prodao. No iznos prodaje želite prikazati samo prodavačima koji su prodavali više jedinica proizvoda veće vrijednosti. Sljedeća formula, na temelju ogledne radne knjige DAX, prikazuje jedan primjer stvaranja izračuna pomoću filtra:

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

  • Prvi dio formule određuje jednu od funkcija Power Pivot agregacije, koja uzima tablicu kao argument. SUMX izračunava zbroj iznad tablice.

  • Drugi dio formule FILTER(table, expression),SUMX podatke. SUMX zahtijeva tablicu ili izraz koji rezultira tablicom. Ovdje umjesto korištenja svih podataka u tablici koristite funkciju FILTER da biste odredili koji se reci iz tablice koriste.

    Izraz filtra ima dva dijela: prvi dio naziva tablicu na koju se filtar odnosi. Drugi dio definira izraz koji će se koristiti kao uvjet filtra. U tom slučaju filtrirate prodavače koji su prodavali više od pet jedinica i proizvoda koji koštaju više od 100 kn. Operator, &&, logički je operator AND, koji označava da oba dijela uvjeta moraju biti istinita da bi redak pripadao filtriranom podskupu.

  • Treći dio formule govori o SUMX vrijednosti koje treba zbrojeti. U tom slučaju koristite samo iznos prodaje.

    Imajte na umu da funkcije kao što je FILTER, koje vraćaju tablicu, nikad ne vraćaju tablicu ili retke izravno, ali su uvijek ugrađene u drugu funkciju. Dodatne informacije o funkcijama FILTER i drugim funkcijama koje se koriste za filtriranje, uključujući više primjera, potražite u članku Funkcije filtra (DAX).

    Napomena: Na izraz filtra utječe kontekst u kojem se koristi. Ako, primjerice, u mjeri koristite filtar, a mjera se koristi u zaokretnoj tablici ili zaokretni grafikon, podskup vraćenih podataka može utjecati na dodatne filtre ili rezače koje je korisnik primijenio u zaokretnoj tablici. Dodatne informacije o kontekstu potražite u članku Kontekst u dax formulama.

Filtri koji uklanjaju duplikate

Osim filtriranja određenih vrijednosti, možete vratiti jedinstveni skup vrijednosti iz druge tablice ili stupca. To može biti korisno kada želite brojati jedinstvene vrijednosti u stupcu ili koristiti popis jedinstvenih vrijednosti za druge operacije. DAX nudi dvije funkcije za vraćanje zasebnih vrijednosti: funkcija DISTINCT i funkcija VALUES.

  • Funkcija DISTINCT ispituje jedan stupac koji navedete kao argument funkcije i vraća novi stupac koji sadrži samo različite vrijednosti.

  • Funkcija VALUES vraća i popis jedinstvenih vrijednosti, ali vraća i nepoznatog člana. To je korisno kada koristite vrijednosti iz dvije tablice koje su pridružene odnosu, a vrijednost nedostaje u jednoj tablici, a u drugoj je prisutna. Dodatne informacije o nepoznatom članu potražite u članku Kontekst u dax formulama.

Obje funkcije vraćaju cijeli stupac vrijednosti; Stoga pomoću funkcija možete dobiti popis vrijednosti koje se zatim prenose na drugu funkciju. Na primjer, pomoću sljedeće formule možete dobiti popis različitih proizvoda koje prodaje određeni prodavač pomoću jedinstvenog ključa proizvoda, a zatim prebrojati proizvode na tom popisu pomoću funkcije COUNTROWS:

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

Vrh stranice

Kako kontekst utječe na filtre

Kada dodate DAX formulu u zaokretnu tablicu ili zaokretni grafikon, kontekst može utjecati na rezultate formule. Ako radite u tablici Power Pivot, kontekst je trenutni redak i njezine vrijednosti. Ako radite u zaokretnoj tablici ili zaokretni grafikon, kontekst znači skup ili podskup podataka definiran operacijama kao što su rezanje ili filtriranje. Dizajn zaokretne tablice ili zaokretni grafikon također nameće vlastiti kontekst. Ako, primjerice, stvorite zaokretnu tablicu koja grupira prodaju po regiji i godini, u zaokretnoj tablici prikazuju se samo podaci koji se odnose na te regije i godine. Stoga se sve mjere koje dodate u zaokretnu tablicu izračunavaju u kontekstu zaglavlja stupaca i redaka te svih filtara u formuli mjere.

Dodatne informacije potražite u članku Kontekst u dax formulama.

Vrh stranice

Uklanjanje filtara

Kada radite sa složenim formulama, možda ćete trebati točno znati koji su trenutni filtri ili možda želite izmijeniti dio filtra formule. DAX nudi nekoliko funkcija koje vam omogućuju uklanjanje filtara te kontrolu nad stupcima koji se zadržavaju kao dio trenutnog konteksta filtra. U ovom se odjeljku nalazi pregled načina na koji te funkcije utječu na rezultate formule.

Nadjačavanje svih filtara pomoću funkcije ALL

Pomoću funkcije ALL nadjačati filtre koji su prethodno primijenjeni i vratiti sve retke u tablici funkciji koja izvodi agregiranje ili neku drugu operaciju. Ako koristite jedan ili više stupaca, a ne tablicu, kao argumente za ALL, funkcija ALL vraća sve retke, zanemarujući sve kontekstne filtre.

Napomena: Ako ste upoznati s terminologijom relacijske baze podataka, možete ALL kao generiranje prirodnog lijevog vanjskog spoja svih tablica.

Pretpostavimo, primjerice, da imate tablice, prodaju i proizvode i želite stvoriti formulu koja će izračunati zbroj prodaje za trenutni proizvod podijeljen s prodajom za sve proizvode. Morate uzeti u obzir činjenicu da, ako se formula koristi u mjeri, korisnik zaokretne tablice možda koristi rezač da bi filtrirao određeni proizvod s nazivom proizvoda u recima. Stoga da biste dobili pravu vrijednost nazivnika bez obzira na filtre ili rezače, morate dodati funkciju ALL da biste nadjačali filtre. Sljedeća je formula jedan od primjera kako koristiti ALL za nadjačavanje efekata prethodnih filtara:

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

  • Prvi dio formule, SUM (Prodaja[Iznos]), izračunava brojnik.

  • Zbroj uzima u obzir trenutni kontekst, što znači da ako formulu dodate u izračunati stupac, primjenjuje se kontekst retka i ako formulu dodate u zaokretnu tablicu kao mjeru, primjenjuju se filtri primijenjeni u zaokretnoj tablici (kontekst filtra).

  • Drugi dio formule izračunava nazivnik. Funkcija ALL nadjačava filtre koji se mogu primijeniti na Products tablicu.

Dodatne informacije, uključujući detaljne primjere, potražite u članku Funkcija ALL.

Nadjačavanje određenih filtara pomoću funkcije ALLEXCEPT

Funkcija ALLEXCEPT nadjačava postojeće filtre, ali možete odrediti da neke postojeće filtre treba sačuvati. Stupci koje nazivate kao argumente funkciji ALLEXCEPT određuju stupce koji će se i dalje filtrirati. Ako želite nadjačati filtre iz većine stupaca, ali ne i sve, ALLEXCEPT je praktičniji od svih. Funkcija ALLEXCEPT osobito je korisna prilikom stvaranja zaokretnih tablica koje se mogu filtrirati na mnogo različitih stupaca i želite kontrolirati vrijednosti koje se koriste u formuli. Dodatne informacije, uključujući detaljan primjer korištenja funkcije ALLEXCEPT u zaokretnoj tablici potražite u članku Funkcija ALLEXCEPT.

Vrh stranice

Potrebna vam je dodatna pomoć?

Želite dodatne mogućnosti?

Istražite pogodnosti pretplate, pregledajte tečajeve za obuku, saznajte kako zaštititi uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na njih, pošaljete povratne informacije i čujete se sa stručnjacima s bogatim znanjem.

Jesu li vam ove informacije bile korisne?

Koliko ste zadovoljni jezičnom kvalitetom?
Što je utjecalo na vaše iskustvo?
Ako pritisnete Pošalji, vaše će se povratne informacije iskoristiti za poboljšanje Microsoftovih proizvoda i usluga. Vaš će IT administrator moći prikupiti te podatke. Izjava o zaštiti privatnosti.

Hvala vam na povratnim informacijama!

×