Filtriranje podataka u DAX formulama

Napomena:  Željeli bismo vam pružiti najnoviji sadržaj pomoći što je brže moguće i to na vašem jeziku. Ova je stranica strojno prevedena te može sadržavati gramatičke pogreške ili netočnosti. Naša je namjera da vam ovaj sadržaj bude koristan. Možete li nam pri dnu ove stranice javiti jesu li vam ove informacije bile korisne? Kao referencu možete pogledati i članak na engleskom jeziku .

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 funkcija, kao što je filtar, koje vraćaju tablicu, nikad ne izravno vraćanje tablicu ili retke, ali uvijek ugrađen u drugu funkciju. Dodatne informacije o filtar i drugih funkcija koje se koriste za filtriranje, uključujući još primjera potražite u članku Filtarske funkcije (DAX).

    Napomena: Izraz filter utječe na kontekst u kojem se koristi. Na primjer, ako koristite filtar u mjera i mjere se koristi u zaokretnoj tablici ili zaokretnom grafikonu, podskup podataka koje se vraćaju može utjecati dodatne filtre ili rezače koje je korisnik primijenjen u zaokretnoj tablici. Dodatne informacije o kontekstu, pogledajte kontekst u DAX formulama.

Filtri koji uklanjaju duplikate

Osim filtriranja za određene vrijednosti, možete se vratiti Jedinstveni skup vrijednosti iz druge tablice ili stupca. To može biti korisno kada želite Brojanje jedinstvenih vrijednosti u stupcu ili koristiti popis jedinstvenih vrijednosti za ostalih operacija. DAX nudi dvije funkcije za vraćanje različitih vrijednosti: RAZLIČITE funkcije i Vrijednosti.

  • 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 članku kontekst u DAX formulama.

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)))

  • Prvi dio 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 članku Funkcija ALL.

Nadjačavanje filtara pomoću funkcije ALLEXCEPT

Funkcija ALLEXCEPT nadjačava i filtre, ali možete odrediti da neke od postojećih filtara moraju sačuvati. Stupci naziv kao argumente za funkciju ALLEXCEPT Navedite stupce koji će se i dalje se filtrirati. Ako želite odbaciti filtre iz većine stupaca, ali ne i svih ALLEXCEPT je praktičnije od sve. Funkcija ALLEXCEPT je osobito korisni prilikom stvaranja zaokretnih tablica koje možda filtrirane na mnogo različitih stupaca, a želite da biste odredili vrijednosti koje se koriste u formuli. Dodatne informacije, uključujući detaljne Primjeri kako koristiti ALLEXCEPT u zaokretnoj tablici, potražite u članku Funkcija ALLEXCEPT.

Vrh stranice

Proširite svoje vještine korištenja sustava Office
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.

×