Funkcije Filter, Search i LookUp u aplikaciji Power Apps

Pronalazi jedan ili više zapisa u tablici.

Pogledajte ovaj videozapis da biste saznali kako koristiti funkcije Filter, Search i LookUp:

Opis

Funkcija Filter pronalazi zapise u tablici koji zadovoljavaju neku formulu. Upotrijebite funkciju Filter kako biste pronašli skup zapisa koji odgovaraju jednom ili više kriterija i odbacili one koji ne odgovaraju.

Funkcija LookUp pronalazi prvi zapis u tablici koji zadovoljava neku formulu. Upotrijebite funkciju LookUp kako biste pronašli jedan zapis koji odgovara jednom ili više kriterija.

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 neki niz u jednom od njihovih stupaca. Niz se može pojaviti bilo gdje u stupcu; na primjer, pretraživanjem „rob” ili „bert” pronašlo bi se podudaranje u stupcu koji sadrži „Robert”. Pretraživanje ne razlikuje velika i mala slova. Za razliku od Filter i LookUp, funkcija Search za podudaranje koristi jedan niz umjesto formule.

Funkcije Filter i Search vraćaju tablicu koja sadrži iste stupce kao izvorna tablica i zapise koji odgovaraju kriterijima. Funkcija LookUp vraća samo prvi pronađeni zapis nakon primjene formule kojom se zapis smanjuje na jednu vrijednost. Ako nema zapisa, Filter i Search vraćaju praznu tablicu, a LookUp vraća prazno.

Tablice su vrijednost u aplikaciji Power Apps, baš poput nekog niza ili broja. Mogu se proslijeđivati funkcijama i iz njih vraćati. Filter, Search i LookUp ne modificiraju 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. Filtriranje i sortiranje funkcija radit ć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

Filtar(tablica*, formula1 [, formula2, ... ] )

  • Table - Required. Tablica koja se pretražuje.
  • Formula – Required. 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.

Pretraživanje(tabica*, nizpretraživanja, stupac1 [, stupac2, ... ] )

  • Table - Required. Tablica koja se pretražuje.
  • Traženi niz – Required. Niz koji se traži. Ako je prazno ili prazan niz, vraćaju se svi zapisi.
  • Stupac – Required. Nazivi stupaca unutar tablice koja se pretražuje. Stupci za pretraživanje moraju sadržavati tekst. Nazivi stupaca moraju biti nizovi i moraju biti okruženi dvostrukim navodnicima. No, nazivi stupaca moraju biti statični i ne mogu se izračunavati formulom. 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 slučaju SharePoint i Excel izvora podataka koji sadrže nazive stupaca s razmacima, svaki razmak navedite kao "_x0020_". Na primjer, navedite "Column Name" kao "Column_x0020_Name".

Traženje(tablica*, formula [, formulasmanjenja ] )

  • Table - Required. Tablica koja se pretražuje. U korisničkom sučelju sintaksa je prikazana kao izvor iznad okvira s funkcijama.
  • Formula – Required. 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.
  • Formula smanjenja – Neobvezno. 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 izvor podataka IceCream:

Izvor podataka Sladoled.

Formula Opis Rezultat
Filter( IceCream, OnOrder > 0 ) Vraća zapise gdje je OnOrder veće od nule. Filtriranje prema narudžbi.
Filter( IceCream, Quantity + OnOrder > 225 ) Vraća zapise gdje je zbroj stupaca Quantity i OnOrder veći od 225. Filtriranje količine i narudžbe.
Filter( IceCream, "chocolate" in Lower( Flavor ) ) Vraća zapise gdje se riječ „chocolate” pojavljuje u nazivu Flavor, neovisno o velikim i malim slovima. Filtriranje nižeg.
Filtar( Sladoled, količina < 10 && nakonnarudžbe < 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. Filtriranje prema količini.
Search( IceCream, "choc", "Flavor" ) Vraća zapise gdje se niz „choc” pojavljuje u nazivu Flavor, neovisno o velikim i malim slovima. Stavke pretraživanja.
Search( IceCream, "", "Flavor" ) Budući da je termin za pretraživanje prazan, vraćaju se svi zapisi. Pretražite sve stavke.
LookUp( IceCream, Flavor = "Chocolate", Quantity ) Search zapis za koji je Flavor jednako "Chocolate", a kojih 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, gdje je „Vanilla” za Flavor, vraća zbroj stupaca Quantity i OnOrder. 250
LookUp( IceCream, Flavor = "Pistachio", OnOrder ) Search zapis za koji je Flavor jednako "Pistachio", koji ne postoji nijedan. Jer ništa nije pronađeno, Traženje vraća prazno. blank
LookUp( IceCream, Flavor = "Vanilla" ) Search zapis za koji je Flavor jednako „Vanilla”, a kojih postoji jedan. Budući da nije dostavljena formula smanjenja, vraća se cijeli zapis. { Flavor: "Vanilla", Quantity: 200, OnOrder: 75 }

Filtriranje sa stupcima odabira

Sljedeći primjer koristi tabvlicu Račun sa značajkom Microsoft Dataverse kao izvorom podataka. Ovaj primjer pokazuje kako filtrirati popis računa na temelju odabranih kontrolnih vrijednosti kombiniranih okvira:

Korak po korak

  1. Otvorite praznu aplikaciju.

  2. Dodajte novi zaslon odabirom opcije Novi zaslon.

  3. Na kartici Umetanje odaberite Galerija i zatim odaberite Okomito.

  4. Na kartici Svojstva na desnom oknu otvorite Izvor podataka i zatim odaberite Računi.

  5. (Izborno) Na popisu Izgled odaberite različite opcije.

  6. Na kartici Umetanje odaberite Unos i zatim odaberite Kombinirani okvir. Ponovite korak za dodavanje još dvije kontrole kombiniranog okvira.

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

    Postavljanje vrijednosti kombiniranog okvira.

  8. Sada odaberite kontrolu Galerija i postavite svojstvo Stavke na sljedeću formulu:

    Filter(Accounts, 
     'Industry' = ComboBox3.Selected.Industry||IsBlank(ComboBox3.Selected.Industry), 
     'Relationship Type' = ComboBox2.Selected.'Relationship Type'||
     IsBlank(ComboBox2.Selected.'Relationship Type'), 
     'Preferred Method of Contact' = ComboBox1.Selected.'Preferred Method of Contact'||
     IsBlank(ComboBox1.Selected.'Preferred Method of Contact'))
    

    Izvor podataka za račune.

Korisničko iskustvo pretraživanja

Sljedeći primjeri koriste izvor podataka IceCream:

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.

Primjer u ostatku ove teme pokazuje rezultate pretraživanja popisa, pod nazivom Korisnici, koji sadrži te podatke:

Pretraživanje po klijentima.

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.

Pretraživanje pomoću unosa pretraživanja.

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:

Pretraživanje s pomoću započinje s.

Za filtriranje na temelju stupca Name, postavite svojstvo Items kontrole galerije na jednu od ovih formula:

Formula Opis Rezultat
Filter( Customers, StartsWith( Name, 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. Filtriranje s pomoću započinje s.
Filter( Customers, SearchInput.Text in Name ) 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. Filtriranje s unosom pretraživanja.
Search( Customers, SearchInput.Text, "Name" ) Slično kao kod korištenja operatora in, funkcija Search traži podudaranje bilo gdje unutar stupca Name svakog zapisa. Naziv stupca morate obuhvatiti dvostrukim navodnicima. Pretraživanje klijenata.

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. Filtriranje s pomoću klijenti započinju s.
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. Filtriranje s unosom pretraživanja klijenata.
Search( Customers, SearchInput.Text, "Name", "Company" ) Slično kao kod korištenja operatora in, funkcija Search traži izvor podataka Customers za zapise u kojima stupac Name ili stupac Company sadrži traženi niz (na primjer, co) bilo gdje unutar njega. Funkcija Search lakše se čita i piše nego funkcija Filter ako želite navesti više stupaca i više operatora in. Nazive stupaca morate obuhvatiti dvostrukim navodnicima.  Pretraživanje klijenata s pomoću unosa pretraživanja.