Funkcije filtriranja, pretraživanja i pretraživanja
Odnosi se na: Aplikacije platna Tokovi na radnoj površini Aplikacije Power Pages Power Platform zasnovane na modelu CLI
Pronalazi jedan ili više zapisa u tabeli.
Pogledajte ovaj video da biste saznali kako da koristite funkcije filtera, ** pretraživanja i pretraživanja :
Belešku
PAC CLI pac pover-fks komande ne podržavaju funkciju pretrage .
Opis
Funkcija Filter pronalazi zapise u tabeli koji zadovoljavaju formulu. Koristite Filter da biste pronašli skup zapisa koji odgovaraju jednom ili više kriterijuma i odbacite one zapise koji to ne čine.
Funkcija LookUp pronalazi prvi zapis u tabeli koji zadovoljava formulu. Koristite LookUp da biste pronašli jedan zapis koji odgovara jednom 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 razliku od Filter i LookUp, funkcija Search koristi jednu nisku za podudaranje umesto formule.
Filter i Pretraga vraćaju tabelu koja sadrži iste kolone kao i originalna tabela i zapise koji odgovaraju kriterijumima. LookUp vraća samo prvi pronađeni zapis, nakon primene formule za smanjenje zapisa na jednu vrednost. Ako nije pronađena nijedna evidencija, Filter i Search vraćaju tabelu prazno, a LookUp vraća prazno.
Tabele su vrednost u Power Apps, baš kao string ili broj. Mogu se proslediti u funkcije i funkcije ih mogu vratiti. Filter, Traži i LookUp ne menjaju 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. Funkcije filtriranja i sortiranja funkcionišu na ograničenom 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 *, SearchString, Column1 [, * Column2 *, ... ] )
- 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 Power Apps prethodnoj verziji 3.24042, imena kolona za funkciju Pretraga su specificirana tekstualnim nizom koristeći dvostruke navodnike, a ako su povezana sa izvor podataka takođe su morala 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 IceCream izvor podataka:
Formula | Opis | rezultat |
---|---|---|
Filter(Sladoled, po narudžbi > 0) | Vraća zapise gde je OnOrder veća od nule. | |
Filter (Sladoled, količina + OnOrder > 225) | Vraća zapise gde je suma kolona Quantity i OnOrder veća od 225. | |
Filter(Sladoled, "čokolada" u donjem (Flavor )) | Vraća zapise gde se reč „čokolada“ pojavljuje u nazivu Flavor, nezavisno od velikih ili malih slova. | |
Filter (sladoled, 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. | |
Pretraživanje(Sladoled, "čokolada", Ukus) | Vraća zapise gde se niska „choc“ pojavljuje u nazivu Flavor, nezavisno od velikih ili malih slova. | |
Pretraživanje(Sladoled, "", ukus) | Pošto je termin za pretragu prazan, svi se zapisi vraćaju. | |
LookUp (sladoled, 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 (Sladoled, 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 (Sladoled, ukus = "Vanila") | Traži zapis sa ukusom jednakim "Vanilla", od kojih postoji jedan. Pošto nije navedena formula smanjenja, vraća se celokupni zapis. | { Flavor: "Vanilla", Quantity: 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 filtrirate listu poslovnih kontakata zasnovanu na vrednostima kontrole kombinovanog okvira:
Korak po korak
Otvorite praznu aplikaciju.
Dodajte novi ekran izborom opcije Novi ekran.
Na kartici Umetanje izaberite Galerija, a zatim izaberite Uspravna.
Na kartici Svojstva u desnom oknu, otvorite Izvor podataka, a zatim izaberite Poslovni kontakti.
(Opcionalno) U listi Raspored, izaberite različite opcije.
Na kartici Umetanje izaberite Unos, a zatim izaberite Kombinovani okvir. Ponovite korak da biste dodali još dve kontrole kombinovanog okvira.
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.
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'))
Pretraga utiska pri pretraživanju
Sledeći primeri koriste IceCream izvor 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:
Da biste kreirali izvor podataka kao kolekciju, kreirajte kontrolu Dugme i podesite svojstva OnSelect prema ovoj formuli:
ClearCollect(Kupci, tabela{ (Ime: "Fred Garcia", Kompanija: "Northvind Traders" }, { Ime: "Cole Miller", Kompanija: "Contoso" }, { Ime: "Glenda Johnson", Kompanija: "Contoso" }, { Ime: "Mike Collins", Kompanija: "Adventure Vorks" }, { Ime: "Colleen Jones", Kompanija: "Adventure Vorks" }) )
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.
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:
Za filtriranje na osnovu kolone Naziv, postavite svojstvo Items za galeriju da kontroliše jednu od ovih formula:
Formula | Opis | Rezultat |
---|---|---|
Filter(Kupci, StartsVith(Ime, SearchInput.Tekt) | 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(Kupci, SearchInput.Tekst u imenu) | 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. | |
Pretraga (Kupci, SearchInput.Tekt, Ime) | Slično korišćenju operatora in, funkcija Search traži podudaranje bilo gde u okviru kolone Name svakog zapisa. Naziv kolone morate priložiti u dvostrukim navodnicima. |
Možete proširiti pretragu tako da uključuje kolonu Kompanija i kolonu Ime:
Formula | Opis | rezultat |
---|---|---|
Filter(Customers, StartsWith(Name, SearchInput.Text) || StartsVith(Kompanija, SearchInput.Tekt) ) | 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 StartsWith tačno. | |
Filter(Customers, SearchInput.Text in Name || PretragaUnos. Tekst u kompaniji) | 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. | |
Pretraga (Kupci, SearchInput.Tekt, Ime, Kompanija) | Slično korišćenju operatora in funkcija Search traži izvor podataka Customers za zapise u kojima bilo kolona Name ili kolona Company sadrži nisku za pretragu (na primer, co) bilo gde u sebi. Funkcija Search se lakše čita i piše od funkcije Filter ako želite da odredite više kolona i više operatora in. |