Funkcije Filter, Search in LookUp
Velja za: Aplikacije Canvas Namizne tokove Aplikacije, ki temeljijo na modelu Power Pages Power Platform CLI
Poišče enega ali več zapisov v tabeli.
Oglejte si ta videoposnetek, če želite izvedeti, kako uporabljati funkcije Filter, **Search in LookUp :
opomba,
Ukazi PAC CLI pac power-fx ne podpirajo funkcije Iskanje .
Description
Funkcija Filter poišče zapise v tabeli, ki ustrezajo formuli. Uporabite Filter , da poiščete nabor zapisov, ki ustrezajo enemu ali več merilom, in zavrzite tiste zapise, ki se ne ujemajo.
Funkcija LookUp poišče prvi zapis v tabeli, ki ustreza formuli. Uporabite LookUp, da poiščete zapis, ki se ujema z enim ali več zapisi.
Za oboje se formula ovrednoti za vsak zapis tabele. Zapisi, ki imajo za rezultat true, so vključeni v rezultat. Poleg običajne formule operaterji, lahko uporabite operaterja in in exactin za ujemanja podnizov.
Polja zapisa, ki je trenutno v obdelavi, so na voljo v okviru formule. Uporabite operator ThisRecord ali pa polja preprosto navedite poimensko, kot bi storili za katero koli drugo vrednost. Operator As lahko uporabite tudi za poimenovanje zapisa, ki se obdeluje, s čimer bo formulo lažje razumeti in bodo dostopni ugnezdeni zapisi. Več informacij je v spodnjih primerih in razdelku delo z obsegom zapisov.
Funkcija Search v tabeli poišče zapise, ki vsebujejo niz v enem od stolpcev. Niz se lahko pojavi kjer koli znotraj stolpca; če bi na primer iskali "rob" ali "bert", bi našli ujemanje v stolpcu, ki vsebuje "Robert". Iskanje ni občutljivo na velike in male črke. Za razliko od funkcij Filter in LookUp funkcija Search za ujemanje uporablja en niz namesto formule.
Filter in Iskanje vrneta tabelo, ki vsebuje iste stolpce kot izvirna tabela in zapise, ki ustrezajo kriterijem. LookUp vrne samo prvi najdeni zapis po uporabi formule za zmanjšanje zapisa na eno samo vrednost. Če ni najdenih zapisov, funkciji Filter in Search vrneta prazno tabelo, LookUp pa vrne možnost prazno.
Tabele so vrednost v Power Apps, tako kot niz ali številka. Lahko so posredovane funkcijam in vrnjene iz njih. Filtri, Iskanje in Poišči ne spreminjajo tabele. Tabelo vzamejo kot argument in iz njega vrnejo tabelo, zapis ali eno vrednost. Za več informacij glejte delo s tabelami.
Pooblastitev
Kadar je mogoče, storitev Power Apps pooblasti postopke filtriranja in razvrščanja za vir podatkov in stran prek rezultatov na zahtevo. Ko na primer zaženete aplikacijo, ki prikaže kontrolnik Galerija s podatki, se v napravo prvotno prenese samo prvi nabor zapisov. Ko se uporabnik pomika po zaslonu navzdol, se iz vira podatkov prenesejo dodatni podatki. Rezultat tega je krajši čas zagona aplikacije in dostop do obsežnih naborov podatkov.
Vendar pa pooblastitev ni možna v vseh primerih. Viri podatkov se razlikujejo v tem, katere funkcije in operatorje podpirajo s pooblaščanjem. Če popolna pooblastitev formule ni mogoča, okolje za ustvarjanje prikaže opozorilo za del, ki ga ni mogoče pooblastiti. Če je mogoče, poskusite spremeniti formulo, da se izognete funkcijam in operatorjem, ki jih ni mogoče pooblastiti. Seznam pooblaščanja podrobneje navaja, katere vire podatkov in postopke je mogoče pooblastiti.
Če pooblastitev ni mogoča, storitev Power Apps pridobi le majhen nabor zapisov, na katerem lahko delate lokalno. Funkcije za filtriranje in razvrščanje bodo delovale tudi na manjšem naboru zapisov. Kar bo prikazano v galeriji, morda ne bo predstavljalo celotne slike, to pa je za uporabnike lahko nejasno.
Če želite več informacij, glejte razdelek Pregled pooblastitev.
Sintaksa
Filter(Tabela*, Formula1 [, *Formula2*, ... ] )
- Tabela - obvezno. Tabela za iskanje.
- Formule - obvezno. Formula, za katero se ovrednoti vsak zapis tabele. Funkcija vrne vse zapise, ki imajo za rezultat true. Referencirate lahko stolpce znotraj tabele. Če predložite več kot eno formulo, se rezultati vseh formul združijo s funkcijo And.
Iskanje(Tabela*, Iskalni niz, Stolpec1 [, *Stolpec2*, . ..])
- Tabela - obvezno. Tabela za iskanje.
- Iskalni niz - Zahtevano. Niz za iskanje. Če je prazno ali prazen niz, se vrnejo vsi zapisi.
- Stolpci - obvezno. Imena stolpcev znotraj možnosti Tabela za iskanje. Če je možnost SearchString najdena v podatkih katerih koli od teh stolpcev kot delno ujemanje, bo vrnjen celoten zapis.
opomba,
V Power Apps pred različico 3.24042 so bila imena stolpcev za iskanje funkcijo določena z besedilnim nizom z dvojnimi narekovaji in če so bila povezana z vir podatkov so morala biti tudi logična imena. Na primer, logično ime "cr43e_name" z dvojnimi narekovaji je bilo uporabljeno namesto prikazno ime Ime brez narekovajev. Za SharePoint in izvore podatkov Excel, ki vsebujejo imena stolpcev s presledki, je bil vsak presledek določen z "_x0020_", na primer "Ime stolpca" kot "Ime_stolpca_x0020". Po tej različici so bile vse aplikacije samodejno posodobljene na novo sintakso, opisano v tem članku.
Iskanje(tabela*, formula [, formula redukcije ] )
- Tabela - obvezno. Tabela za iskanje. V uporabniškem vmesniku je sintaksa prikazana kot vir nad poljem funkcije.
- Formula - obvezno. Formula, za katero se ovrednoti vsak zapis tabele. Funkcija vrne prvi zapis, ki ima za rezultat true. Referencirate lahko stolpce znotraj tabele. V uporabniškem vmesniku je sintaksa prikazana kot pogoj nad poljem funkcij.
- Formula za zmanjšanje - Izbirno. Ta formula je ovrednotena prek zapisa, ki je bil najden, nato pa zmanjša zapis na eno vrednost. Referencirate lahko stolpce znotraj tabele. Če ne uporabite tega parametra, funkcija iz tabele vrne celoten zapis. V uporabniškem vmesniku je sintaksa prikazana kot rezultat nad poljem funkcij.
Primeri
Naslednji primeri uporabljajo vir podatkov IceCream:
Formula | Description | Rezultat |
---|---|---|
Filter (sladoled, po naročilu > 0) | Vrne zapise, kjer je OnOrder večje od nič. | |
Filter (sladoled, količina + po naročilu > 225) | Vrne zapise, kjer je vsota stolpcev Quantity in OnOrder večja od 225. | |
Filter (sladoled, "čokolada" v spodnjem (okus)) | Vrne zapise, kjer se beseda »chocolate« pojavi v imenu Flavor, neodvisno od velikih ali malih črk. | |
Filter (sladoled, količina < 10 && po naročilu < 20) | Vrne zapise, kjer je Quantity manj kot 10 in OnOrder manj kot 20. Noben zapis se ne ujema s temi merili, zato je vrnjena prazna tabela. | |
Iskanje (IceCream, "choc", Flavor) | Vrne zapise, kjer se niz »choc« pojavi v imenu Flavor, neodvisno od velikih ali malih črk. | |
Iskanje (sladoled, "", okus) | Ker je iskalni izraz prazen, so vrnjeni vsi zapisi. | |
LookUp(sladoled, okus = "čokolada", količina) | Išče zapis z okusom , ki je enak »čokoladi«, med katerimi je en. Za prvi najdeni zapis vrne Quantity za ta zapis. | 100 |
Iskanje (sladoled, količina > 150, količina + po naročilu) | Poišče zapis, kjer je Quantity večje od 150, kar je več zapisov. Za prvi zapis, ki je najden, kar je »Vanilla« za Flavor, vrne vsoto stolpcev Quantity in OnOrder. | 250 |
LookUp(sladoled, okus = "pistacija", po naročilu) | Poišče zapis, kjer je Flavor enako »Pistachio«, kar ni noben zapis. Ker nobenega ni mogoče najti, Iskanje vrne prazno vrednost. | prazno |
LookUp(sladoled, okus = "vanilija") | Išče zapis z Okusom , ki je enak "vaniliji", med katerimi je en. Ker ni bila predložena formula zmanjšanja, je vrnjen celoten zapis. | { Flavor: "Vanilla", Quantity: 200, OnOrder: 75 } |
Filtriranje z izbirnimi stolpci
Naslednji primer uporablja tabelo Račun v okolju Microsoft Dataverse kot viru podatkov. Ta primer prikazuje, kako Filtrirati seznam računov na podlagi izbranih kontrolnih vrednosti kombiniranega polja:
Korak za korakom
Odprite prazno aplikacijo.
Dodajte nov zaslon, tako da izberete možnost Nov zaslon.
Na zavihku Vstavljanje izberite Galerija in nato izberite Navpično.
Na zavihku Lastnosti v desnem podoknu odprite Vir podatkov in nato izberite Računi.
(Izbirno) Na seznamu Postavitev izberite različne možnosti.
Na zavihku Vstavljanje izberite Vnos in nato izberite Kombinirano polje. Ponovite korak, da dodate še dva kontrolnika kombiniranega polja.
Za vsak kontrolnik kombiniranega polja na zavihku Lastnosti v desnem podoknu odprite Vir podatkov in nato izberite Računi. Izberite Uredi zraven možnosti Polja in nato izberite Primarno besedilo in vrednosti SearchField. Primarno besedilo naj bo stolpec z izbirami, ki ga želite dodati v kombinirano polje. Ponovite korak za ostala dva kontrolnika kombiniranega polja.
Zdaj izberite kontrolnik Galerija in nastavite lastnost Elementi na naslednjo formulo:
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'))
Uporabniška izkušnja iskanja
Naslednji primeri uporabljajo vir podatkov IceCream:
V številnih aplikacijah lahko v iskalno polje vtipkate enega ali več znakov ter filtrirate seznam zapisov v velikem naboru podatkov. Med vnašanjem seznam prikaže samo tiste zapise, ki ustrezajo pogojem iskanja.
Primeri v nadaljevanju tega članka prikazujejo rezultate iskanja po seznamu z imenom Stranke, ki vsebuje te podatke:
Če želite ustvariti ta vir podatkov kot zbirko, ustvarite kontrolnik Button in nastavite njegovo lastnost OnSelect na to formulo:
ClearCollect(Stranke, Tabela({ Ime: "Fred Garcia", Podjetje: "Northwind Traders" }, { Ime: "Cole Miller", Podjetje: »Contoso« }, { Ime: »Glenda Johnson«, Podjetje: »Contoso« }, { Ime: »Mike Collins ", Podjetje: "Adventure Works" }, { Ime: "Colleen Jones", Podjetje: "Adventure Works" }) )
Kot je prikazano v tem primeru, lahko seznam zapisov prikažete v kontrolniku galerije na dnu zaslona. Na vrhu zaslona lahko dodate kontrolnik Text input z imenom SearchInput, tako da lahko uporabniki določijo, kateri zapisi jih zanimajo.
Ko uporabnik vnese znake v kontrolnik SearchInput, se rezultati v galeriji samodejno filtrirajo. V tem primeru je galerija konfigurirana za prikaz zapisov, za katere se ime stranke (ne ime podjetja) začne z zaporedjem znakov v SearchInput. Če uporabnik v iskalno polje vnese co, galerija prikaže te rezultate:
Če želite filtrirati na podlagi stolpca Name, nastavite lastnost Items za kontrolnik galerije na eno od teh formul:
Formula | Opis | Rezultat |
---|---|---|
Filter(Customers, StartsWith(Name, SearchInput.Text)) | Filtrira vir podatkov Customers za zapise, v katerih se iskani niz prikaže na začetku stolpca Name. Preskus ne razlikuje med velikimi in malimi črkami. Če uporabnik v iskalno polje vnese co, galerija prikaže imeni Colleen Jones in Cole Miller. Galerija ne prikaže imena Mike Collins, ker se stolpec Name za ta zapis ne začne z iskanim nizom. | |
Filter(Stranke, SearchInput.Text in Name) | Filtrira vir podatkov Customers za zapise, v katerih se iskani niz prikaže kjerkoli v stolpcu Name. Preskus ne razlikuje med velikimi in malimi črkami. Če uporabnik vnese co v iskalno polje, galerija prikaže imena Colleen Jones, Cole Miller, in Mike Collins, ker se iskalni niz pojavi nekje v stolpcu Name v vseh teh zapisih. | |
Iskanje (Stranke, SearchInput.Text, Ime) | Podobno kot pri uporabi operatorja in, funkcija Search išče ujemanje kjerkoli v stolpcu Name posameznega zapisa. Ime stolpca morate priložiti z dvojnimi narekovaji. |
Iskanje lahko razširite tako, da vključite stolpec Podjetje in stolpec Ime:
Formula | Opis | Rezultat |
---|---|---|
Filter(Customers, StartsWith(Name, SearchInput.Text) || StartsWith(Company, SearchInput.Text) ) | Filtrira vir podatkov Customers za zapise, v katerih se z iskalnim nizom (na primer co) začne stolpec Name ali stolpec Company. Operator || ima vrednost true, če ima funkcija StartsWith v enem od stolpcev vrednost true. | |
Filter(Stranke, SearchInput.Text v imenu || SearchInput. Besedilo v Company) | Filtrira vir podatkov Customers za zapise, v katerih stolpec Name ali stolpec Company vsebuje iskani niz (na primer co) na kateremkoli mestu. | |
Iskanje (stranke, SearchInput.Text, ime, podjetje) | Podobno kot pri uporabi operatorja in, funkcija Search v viru podatkov Customers poišče zapise, v katerih stolpec Name ali stolpec Company vsebuje iskani niz (na primer co) na kateremkoli mestu. Funkcija Search je enostavnejša za branje in pisanje kot funkcija Filter, če želite določiti več stolpcev in več operatorjev in. |