Filtriranje podataka u DAX formulama

Važno :  Ovaj je članak strojno preveden. Pogledajteizjavu o odricanju od odgovornosti. Verziju ovog članka na engleskom potražite ovdje.

U ovom se odjeljku opisuje kako stvaranju filtara unutar formula izraza za analizu podataka (DAX). Možete stvoriti filtara unutar formula da biste ograničili vrijednosti iz izvora podataka koji se koriste u izračunima. To se određuje tablice kao ulaz u formulu i zatim definiranjem izraza filtra. Izraz filtra unesete koristi se za upita podatke, a zatim vratiti samo podskupa izvorišnih podataka. Filtar primjenjuje se dinamički svaki put kada ažurirate rezultat formule, ovisno o trenutnom kontekstu podataka.

Sadržaj članka:

Stvaranje filtra za tablicu koja se koristi u formuli

Filtri koji uklanjaju duplikate

Kako kontekst utječe na filtre

Uklanjanje filtara

Nadjačavanje svih filtara pomoću funkcije ALL

Nadjačavanje filtara pomoću funkcije ALLEXCEPT

Stvaranje filtra za tablicu koja se koristi u formuli

Filtre možete primijeniti na formule koje koriste tablice kao ulazni izvor podataka. Umjesto unošenja naziva tablice, samo se poslužite funkcijom FILTER da biste definirali podskup redaka iz navedene tablice. Taj se podskup tada prenosi na drugu funkciju, namijenjenu operacijama kao što su prilagođeno zbrajanje.

Uzmimo, na primjer, da imate tablicu s podacima koja sadrži podatke o narudžbama od prodavača i želite izračunati koliko je svaki prodavač prodao. Želite, međutim, da vam se prikažu samo iznosi za one prodavače koji su prodali više jedinica proizvoda veće vrijednosti. Sljedeća formula, utemeljena na oglednoj radnoj knjizi za DAX, primjerom pokazuje kako se može stvoriti takav izračun pomoću filtra:

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

  • Prvi dio formule određuje jednu od funkcija zbrajanja Power Pivot koji uzima tablicu kao argument. SUMX izračunava zbroj na temelju tablice.

  • Drugi dio formule, FILTER(table, expression),govori SUMX podatke koje želite koristiti. SUMX zahtijeva tablice ili izraza u tablici s rezultatima. Ovdje, umjesto korištenja sve podatke u tablici, koristite funkciju FILTER da biste odredili koji redaka iz tablice koriste.

    Izraz filter ima dva dijela: prvi dio naziva tablice na koju se odnosi filtar. Drugi dio definira izraz koji želite koristiti kao filtar uvjeta. U ovom slučaju filtrirate na distributere koji je prodao više od 5 jedinice i proizvodi koje trošak više od 100 USD. Operator, & &, je logičkih operatora AND koji pokazuje oba dijela uvjet mora biti true za redak koji želite smjestiti filtrirani podskup.

  • Treći dio formule funkciji SUMX govori koje vrijednosti valja zbrojiti. U ovom slučaju koristite samo iznos prodaje.

    Imajte na umu da funkcije koje vraćaju tablicu, kao što je FILTER, nikada izravno ne vraćaju tablicu ili retke, već su uvijek ugrađene u drugu funkciju. Dodatne informacije o funkciji FILTER i ostalim funkcijama koje se koriste za filtriranje te dodatne primjere potražite u članku Funkcije filtriranja (DAX).

    Napomena : Na filtarski izraz utječe kontekst u kojem ga se koristi. Ako, primjerice, koristite filtar u mjeri, a mjera se koristi u zaokretnoj tablici ili grafikonu, na podskup podataka koji se vraća možda će utjecati dodatni filtri ili Rezači koje je korisnik primijenio na zaokretnu tablicu. Dodatne informacije o kontekstu potražite u odjeljku Kontekst u DAX formulama.

Filtri koji uklanjaju duplikate

Osim filtriranja radi dobivanja određenih vrijednosti, filtriranjem se može vratiti jedinstven skup vrijednosti iz druge tablice ili stupca. Takvo što može biti korisno kada želite izbrojati koliko je jedinstvenih vrijednosti u stupcu ili kada popis jedinstvenih vrijednosti želite koristiti za druge operacije. DAX sadrži dvije funkcije koje vraćaju jedinstvene vrijednosti: funkcija DISTINCT i funkcija VALUES.

  • Funkcija DISTINCT istražuje stupac koji joj dodijelite kao argument funkcije i vraća novi stupac koji sadrži samo jedinstvene vrijednosti.

  • Funkcija VALUES i vraća popis jedinstvene vrijednosti, ali vraća nepoznat član. To je korisno kada koristite vrijednosti iz dvije tablice koje su se uključili putem odnos, a vrijednost je nedostaju u jednoj tablici ili u drugu. Dodatne informacije o nepoznatom članu, pogledajte kontekst u DAX formulama.

Obje funkcije vraćaju čitav stupac vrijednosti pa ih možete koristiti da biste dobili popis vrijednosti koje se zatim prosljeđuju u drugu funkciju. Tako biste, primjerice, mogli koristiti sljedeću formulu da biste dobili popis jedinstvenih proizvoda koje prodaje određeni prodavač, a dobili biste ih putem jedinstvenog ključa proizvoda te biste potom izbrojali proizvode na tom popisu pomoću funkcije COUNTROWS:

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

Vrh stranice

Kako kontekst utječe na filtre

Kada dodate DAX formule zaokretne tablice ili zaokretnog grafikona, rezultat formule mogu utjecati na kontekstu. Ako radite u tablici Power Pivot kontekstu je trenutnog retka i vrijednosti. Ako radite u zaokretne tablice ili zaokretnog grafikona, kontekstu znači skup ili podskup podataka koje je definirao operacija kao što su istjecanju ili filtriranja. Dizajn zaokretne tablice ili zaokretnog grafikona nameće i vlastitu kontekst. Na primjer, ako stvorite zaokretnu tablicu koja se grupira prodaje po regije i godine, samo podaci koji se primjenjuje na one regije i godina pojavit će se u zaokretnoj tablici. Stoga sve mjere koje dodate u zaokretnoj tablici izračunavaju se u kontekstu naslovi stupaca i redaka plus filtre u formuli mjere.

Dodatne informacije potražite u odjeljku Kontekst DAX formula.

Vrh stranice

Uklanjanje filtara

Pri radu sa složenim formulama bilo bi dobro znati koji su filtri trenutačno na snazi, a mogli biste i poželjeti izmijeniti filtarski dio formule. DAX sadrži nekoliko funkcija koje vam omogućuju uklanjanje filtara te kontrolu nad time koji se stupci zadržavaju kao kontekst trenutačnog filtra. U ovome se odjeljku ukratko objašnjava kako te funkcije utječu na rezultat formule.

Nadjačavanje svih filtara pomoću funkcije ALL

Koristite funkciju ALL da biste nadjačali filtre koje su prethodno primijenjene i vraćanje sve retke u tablici funkcija koja se izvršava operacije zbrajanja i druge. Ako koristite jedan ili više stupaca, umjesto tablice, kao argumenti ALL, funkciju ALL vraća sve retke, zanemarujući bilo koje kontekstne filtre.

Napomena : Ako poznajete terminologiju relacijskih baza podataka, tada će vam biti jasno što znači da funkcija ALL stvara prirodan vanjski lijevi spoj svih tablica.

Recimo, na primjer, da imate tablice Prodaja i Proizvodi te da želite stvoriti formulu koja će izračunati zbroj prodaja za trenutačni proizvod podijeljen s prodajama svih proizvoda. Morate uzeti u obzir činjenicu da ako se formula koristi u sklopu mjere, korisnik zaokretne tablice možda koristi rezač da bi filtrirao određeni proizvod s nazivom proizvoda na recima. Zato da biste dobili pravu vrijednost nazivnika bez obzira na sve filtre ili rezače, morate dodati funkciju ALL da biste nadjačali sve filtre. Sljedeća je formula jedan primjer načina na koji je moguće koristiti funkciju ALL da bi se nadjačali učinci prijašnjih filtara:

= SUM (Prodaja [Količina]) / SUMX (Prodaja [Količina], filtar (Prodaja, ALL(Products)))

  • Prvim se dijelom formule, SUM (Sales[Amount]), izračunava brojnik.

  • Zbroj uzima u obzir trenutačni kontekst, što znači da ako dodate formulu u izračunati stupac, primijenit će se kontekst retka, a ako dodate formulu u zaokretnu tablicu kao mjeru, svi filtri koji su primijenjeni na zaokretnu tablicu (kontekst filtra) primijenit će se i ovdje.

  • Drugi dio formule, izračunava djelitelj. Funkcija ALL nadjačava sve filtre koji mogu primijeniti Products tablice.

Dodatne informacije i podrobne primjere potražite u odjeljku Funkcija ALL.

Nadjačavanje filtara pomoću funkcije ALLEXCEPT

Funkcijom ALLEXCEPT također se nadjačavaju postojeći filtri, no možete i odrediti zadržavanje nekih od tih filtara. Stupci koje navedete kao argumente funkcije ALLEXCEPT određuju koji će se stupci i dalje filtrirati. Ako želite nadjačati filtre iz većine stupaca, ali ne iz svih, ALLEXCEPT je primjerenija nego funkcija ALL. Funkcija ALLEXCEPT posebno je korisna kada stvarate zaokretne tablice koje bi se mogle filtrirati po većem broju različitih stupaca i ako želite kontrolirati vrijednosti koje se koriste u formuli. Dodatne informacije i podrobnije primjere korištenja funkcije ALLEXCEPT u zaokretnoj tablici potražite u odjeljku Funkcija ALLEXCEPT.

Vrh stranice

Napomena : Izjava o odricanju od odgovornosti za strojni prijevod: ovaj je članak preveo računalni sustav bez ljudske intervencije. Microsoft nudi strojne prijevode da bi korisnicima koji ne razumiju engleski omogućio čitanje sadržaja o Microsoftovim proizvodima, uslugama i tehnologijama. Budući da je preveden strojno, članak možda sadrži pogreške u vokabularu, sintaksi ili gramatici.

Proširite svoje vještine
Istražite osposobljavanje

Jesu li vam ove informacije bile korisne?

Hvala vam na povratnim informacijama!

Hvala vam na povratnim informacijama! Čini se da bi vam pomoglo kad bismo vas povezali s nekim od naših agenata podrške za Office.

×