Deli putem


Filter, Searchi LookUp funkcije

Odnosi se na: Canvas aplikacije Copilot Studio Desktop teku aplikacije zasnovane na modelima Power Platform CLI Dataverse funkcije Power Pages

Pronalazi jedan ili više zapisa u tabeli.

Pogledajte ovaj video da biste saznali kako da koristite Filter, Searchi LookUp funkcije:

Belešku

PAC CLI pac power-fx komande ne podržavaju funkciju Search .

Opis

Funkcija Filter pronalazi zapise u tabeli koji zadovoljavaju formulu. Koristite Filter ga za pronalaženje skupa zapisa koji se podudaraju sa jednim ili više kriterijuma i odbacite one zapise koji se ne podudaraju.

Funkcija LookUp pronalaže prvi zapis u tabeli koji zadovoljava formulu. Koristite LookUp ga za pronalaženje jednog zapisa koji se podudara sa jednim ili više kriterijuma.

Za oba se formula izračunava za svaki zapis tabele. Zapisi koji rezultiraju u tačno su uključeni u rezultat. Pored normalne formule operatora, možete da koristite operacije in i exactin za operatore podudaranja podniski.

Polja zapisa koji se trenutno obrađuje su dostupna u formuli. Koristite operator ThisRecord ili jednostavno stavite referencu na polja po nazivu kao i bilo koju drugu vrednost. Možete i da koristite operator As za imenovanje zapisa koji se obrađuje što može da pomogne da vaša formula bude lakša za razumevanje i učini ugnežđene zapise dostupnima. Više informacija potražite u primerima u nastavku i članku o radu sa opsegom zapisa.

Funkcija Search pronalazi zapise u tabeli koji sadrže nisku u jednoj od kolona. String se može pojaviti bilo gde unutar kolone; na primer, traženje "Rob" ili "Bert" bi pronašlo podudaranje u koloni koja sadrži "Robert". Pretraživanje ne razlikuje velika i mala slova. Za Filter razliku od LookUpformule Search , funkcija umesto formule koristi jednu nisku za podudaranje.

Filter i Search vraća tabelu koja sadrži iste kolone kao originalna tabela i zapisi koji zadovoljavaju kriterijum. LookUp vraća samo prvi pronađeni zapis, nakon primene formule da bi se zapis smanjio na jednu vrednost. Ako nije pronađen nijedan zapis i Filter vraća Search praznu tabelu i vraća LookUppraznu tabelu.

Tabele su vrednost u Power Apps, baš kao string ili broj. Mogu se proslediti u funkcije i funkcije ih mogu vratiti. Filter, Searcha LookUp zatim nemojte da menjate tabelu. Umesto toga, oni uzimaju tabelu kao argument i iz nje vraćaju tabelu, zapis ili jednu vrednost. Za više detalja pogledajte rad sa tabelama.

Delegiranje

Kada je moguće, Power Apps će delegirati operacije za filtriranje i sortiranje izvoru podataka i stranici pomoću rezultata na zahtev. Na primer, kada pokrenete aplikaciju u kojoj je prikazana kontrola Galerija popunjena podacima, samo prvi skup zapisa će prvobitno biti prenet u uređaj. Dok korisnik pomera sadržaj, dodatni podaci se preuzimaju iz izvora podataka. Rezultat je brže vreme pokretanja aplikacije i pristup veoma velikim skupovima podataka.

Međutim, delegiranje nije uvek moguće. Izvori podataka se razlikuju prema funkcijama i operatorima koje podržavaju pomoću delegiranja. Ako kompletno delegiranje formule nije moguće, okruženje za kreiranje koristi upozorenje da označi deo koji ne može da se delegira. Kada je moguće, razmislite o promeni formule da biste izbegli funkcije i operatore koji ne mogu da se delegiraju. Lista delegiranja navodi koji izvori podataka i operacije mogu da se delegiraju.

Ako delegiranje nije moguće, Power Apps preuzima samo mali skup zapisa sa kojima može lokalno da se radi. Filter i funkcije sortiranja će raditi na smanjenom skupu zapisa. Ono što je dostupno u Galeriji možda nije kompletna slika, što može da zbuni korisnike.

Više informacija potražite u pregledu delegiranja.

Sintaksa

Filter(Tabela*, Formula1 [, *Formula2*, ... ] )

  • Tabela - Obavezno. Unesite tabelu za pretragu.
  • Formule - Obavezno. Formula po kojoj se izračunava svaki zapis tabele. Funkcija vraća sve zapise koji rezultiraju u tačno. Možete da referencirate kolone unutar tabele. Ako navedete više od jedne formule, rezultati svih formula se kombinuju sa funkcijom And.

Search(Tabela*, Niska pretrage, Kolona1 [, *Kolona2*, ... ] )

  • Tabela - Obavezno. Unesite tabelu za pretragu.
  • SearchString - Obavezno. Niska koju treba pretražiti. Ako je prazno ili prazna niska, svi se zapisi vraćaju.
  • Kolone - Obavezno. Nazivi kolona unutar Tabele koji treba pretražiti. Ako je SearchString pronađena u podacima bilo koje od tih kolona kao delimično podudaranje, vratiće se celokupni zapis.

Belešku

U programskom dodatku Power Apps pre verzije 3.24042 imena Search kolona za funkciju navedena su sa tekstualnom niskom koja koristi dvostruke navodnike, a ako su povezana sa izvorom podataka, takođe moraju da budu logička imena. Na primer, logičko ime "cr43e_name" sa dvostrukim navodnicima je korišćeno umesto ime za prikaz Ime bez navodnika. Za SharePoint i Ekcel izvore podataka koji sadrže imena kolona sa razmacima, svaki prostor je naveden sa "_x0020_", na primer "Ime kolone" kao "Column_x0020_Name". Nakon ove verzije, sve aplikacije su automatski ažurirane na novu sintaksu opisanu u ovom članku.

LookUp(Tabela*, formula [, *ReductionFormula* ] )

  • Tabela - Obavezno. Unesite tabelu za pretragu. U korisničkom interfejsu, sintaksa se prikazuje kao izvor iznad okvira sa funkcijama.
  • Formula - Obavezno. Formula po kojoj se izračunava svaki zapis tabele. Funkcija vraća prvi zapis koji je rezultirao u tačno. Možete da referencirate kolone unutar tabele. U korisničkom interfejsu sintaksa je prikazana kao uslov iznad okvira sa funkcijama.
  • ReductionFormula - Opciono. Ova formula se izračunava preko pronađenog zapisa, a zatim smanjuje zapis na jednu vrednost. Možete da referencirate kolone unutar tabele. Ako ne koristite ovaj parametar, funkcija vraća ceo zapis iz tabele. U korisničkom interfejsu sintaksa je prikazana kao rezultat iznad okvira sa funkcijama.

Primeri

Sledeći primeri koriste IceCreamizvor podataka:

Sladoled izvor podataka.

Formula Opis rezultat
Filter(IceCream, OnOrder > 0) Vraća zapise gde je OnOrder veća od nule. Filter Po redosledu.
Filter(IceCream, Quantity + OnOrder > 225) Vraća zapise gde je suma kolona Quantity i OnOrder veća od 225. Filter količina i porudžbina.
Filter(Ledeni krem, "čokolada" u Donjem(ukusu )) Vraća zapise gde se reč „čokolada“ pojavljuje u nazivu Flavor, nezavisno od velikih ili malih slova. Filter u nižim.
Filter(IceCream, Količina < 10 && OnOrder < 20) Vraća zapise gde je Quantity manje od 10 i OnOrder manje od 20. Nijedan zapis ne odgovara ovim kriterijumima, pa se vraća prazna tabela. Filter na količini.
Search(IceCream, "choc", Ukus) Vraća zapise gde se niska „choc“ pojavljuje u nazivu Flavor, nezavisno od velikih ili malih slova. Search Stavke.
Search(IceCream, "", Ukus) Pošto je termin za pretragu prazan, svi se zapisi vraćaju. Search sve stavke.
LookUp(Ledeni krem, ukus = "Čokolada", količina) Traži zapis sa ukusom jednakim "Čokolada", od kojih postoji jedan. Za prvi pronađeni zapis vraća se svojstvo Quantity tog zapisa. 100
LookUp(IceCream, Količina > 150, Količina + OnOrder) Pretražuje zapis sa vrednošću Quantity većom od 150, kojih ima više. Za prvi pronađeni zapis, a to je „Vanilla“ Flavor, vraća iznos kolona Quantity i OnOrder. 250
LookUp(IceCream, Flavor = "Pistachio", OnOrder) Pretražuje snimak gde je Flavor jednako „Pistachio“, od kojih ne postoji nijedna. Pošto nijedna nije pronađena, Pronalaženje vraća prazno. Prazno
LookUp(IceCream, Ukus = "Vanila") Traži zapis sa ukusom jednakim "Vanilla", od kojih postoji jedan. Pošto nije navedena formula smanjenja, vraća se celokupni zapis. { Ukus: "Vanila", Količina: 200, OnOrder: 75 }

Filtriranje sa kolonama izbora

Sledeći primer koristi tabelu Poslovni kontakt na platformi Microsoft Dataverse kao izvor podataka. Ovaj primer pokazuje kako da navedete Filter listu naloga na osnovu izabranih vrednosti kontrole kombinovanog okvira:

Korak po korak

  1. Otvorite praznu aplikaciju.

  2. Dodajte novi ekran izborom opcije Novi ekran.

  3. Na kartici Umetanje izaberite Galerija, a zatim izaberite Uspravna.

  4. Na kartici Svojstva u desnom oknu, otvorite Izvor podataka, a zatim izaberite Poslovni kontakti.

  5. (Opcionalno) U listi Raspored, izaberite različite opcije.

  6. Na kartici Umetanje izaberite Unos, a zatim izaberite Kombinovani okvir. Ponovite korak da biste dodali još dve kontrole kombinovanog okvira.

  7. Za svaku kontrolu kombinovanog okvira, na kartici Svojstva u desnom oknu otvorite Izvor podataka, a zatim izaberite Poslovni kontakti. Izaberite Uredi pored opcije Polja, a zatim izaberite vrednosti Primarni tekst i Polje za pretragu. Primarni tekst treba da bude kolona izbora koju želite da dodate u kombinovano polje. Ponovite korak druge dve kontrole kombinovanog okvira.

    Podešavanje vrednosti kombinovanog okvira.

  8. Sada izaberite kontrolu Galerija i podesite svojstvo Stavke na sledeć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'))
    

    Računi izvor podataka.

Search iskustvo korisnika

Sledeći primeri koriste IceCreamizvor podataka:

U mnogim aplikacijama možete da unesete jedan ili više znakova u okvir za pretragu da biste filtrirali listu zapisa u velikom skupu podataka. Dok kucate, lista prikazuje samo one zapise koji odgovaraju kriterijumima pretrage.

Primeri u ostatku ovog članka prikazuju rezultate pretraživanja liste, pod nazivom Kupci, koji sadrže ove podatke:

Search na klijente.

Da biste kreirali izvor podataka kao kolekciju, kreirajte kontrolu Dugme i podesite svojstva OnSelect prema ovoj formuli:

ClearCollect(Kupci, tabela{ (Ime: "Fred Garcia", Kompanija: "Northwind Traders" }, { Ime: "Cole Miller", Kompanija: "Contoso" }, { Ime: "Glenda Johnson", Kompanija: "Contoso" }, { Ime: "Mike Collins", Kompanija: "Adventure Works" }, { Ime: "Colleen Jones", Kompanija: "Adventure Works" }) )

Kao u ovom primeru, možete prikazati listu zapisa u Kontroli galerije pri dnu ekrana. U vrhu vrha ekrana možete da dodate kontrolu Unos teksta pod imenom SearchInput, tako da korisnici mogu odrediti koji ih zapisi zanimaju.

Search pomoću unosa pretrage.

Dok korisnik upisuje znakove u SearchInput, rezultati u galeriji se automatski filtriraju. U ovom slučaju, galerija je konfigurisana za prikazivanje zapisa za koje ime klijenta (a ne ime kompanije) počinje redosledom znakova u SearchInput. Ako korisnik unese co u polju za pretragu, galerija prikazuje ove rezultate:

Search sa počinje sa.

Za filtriranje na osnovu kolone Naziv, postavite svojstvo Items za galeriju da kontroliše jednu od ovih formula:

Formula Opis rezultat
Filter(Kupci, StartsWith(Ime, SearchInput.Text) ) Filtrira izvor podataka Klijenti za zapise u kojima se niska za pretragu pojavljuje na početku kolone Naziv. Test ne razlikuje velika i mala slova. Ako korisnik unese co u polju za pretragu, prikazuje se galerija Colleen Jones i Cole Miller. Galerija ne prikazuje Mike Collins zato što kolona Name za taj zapis ne počinje niskom za pretragu. Filter sa početkom.
Filter(Kupci, SearchInput.Text in Name) Filtrira izvor podataka Klijenti za zapise u kojima se niska za pretragu pojavljuje bilo gde u koloni Naziv. Test ne razlikuje velika i mala slova. Ako korisnik unese co u polje za pretragu, galerija prikazuje Colleen Jones,Cole Miller, i Mike Collins jer se niz za pretragu pojavljuje negde u koloni Name za sve ove zapise. Filter sa unosom pretrage.
Search(Klijenti, SearchInput.Text, Ime) Slično korišćenju operatora in , funkcija Search traži podudaranje bilo gde u koloni Ime svakog zapisa. Naziv kolone morate priložiti u dvostrukim navodnicima. Search Kupci.

Možete proširiti pretragu tako da uključuje kolonu Kompanija i kolonu Ime:

Formula Opis rezultat
Filter(Customers, StartsWith(Name, SearchInput.Text) || StartsWith(Preduzeće, SearchInput.Text) ) Filtrira izvor podataka Customers za zapise u kojima kolona Name ili kolona Name počinje niskom za pretragu (na primer, co). ||Operator je tačno ako je bilo koja funkcija StartsWithtačno. Filter klijenti počinju sa.
Filter(Kupci, SearchInput.Text u imenu || Unos pretrage. Tekst u preduzeću) Filtrira izvor podataka Customers za zapise u kojima bilo kolona Name ili kolona Name sadrži nisku za pretragu (na primer, co) bilo gde u sebi. Filter klijenti pretražuju unos.
Search(Klijenti, SearchInput.Text, Ime, Preduzeće) Slično korišćenju operatora in, Search funkcija traži zapise u kojima kolona Ime ili Kolona Preduzeće sadrže nisku za pretragu (na primer, co) bilo gde u okviru. Funkcija Search je lakša za čitanje i pisanje nego Filter ako želite da navedete više kolona i više operatora . Search klijenti sa unosom pretrage.