Märkus.
Juurdepääs sellele lehele nõuab autoriseerimist. Võite proovida sisse logida või kausta vahetada.
Juurdepääs sellele lehele nõuab autoriseerimist. Võite proovida kausta vahetada.
Kehtib järgmise kohta: Lõuendirakendused
Copilot Studio
töölauavood
Mudelipõhised rakendused
Power Platform CLI
Dataverse funktsioonid
Power Pages
Leiab ühe või mitu kirjettabelist.
Sellest videost saate teada, kuidas kasutada Filter, Searchja LookUp funktsioone.
Märkus.
PAC CLI pac power-fx käsud ei toeta Search funktsiooni.
Kirjeldus
Funktsioon Filter leiab tabelist kirjed, mis vastavad valemile. Sobib Filter ühele või mitmele kriteeriumile vastava kirjekomplekti otsimiseks ja mittevajavate kirjete hülgamiseks.
Funktsioon LookUp leiab valemile vastava tabeli esimese kirje. Sobib LookUp ühele või mitmele kriteeriumile vastava kirje otsimiseks.
Mõlema puhul hinnatakse valem iga tabeli kirje puhul eraldi. Tulemisse kaasatakse kirjed, mis on tõesed. Peale tavaliste valemite tehtemärkide saate kasutada tehtemärke in ja exactin alamstringi sobivuse jaoks.
Praegu töödeldavad kirje väljad on valemis saadaval. Kasutage tehtemärki ThisRecord või lihtsalt viidake väljadele nime järgi, nagu iga muu väärtuse korral. Tehtemärki As saab kasutada ka töödeldava kirje nimetamiseks, mis aitab teil valemit paremini mõista ja muuta pesastatud kirjed juurdepääsetavaks. Lisateabe saamiseks vaadake alltoodud näiteid ja jaotist kirje ulatusega töötamine.
Funktsioon Search leiab tabelist kirjed, mis sisaldavad ühes veerus olevat stringi. String võib esineda kõikjal veerus; näiteks kui otsite sõnu "rob" või "bert", leiate vaste veerust, mis sisaldab sõna "Robert". Otsimine on tõstutundlik. Erinevalt funktsioonist FilterSearch ja LookUpkasutab funktsioon valemi asemel ühte stringi.
Filter ja Search tagastab tabeli, mis sisaldab algse tabeliga samu veerge ja kriteeriumidele vastavaid kirjeid. LookUp tagastab pärast valemi rakendamist ainult esimese leitud kirje, et vähendada kirjet ühe väärtuseni. Kui kirjeid ei leita, FilterSearch tagastage tühi tabel ja LookUp tagastab tühja tabeli.
Tabelid on väärtus sees Power Apps, täpselt nagu string või arv. Neid saab edastada ja tagastada funktsioonidest. Filter, Searchja LookUp ärge muutke tabelit. Selle asemel võtavad nad tabelit argumendina ja tagastavad tabeli, kirje või ühe väärtuse sellest. Lisateavet leiate teemast tabelitega töötamine.
Delegeerimine
Võimaluse korral delegeerib Power Apps filtrimis- ja sortimistoimingud andmeallikale ning sirvib tulemeid nõudmisel. Nt kui käivitate rakenduse, mis kuvab andmetega täidetud Galerii juhtelemendi, tuuakse algselt seadmesse ainult esimene kirjete kogum. Kui kasutaja edasi kerib, laaditakse andmeallikast täiendavad andmed alla. Tulemuseks on rakenduse kiirem käivitamine ja juurdepääs ülisuurtele andmekomplektidele.
Kuid delegeerimine ei pruugi alati võimalik olla. See, milliseid funktsioone ja tehtemärke andmeallikad delegeerimisega toetavad, on eri andmeallikatel erinev. Kui valemi täielik delegeerimine pole võimalik, tähistab koostav keskkond osa, mida ei saa delegeerida, hoiatusega. Kui võimalik, mõelge valemi muutmisele, et vältida mittedelegeeritavaid funktsioone ja tehtemärke. Delegeerimisloendi üksikasjad delegeeritavate andmeallikate ja toimingutega.
Kui delegeerimine pole võimalik, tõmbab Power Apps kohalikuks töötamiseks alla ainult väikese kirjete kogumi. Filter ja sortimisfunktsioonid töötavad vähendatud kirjekomplektiga. Galeriis saadaolev ei pruugi olla täielik lugu ja see võib olla kasutajate jaoks segadusttekitav.
Lisateabe saamiseks vt delegeerimise ülevaadet.
Süntaks
Filter(Tabel*, Valem1 [, *Valem2*, ... ] )
- Tabel - nõutav. Tabel otsimiseks.
- Valemid - Nõutav. Valem, millega hinnatakse iga tabeli kirjet. Funktsioon tagastab kõik kirjed, mis on tõesed. Tabelis võite viidata veergudele. Kui esitate rohkem kui ühe valemi, kombineeritakse kõigi valemite tulemused funktsiooniga And.
Search(Tabel*, SearchString, Veerg1 [, *Veerg2*, ... ] )
- Tabel - nõutav. Tabel otsimiseks.
- SearchString - nõutav. String, mida otsida. Kui tühi või tühi string, tagastatakse kõik kirjed.
- Veerud - nõutav. Tabeli veergude nimed, mida otsida. Kui SearchString leitakse mõne sellise veeru andmetest osalise vastena, siis tagastatakse kogu kirje.
Märkus.
Power Appsis enne versiooni 3.24042 määrati funktsiooni veerunimed Search tekstistringiga jutumärkide abil ja kui need on ühendatud andmeallikaga, peavad need olema ka loogilised nimed. Näiteks kasutati kuvatava nime asemel loogilist nime "cr43e_name" topeltjutumärkidega Nimi ilma jutumärkideta. Tühikutega veerunimesid sisaldavate ja Exceli andmeallikate puhul SharePoint määrati igale tühikule "_x0020_" , näiteks "Veeru nimi" kui"Column_x0020_Name" . Pärast seda versiooni värskendati kõik rakendused automaatselt selles artiklis kirjeldatud uuele süntaksile.
LookUp(Tabel*, valem [, *ReductionFormula* ] )
- Tabel - nõutav. Tabel otsimiseks. Kasutajaliidese puhul kuvatakse süntaks allikana funktsioonivälja kohal.
- Valem - nõutav. Valem, millega hinnatakse iga tabeli kirjet. Funktsioon tagastab esimese kirjed, mis on tõene. Tabelis võite viidata veergudele. Kasutajaliidese puhul kuvatakse süntaks tingimusena funktsioonivälja kohal.
- ReductionFormula - valikuline. Seda valemit hinnatakse leitud kirje taustal ja seejärel vähendatakse kirjet üheks väärtuseks. Tabelis võite viidata veergudele. Kui te seda parameetrit ei kasuta, tagastab funktsioon tabelist täieliku kirje. Kasutajaliidese puhul kuvatakse süntaks tulemina funktsioonivälja kohal.
Näited
Järgmistes näidetes on kasutatud rakenduse IceCreamandmeallikat:
| Valem | Kirjeldus | Tulemus |
|---|---|---|
| Filter(IceCream, OnOrder > 0) | Tagastab kirjed, kus OnOrder on nullist suurem. |
|
| Filter(IceCream, Quantity + OnOrder > 225) | Tagastab kirjed, kus veergude Quantity ja OnOrder summa on suurem kui 225. |
|
| Filter(IceCream, "chocolate" in Lower(Flavor )) | Tagastab kirjed, kus sõna "šokolaad" kuvatakse Maitse nimes, mis ei sõltu suurtest ega väikestest tähtedest. |
|
| Filter(IceCream, Quantity < 10 & OnOrder < 20) | Tagastab kirjed, mille Kogus on väiksem kui 10 ja OnOrder on väiksem kui 20. Neile kriteeriumidele kirjeid ei vasta, seega tagastatakse tühi tabel. |
|
| Search(IceCream, "choc", Flavor) | Tagastab kirjed, kus sõna "šokolaad" kuvatakse Maitse nimes, mis ei sõltu suurtest ega väikestest tähtedest. |
|
| Search(IceCream, "", Flavor) | Kuna otsingusõna on tühi, tagastatakse kõik kirjed. |
|
| LookUp(IceCream, Flavor = "Chocolate", Quantity) | Otsib kirjet, mille maitse on võrdne "šokolaadiga", millest üks on olemas. Esimese leitud kirje puhul tagastab kirje Koguse. | 100 |
| LookUp(IceCream, Quantity > 150, Quantity + OnOrder) | Otsib kirjet, mille Kogus on suurem kui 150, mida on mitu. Esimsese leitud kirje jaoks, mis on "Vanilla" Flavor, tagastab Quantity summa ja OnOrder veerud. | 250 |
| LookUp(IceCream, Flavor = "Pistachio", OnOrder) | Otsib kirjet, kus Maitse võrdub "Pistaatsia", mida pole ühtegi. Kuna ühtegi ei leitud, muutub Otsin tagasi tühjaks. | tühi |
| LookUp(IceCream, Flavor = "Vanilla") | Otsib plaati, mille maitse on võrdne "Vanilliga", millest üks on olemas. Kuna vähendamise valemit ei esitatud, tagastatakse kogu kirje. | { Maitse: "Vanilla", Kogus: 200, Tellimisel: 75 } |
Valikuveergudega filtreerimine
Järgmine näide kasutab tabelit Konto järgmises Microsoft Dataverse andmeallikas. Selles näites kirjeldatakse valitud Filter liitboksi juhtelementide väärtustel põhinevate kontode loendit.
Samm-sammult
Avage tühi rakendus.
Lisage uus ekraan, valides suvandi Uus kuva.
Valige vahekaardil Lisa suvand Galerii ja valige seejärel suvand Vertikaalne.
Avage parempoolse paani vahekaardil AtribuudidAndmeallikas ja seejärel valige Kontod.
(valikuline) Valige loendis Paigutus erinevad suvandid.
Valige vahekaardil Lisa suvand Sisend ja valige seejärel suvand Liitkast. Korrake toimingut, et lisada veel kaks liitkasti juhtelementi.
Iga liitkasti juhtelemendi jaoks avage parempoolse paani vahekaardil AtribuudidAndmeallikas ja seejärel valige Kontod. Valige suvand Redigeeri suvandi Väljad kõrval ning seejärel valige esmase teksti ja Otsinguvälja väärtused. Esmane tekst peaks olema valikute veerg mille soovite liitkasti lisada. Korrake toimingut kahe teise liitkasti juhtelemendi jaoks.
Nüüd valige Galerii juhtelement ja määrake atribuudi Üksused väärtuseks järgmine valem:
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'))
Search kasutuskogemus
Järgmistes näidetes on kasutatud rakenduse IceCreamandmeallikat:
Paljudes rakendustes saate otsinguväljale ühe või mitu märki tippida suure andmekogumiku kirjeteloendi filtreerimiseks. Tippimisel kuvatakse loendis ainult need kirjed, mis vastavad otsingukriteeriumidele.
Selle artikli järgmises osas toodud näited näitavad järgmisi andmeid sisaldavast loendist "Kliendid" otsimise tulemusi.
Selle andmeallika loomiseks kogumikuna looge juhtelement Button ja määrake selle atribuut OnSelect.
ClearCollect(Kliendid, tabel{ (Nimi: "Fred Garcia", Ettevõte: "Põhjatuule kauplejad" }, { Nimi: "Cole Miller", Ettevõte: "Contoso" }, { Nimi: "Glenda Johnson", Ettevõte: "Contoso" }, { Nimi: "Mike Collins", Ettevõte: "Seiklustööd" }, { Nimi: "Colleen Jones", Ettevõte: "Seiklustööd" }) )
Nagu käesolevas näites, saate kuvada kirjeteloendi juhtelemenis Galerii ekraani allservas. Ekraani ülaosa lähedal saate lisada juhtelemendi Text input nimega SearchInput, et kasutajad saaksid määrata, millised kirjed neid huvitavad.
Kui kasutaja tipib märke väljale SearchInput, filtreeritakse galerii tulemused automaatselt. Sel juhul on galerii konfigureeritud kuvama kirjeid, mille jaoks kliendi nimi (mitte ettevõtte nimi) algab väljal SearchInput olevate märkide jadaga. Kui kasutaja tipib otsinguväljale co, kuvab galerii järgmised tulemused.
Veeru Nimi põhjal filtreerimiseks seadke galerii juhtelemendi atribuudi Üksused väärtuseks üks järgmistest valemitest.
| Valem | Kirjeldus | Tulemus |
|---|---|---|
| Filter(Kliendid, StartsWith(Nimi, SearchInput.Text) ) | Filtreerib andmeallikast Kliendid kirjed, milles otsitav string kuvatakse veeru Nimi alguses. Test on tõstutundlik. Kui kasutaja tipib otsinguväljale co, näitab galerii Colleen Jones ja Cole Miller. Galerii ei näita Mike Collins, sest selle kirje veerg Nimi ei alga otsingustringiga. |
|
| Filter(Kliendid, SearchInput.Text in Name) | Filtreerib andmeallikast Kliendid kirjed, milles otsitav string kuvatakse veeru Nimi mistahes kohas. Test on tõstutundlik. Kui kasutaja tipib otsinguväljale co, näitab galerii Colleen Jones,Cole Miller ja Mike Collins, sest otsingustring kuvatakse kusagil nende kirjete veerus Nimi. |
|
| Search(Kliendid, SearchInput.Text, Name) | Sarnaselt tehtemärgiga Searchin otsib funktsioon vastet iga kirje veerus Nimi. Veeru nimi tuleb lisada jutumärkidesse. |
|
Otsingut saate laiendada, et kaasata veerg Ettevõte ja veerg Nimi.
| Valem | Kirjeldus | Tulemus |
|---|---|---|
| Filter(Kliendid, StartsWith(Nimi, SearchInput.Text) || StartsWith(Ettevõte, SearchInput.Text) ) | Filtreerib andmeallika Kliendid kirjed, milles kas veerud Nimi või Ettevõte algavad otsingustringiga (nt co). ||Tehtemärk on tõene, kui funktsioon StartsWith on tõene. |
|
| Filter(Kliendid, SearchInput.Text nimega || SearchInput. Tekst ettevõttes) | Filtreerib andmeallika Kliendid kirjed, milles kas veerg Nimi või Ettevõte sisaldab mistahes kohas otsingustringi (nt co). |
|
| Search(Kliendid, SearchInput.Text, Name, Company) | Sarnaselt tehtemärgiga in otsib funktsioon andmeallikast Kliendid kirjeid, Search milles veerg Nimi või Ettevõte sisaldab otsingustringi (nt co) mis tahes asukohas. Funktsiooni Search on hõlpsam lugeda ja kirjutada kui Filter mitme veeru ja mitme tehtemärgi puhul . |
|