Napomena
Za pristup ovoj stranici potrebna je autorizacija. Možete se pokušati prijaviti ili promijeniti direktorije.
Za pristup ovoj stranici potrebna je autorizacija. Možete pokušati promijeniti direktorije.
Odnosi se na: Canvas apps
Copilot Studio
Desktop flows
Model-driven apps
Power Platform CLI
Dataverse functions
Power Pages
Pronalazi jedan ili više zapisa u tablici.
Pogledajte ovaj videozapis da biste saznali kako koristiti Filter, Searchi funkcije LookUp :
Napomena
PAC CLI pac power-fx naredbe ne podržavaju Search funkciju.
Opis
Funkcija Filter pronalazi zapise u tablici koji zadovoljavaju formulu. Koristi Filter se za pronalaženje skupa zapisa koji odgovaraju jednom kriteriju ili više njih i odbacivanje onih zapisa koji ne zadovoljavaju.
Funkcija LookUp pronalazi prvi zapis u tablici koji zadovoljava formulu. Koristi LookUp se za pronalaženje jednog zapisa koji odgovara jednom kriteriju ili više njih.
Kod obje funkcije, formula se procjenjuje za svaki zapis tablice. Zapisi koji rezultiraju vrijednošću true uključeni su u rezultat. Osim normalnih operatora formule, možete koristiti i operatore in i exactin za podudaranje podnizova.
Polja zapisa koja se trenutno obrađuju dostupna su unutar formule. Upotrijebite ThisRecord operator ili jednostavno spomenite polja imenom na isti način kao i bilo koju drugu vrijednost. Za imenovanje zapisa koji se obrađuje možete upotrijebiti i As operator, a to vam može pomoći učiniti formulu razumljivijom, a ugniježđene zapise pristupačnijima. Više informacija potražite u primjerima u nastavku i radu u djelokrugu zapisa.
Funkcija Search pronalazi zapise u tablici koji sadrže niz u jednom od svojih stupaca. Niz se može pojaviti bilo gdje unutar stupca; na primjer, traženjem "rob" ili "bert" pronaći ćete podudarni rezultat u stupcu koji sadrži "Robert". Pretraživanje ne razlikuje velika i mala slova. Za Filter razliku LookUpod i , Search funkcija umjesto formule koristi jedan niz.
Filter i Search vratite tablicu koja sadrži iste stupce kao izvorna tablica i zapisi koji zadovoljavaju kriterij. LookUp vraća samo prvi pronađeni zapis, nakon primjene formule radi smanjenja zapisa na jednu vrijednost. Ako se ne pronađe nijedan zapis i Filter vrati Searchpraznu tablicu , a vraća LookUppolje prazno.
Tablice su vrijednost u Power Apps, baš kao i niz ili broj. Mogu se proslijeđivati funkcijama i iz njih vraćati. Filteri Searchnemojte LookUp mijenjati tablicu. Umjesto toga, uzimaju tablicu kao argument i iz nje vraćaju tablicu, zapis ili jednu vrijednost. Dodatne informacije potražite u odjeljku rad s tablicama.
Delegacija
Kadgod je moguće, Power Apps će delegirati filtar i sortirat radnje u izvor podataka i stranicu kroz rezultate na zahtjev. Na primjer, kad pokrenete aplikaciju koja prikazuje kontrolu Galerija ispunjenu podacima, uređaju će se donijeti samo prvi skup podataka. Dok se korisnik pomiče, dodatni se podaci preuzimaju iz izvora podataka. Rezultat je brže vrijeme pokretanja za aplikaciju i pristup vrlo velikim skupovima podataka.
Međutim, delegiranje nije uvijek moguće. Izvori podataka razlikuju se prema funkcijama i radnjama koje su podržane uz delegiranje. Ako potpuno delegiranje formule nije moguće, okruženje za stvaranje sadržaja označit će dio koji se ne može delegirati upozorenjem. Kadgod je to moguće, uzmite u obzir izmjenu formule za izbjegavanje funkcija i operatera koji se ne mogu delegirati. Popis delegacija detaljno iznosi koji se izvori podataka i radnje mogu delegirati.
Ako delegiranje nije moguće, Power Apps će preuzeti samo mali skup zapisa na kojima se može lokalno raditi. Filter i funkcije sortiranja funkcionirat će na smanjenom skupu zapisa. Ono što je dostupno u Galeriji možda neće biti potpuna priča, što može biti zbunjujuće za korisnike.
Dodatne informacije potražite u odjeljku Pregled delegiranja.
Sintaksa
Filter(Tablica*, Formula1 [, *Formula2*, ... ] )
- Tablica - Obavezno. Tablica koja se pretražuje.
- Formule - Obavezno. Formula kojom se procjenjuje svaki zapis tablice. Ova funkcija vraća sve zapise koji daju rezultat true. Možete referencirati stupce unutar tablice. Ako unesete više od jedne formule, rezultati svih formula kombiniraju se funkcijom And.
Search(Tablica*, SearchString, Stupac1 [, *Stupac2*, ... ] )
- Tablica - Obavezno. Tablica koja se pretražuje.
- SearchString - Obavezno. Niz koji se traži. Ako je prazno ili prazan niz, vraćaju se svi zapisi.
- Stupci - Obavezno. Nazivi stupaca unutar tablice koja se pretražuje. Ako se traženi niz pronađe u podatcima bilo kojeg od tih stupaca kao djelomična podudarnost, vratit će se cjelovit zapis.
Napomena
U aplikacijama Power Apps starijima od verzije 3.24042 nazivi Search stupaca za funkciju navedeni su tekstnim nizom pomoću dvostrukih navodnika, a ako su povezani s izvorom podataka, potrebni su im i logički nazivi. Umjesto zaslonnog imena Ime bez "cr43e_name" navodnika koristi se, primjerice, logički naziv s dvostrukim navodima. Za izvore podataka sustava SharePoint i Excel koji sadrže nazive stupaca s "_x0020_"razmacima svaki je razmak naveden kao , "Column Name" na primjer "Column_x0020_Name". Nakon ove verzije sve su aplikacije automatski ažurirane na novu sintaksu opisanu u ovom članku.
LookUp(Tablica*, Formula [, *ReductionFormula* ] )
- Tablica - Obavezno. Tablica koja se pretražuje. U korisničkom sučelju sintaksa je prikazana kao izvor iznad okvira s funkcijama.
- Formula - Obavezno. Formula kojom se procjenjuje svaki zapis tablice. Ova funkcija vraća prvi zapis koji daje rezultat true. Možete referencirati stupce unutar tablice. U korisničkom sučelju sintaksa je prikazana kao uvjet iznad okvira s funkcijama.
- ReductionFormula - Nije obavezno. Ova se formula procjenjuje preko pronađenog zapisa, a zatim smanjuje zapis na jednu vrijednost. Možete referencirati stupce unutar tablice. Ako ne koristite ovaj parametar, funkcija vraća puni zapis iz tablice. U korisničkom sučelju sintaksa je prikazana kao rezultat iznad okvira s funkcijama.
Primjeri
Sljedeći primjeri koriste IceCreamizvor podataka:
| Formula | Opis | Rezultat |
|---|---|---|
Filter(IceCream, OnOrder > 0) |
Vraća zapise gdje je OnOrder veće od nule. |
|
Filter(IceCream, Quantity + OnOrder > 225) |
Vraća zapise gdje je zbroj stupaca Quantity i OnOrder veći od 225. |
|
Filter(IceCream, "chocolate" in Lower(Flavor )) |
Vraća zapise u kojima se u nazivu okusa pojavljuje riječ "chocolate", neovisno o velikim ili malim slovima. |
|
Filter(IceCream, Quantity < 10 && OnOrder < 20) |
Vraća zapise gdje je Quantity manje od 10, a OnOrder manje od 20. Nijedan zapis ne odgovara ovim kriterijima, pa se vraća prazna tablica. |
|
Search(IceCream, "choc", Flavor) |
Vraća zapise u kojima se u nazivu okusa pojavljuje niz "choc", neovisno o velikim ili malim slovima. |
|
Search(IceCream, "", Flavor) |
Budući da je termin za pretraživanje prazan, vraćaju se svi zapisi. |
|
LookUp(IceCream, Flavor = "Chocolate", Quantity) |
Traži zapis čiji je okus jednak "Chocolate", od kojeg postoji jedan. Za prvi pronađeni zapis vraća se Quantity tog zapisa. | 100 |
LookUp(IceCream, Quantity > 150, Quantity + OnOrder) |
Search zapis za koji je Quantity veći od 150, a kojih ima nekoliko. Za prvi pronađeni zapis, koji je "Vanilla" Okus, vraća zbroj stupaca Količina i Redoslijed . | 250 |
LookUp(IceCream, Flavor = "Pistachio", OnOrder) |
Traži zapis čiji je okus jednak "Pistachio", od kojeg nema nijednog. Jer ništa nije pronađeno, Traženje vraća prazno. | prazno |
LookUp(IceCream, Flavor = "Vanilla") |
Traži zapis čiji je okus jednak "Vanilla", od kojeg postoji jedan. Budući da nije dostavljena formula smanjenja, vraća se cijeli zapis. | { Okus: "Vanilla", Količina: 200, Redoslijed: 75 } |
Filtriranje sa stupcima odabira
Sljedeći primjer koristi tabvlicu Račun sa značajkom Microsoft Dataverse kao izvorom podataka. U ovom se primjeru pokazuje Filter kako popis računa na temelju odabranih vrijednosti kontrole kombiniranog okvira:
Korak po korak
Otvorite praznu aplikaciju.
Dodajte novi zaslon odabirom opcije Novi zaslon.
Na kartici Umetanje odaberite Galerija i zatim odaberite Okomito.
Na kartici Svojstva na desnom oknu otvorite Izvor podataka i zatim odaberite Računi.
(Izborno) Na popisu Izgled odaberite različite opcije.
Na kartici Umetanje odaberite Unos i zatim odaberite Kombinirani okvir. Ponovite korak za dodavanje još dvije kontrole kombiniranog okvira.
Za svaku kontrolu kombiniranog okvira na kartici Svojstva na desnom oknu otvorite Izvor podataka i zatim odaberite Računi. Odaberite Uredi pored opcije Polja i zatim odaberite vrijednosti Primarni tekst i SearchField. Primarni tekst trebao bi biti stupac izbora koji želite dodati kombiniranom okviru. Ponovite korak za dodavanje ostale dvije kontrole kombiniranog okvira.
Sada odaberite kontrolu Galerija i postavite svojstvo Stavke na sljedeću formulu:
Filter(Accounts, 'Industry' = ComboBox3.Selected.Industry Or IsBlank(ComboBox3.Selected.Industry), 'Relationship Type' = ComboBox2.Selected.'Relationship Type' Or IsBlank(ComboBox2.Selected.'Relationship Type'), 'Preferred Method of Contact' = ComboBox1.Selected.'Preferred Method of Contact' Or IsBlank(ComboBox1.Selected.'Preferred Method of Contact'))
Search korisničko sučelje
Sljedeći primjeri koriste IceCreamizvor podataka:
U mnogim aplikacijama možete upisati jedan ili više znakova u okvir za pretraživanje da biste filtrirali popis zapisa u nekom velikom skupu podataka. Dok tipkate, popis prikazuje samo one zapise koji odgovaraju kriterijima pretraživanja.
Primjeri u ostatku ovog članka prikazuju rezultate pretraživanja popisa pod nazivom Klijenti koji sadrže ove podatke:
Da biste stvorili ovaj izvor podataka kao zbirku, stvorite kontrolu Button i postavite svojstvo OnSelect na ovu formulu:
ClearCollect(Customers, Table({ Name: "Fred Garcia", Company: "Northwind Traders" }, { Name: "Cole Miller", Company: "Contoso" }, { Name: "Glenda Johnson", Company: "Contoso" }, { Name: "Mike Collins", Company: "Adventure Works" }, { Name: "Colleen Jones", Company: "Adventure Works" }) )
Kao u ovom primjeru, možete prikazati popis zapisa u kontroli Gallery pri dnu zaslona. Pri vrhu zaslona možete dodati kontrolu Text input, nazvanu SearchInput, tako da korisnici mogu odrediti koje ih zapise zanima.
Dok korisnik upisuje znakove u SearchInput, rezultati u galeriji automatski se filtriraju. U ovom slučaju, galerija je konfigurirana za prikaz zapisa u kojima ime kupca (a ne ime tvrtke) započinje redoslijedom znakova u SearchInput. Ako korisnik upiše co u okvir za pretraživanje, galerija prikazuje sljedeće rezultate:
Za filtriranje na temelju stupca Name, postavite svojstvo Items kontrole galerije na jednu od ovih formula:
| Formula | Opis | Rezultat |
|---|---|---|
| Filter(Kupci, StartsWith(ime, SearchInput.Text) ) | Filtrira izvor podataka Customers za zapise u kojima se traženi niz prikazuje na početku stupca Name. Test ne razlikuje velika i mala slova. Ako korisnik upiše co u okvir za pretraživanje, galerija prikazuje Colleen Jones i Cole Miller. Gallery ne prikazuje vrijednost Mike Collins jer stupac Name za taj zapis ne počinje traženim nizom. |
|
| Filter(Korisnici, SearchInput.Text u nazivu) | Filtrira izvor podataka Customers za zapise u kojima se traženi niz prikazuje bilo gdje u stupcu Name. Test ne razlikuje velika i mala slova. Ako korisnik upiše co u okvir za pretraživanje, galerija prikazuje Colleen Jones,Cole Miller, i Mike Collins jer se traženi niz pojavljuje negdje u stupcu Name svih tih zapisa. |
|
| Search(Korisnici, SearchInput.Text, ime) | Slično operatoru In , funkcija Search traži podudaranje bilo gdje unutar stupca Naziv svakog zapisa. Naziv stupca morate obuhvatiti dvostrukim navodnicima. |
|
Možete proširiti pretraživanje da uključi stupac Tvrtka i stupac Ime:
| Formula | Opis | Rezultat |
|---|---|---|
Filter(Customers, StartsWith(Name, SearchInput.Text) || StartsWith(Company, SearchInput.Text) ) |
Filtrira izvor podataka Customers za zapise u kojima stupac Name ili stupac Company počinje traženim nizom (na primjer, co). || operator je true ako bilo koja funkcija StartsWith ima rezultat true. |
|
Filter(Customers, SearchInput.Text in Name || SearchInput. Text in Company) |
Filtrira izvor podataka Customers za zapise u kojima stupac Name ili stupac Company sadrži traženi niz (na primjer, co) bilo gdje unutar njega. |
|
Search(Customers, SearchInput.Text, Name, Company) |
Slično operatoru Searchin, funkcija pretražuje izvor podataka Kupci u potrazi za zapisima u kojima stupac Naziv ili stupac Tvrtka sadrži niz za pretraživanje (npr. co) bilo gdje unutar njega. Funkciju Search je lakše čitati i pisati nego ako želite navesti Filter više stupaca i više njih u operatorima . |
|