Share via


Funkcije Filter, Search in LookUp

Velja za: Aplikacije Canvas Namizne tokove Aplikacije, ki temeljijo na modelu 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.

Funkciji Filter in Search vrneta tabelo, ki vsebuje iste stolpce kot prvotna tabela in zapise, ki se ujemajo z merili. LookUp vrne samo prvi najden zapis po uveljavitvi formule za zmanjšanje zapisa na eno vrednost. Če ni najdenih zapisov, funkciji Filter in Search vrneta prazno tabelo, LookUp pa vrne možnost prazno.

Tabele so vrednost v rešitvi Power Apps, tako kot niz ali številka. Lahko so posredovane funkcijam in vrnjene iz njih. Funkcije Filter, Search in LookUp ne spremenijo 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(Table*, Formula1 [, *Formula2*, ... ] )

  • Table – obvezno. Tabela za iskanje.
  • Formula(s) – 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.

Search(Table*, SearchString, Column1 [, *Column2*, ... ] )

  • Table – obvezno. Tabela za iskanje.
  • SearchString – obvezno. Niz za iskanje. Če je prazno ali prazen niz, se vrnejo vsi zapisi.
  • Column(s) – 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 v dvojnih narekovajih 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.

LookUp(Table*, Formula [, *ReductionFormula* ] )

  • Table – 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.
  • ReductionFormula – 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:

Sladoled vir podatkov.

Formula Description Rezultat
Filter( IceCream, OnOrder > 0 ) Vrne zapise, kjer je OnOrder večje od nič. Filter po naročilu.
Filter( IceCream, Quantity + OnOrder > 225 ) Vrne zapise, kjer je vsota stolpcev Quantity in OnOrder večja od 225. Količina filtra in naročilo.
Filter( IceCream, "chocolate" in Lower( Flavor ) ) Vrne zapise, kjer se beseda »chocolate« pojavi v imenu Flavor, neodvisno od velikih ali malih črk. Filtrirajte spodaj.
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. Filtrirajte po količini.
Iskanje (IceCream, "choc", Flavor) Vrne zapise, kjer se niz »choc« pojavi v imenu Flavor, neodvisno od velikih ali malih črk. Iskanje predmetov.
Iskanje (sladoled, "", okus) Ker je iskalni izraz prazen, so vrnjeni vsi zapisi. Iskanje po vseh predmetih.
LookUp( IceCream, Flavor = "Chocolate", Quantity ) Išče zapis z okusom , ki je enak »čokoladi«, med katerimi je en. Za prvi najdeni zapis vrne Quantity za ta zapis. 100
LookUp( IceCream, Quantity > 150, Quantity + OnOrder ) 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( IceCream, Flavor = "Pistachio", OnOrder ) Poišče zapis, kjer je Flavor enako »Pistachio«, kar ni noben zapis. Ker nobenega ni mogoče najti, Iskanje vrne prazno vrednost. prazno
LookUp( IceCream, Flavor = "Vanilla" ) 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

  1. Odprite prazno aplikacijo.

  2. Dodajte nov zaslon, tako da izberete možnost Nov zaslon.

  3. Na zavihku Vstavljanje izberite Galerija in nato izberite Navpično.

  4. Na zavihku Lastnosti v desnem podoknu odprite Vir podatkov in nato izberite Računi.

  5. (Izbirno) Na seznamu Postavitev izberite različne možnosti.

  6. Na zavihku Vstavljanje izberite Vnos in nato izberite Kombinirano polje. Ponovite korak, da dodate še dva kontrolnika kombiniranega polja.

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

    Nastavitev vrednosti kombiniranega polja.

  8. 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'))
    

    Računi vir podatkov.

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:

Iskanje strank.

Če želite ustvariti ta vir podatkov kot zbirko, ustvarite kontrolnik Button in nastavite njegovo lastnost OnSelect na to formulo:

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" }) )

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.

Iščite z iskalnim vnosom.

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:

Iskanje z se začne z.

Č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 z začni z.
Filter( Customers, 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. Filtriraj z iskalnim vnosom.
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 strank.

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. Stranke filtra začnejo s.
Filter( Customers, SearchInput.Text in Name || SearchInput.Text in Company ) Filtrira vir podatkov Customers za zapise, v katerih stolpec Name ali stolpec Company vsebuje iskani niz (na primer co) na kateremkoli mestu. Filtrirajte iskalni vnos strank.
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.  Iskanje strank z iskalnim vnosom.