Filter, Searchin funkcije LookUp

Velja za: Canvas apps Copilot Studio Desktop flows Model-driven apps Power Platform CLI Dataverse functions Power Pages

Poišče enega ali več zapisov v tabeli.

Oglejte si ta videoposnetek in se naučite uporabljati Filter, Searchin LookUp funkcije:

opomba,

Ukazi PAC CLI power-fx ne podpirajo Search funkcije.

Description

Funkcija Filter najde zapise v tabeli, ki ustreza formuli. Uporablja Filter se za iskanje nabora zapisov, ki se ujemajo z enim ali več pogoji, in zavrže tiste zapise, ki se ne ujemajo.

Funkcija LookUp najde prvi zapis v tabeli, ki ustreza formuli. Uporablja LookUp se za iskanje enega zapisa, ki ustreza enemu ali več pogojem.

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 najde zapise v tabeli, ki vsebuje niz v enem od njihovih stolpcev. Niz se lahko pojavi kjer koli v stolpcu; če na primer poiščete »rob« ali »bert«, boste našli ujemanje v stolpcu, ki vsebuje »Robert«. Iskanje ni občutljivo na velike in male črke. Za Filter razliko od LookUpin , Search funkcija uporablja en niz za ujemanje namesto formule.

Filter in Search vrne tabelo, ki vsebuje enake stolpce kot izvirna tabela, in zapise, ki ustrezajo pogojem. LookUp vrne le prvi najden zapis, potem ko je bila veljavna formula za zmanjšanje zapisa na eno vrednost. Če ni najden noben zapis, vrne FilterSearch prazno tabelo in vrne LookUpprazno.

Tabele so vrednost v Power Apps, tako kot niz ali številka. Lahko so posredovane funkcijam in vrnjene iz njih. Filter Search in LookUpne spreminjajte 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. Filter in funkcije razvrščanja bodo delovale v zmanjšanem 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.

Search(Tabela*, SearchString, 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 aplikaciji Power Apps pred različico 3.24042 Search so bila imena stolpcev za funkcijo določena z besedilnim nizom z dvojnimi narekovaji, in če so povezana z virom podatkov, morajo biti tudi logična imena. Na primer, uporabljeno je bilo logično ime "cr43e_name" z dvojnimi narekovaji namesto prikazanega imena Ime brez narekovajev. Za SharePointove in Excelove vire podatkov, ki vsebujejo imena stolpcev s presledki, je bil vsak presledek "_x0020_"določen z , na primer "Column Name" kot "Column_x0020_Name". Po tej različici so bile vse aplikacije samodejno posodobljene na novo sintakso, opisano v tem članku.

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

  • 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:

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. Filter količina in naročilo.
Filter(IceCream, "chocolate" in Lower(Flavor )) Vrne zapise, pri katerih je vchocolate imenu okusa prikazana beseda »«, neodvisno od velikih ali malih črk. Filter v spodnjem delu.
Filter(IceCream, Quantity < 10 && OnOrder < 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. Filter na količino.
Search(IceCream, "choc", Flavor) Vrne zapise, pri katerih je vchoc imenu okusa prikazan niz »«, ne glede na velike ali male črke. Search Elemente.
Search(IceCream, "", Flavor) Ker je iskalni izraz prazen, so vrnjeni vsi zapisi. Search vse elemente.
LookUp(IceCream, Flavor = "Chocolate", Quantity) Išče zapis, ki ima vrednost »Flavor «Chocolate enako »«, od tega je zapis. 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 najdeni zapis, kiVanilla je »Okus«, vrne vsoto stolpcev » Količina « in » Naročila «. 250
LookUp(IceCream, Flavor = "Pistachio", OnOrder) Išče zapis, ki ima vrednost »Flavor « enako »Pistachio«, od tega ni nobenega. Ker nobenega ni mogoče najti, Iskanje vrne prazno vrednost. prazno
LookUp(IceCream, Flavor = "Vanilla") Išče zapis, ki ima vrednost »Flavor «Vanilla enako »«, od tega je zapis. Ker ni bila predložena formula zmanjšanja, je vrnjen celoten zapis. { Okus: "Vanilla", Količina: 200, Naročila: 75 }

Filtriranje z izbirnimi stolpci

Naslednji primer uporablja tabelo Račun v okolju Microsoft Dataverse kot viru podatkov. V tem primeru je prikazano Filter , kako prikažete seznam računov, ki temeljijo na izbranih vrednostih kontrolnika 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.

Search uporabniška izkušnja

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:

Search o strankah.

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

Search z vnosom iskanja.

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:

Search začne se z.

Če želite filtrirati na podlagi stolpca Name, nastavite lastnost Items za kontrolnik galerije na eno od teh formul:

Formula Description Rezultat
Filter(Stranke, StartsWith(Ime, 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 začnite z.
Filter(Stranke, SearchInput.Text v imenu) 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. Filter z vnosom iskanja.
Search(Stranke, SearchInput.Text, Ime) Podobno kot operator in funkcija išče Search ujemanje kjer koli v stolpcu Ime vsakega zapisa. Ime stolpca morate priložiti z dvojnimi narekovaji. Search stranke.

Iskanje lahko razširite tako, da vključite stolpec Podjetje in stolpec Ime:

Formula Description 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 začnejo z.
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. Filter stranke preiš čejo vnos.
Search(Customers, SearchInput.Text, Name, Company) Podobno kot pri operatorju Search funkcija v viru podatkov Customers išče zapise, v katerih stolpec Ime ali stolpec Podjetje vsebuje iskalni niz (na primer co) kjer koli v njem. Funkcijo Search lahko lažje berete in pišete, Filter kot če želite določiti več stolpcev in več v operatorjev . Search uporabniki z vnosom iskanja.