Nata
Norint pasiekti šį puslapį, reikalingas leidimas. Galite pabandyti prisijungti arba pakeisti katalogus.
Norint pasiekti šį puslapį, reikalingas leidimas. Galite pabandyti pakeisti katalogus.
Taikoma: "Canvas apps
Copilot Studio Desktop
" srautus
modeliu pagrįstos programos
"Power Platform" CLI
"Dataverse" funkcijos
"Power Pages"
Randa vieną arba daugiau lentelėsįrašų.
Peržiūrėkite šį vaizdo įrašą ir sužinokite, kaip naudoti Filter, Searchir LookUp funkcijas:
Pastaba.
PAC CLI pac power-fx komandos nepalaiko Search funkcijos.
Aprašą
Funkcija Filter randa įrašus lentelėje, kuri atitinka formulę. Naudokite Filter norėdami rasti įrašų, atitinkančių vieną ar daugiau kriterijų, rinkinį ir atmesti tuos įrašus, kurie to daryti nereikia.
Funkcija LookUp randa pirmą lentelės įrašą, tenkinantį formulę. Naudokite LookUp norėdami rasti vieną įrašą, atitinkantį vieną ar daugiau kriterijų.
Abi formulės įvertina kiekvieną lentelės įrašą. Į rezultatą įtraukiami tie įrašai, kurie yra true. Be įprastų formulės operatorių, antrinių eilučių atitikmenims galite naudoti operatorius in ir exactin.
Formulėje pasiekiami šiuo metu apdorojamo įrašo laukai. Naudokite operatorių ThisRecord arba tiesiog laukus, kaip ir bet kurią kitą reikšmę, nurodykite pagal pavadinimus. Operatorių As taip pat galima naudoti norint pavadinti apdorojamą įrašą. Tai gali padėti lengviau suprasti formulę ir įdėtuosius įrašus pritaikyti neįgaliesiems. Norėdami gauti daugiau informacijos, žr. tolesnius pavyzdžius ir įrašą apie darbą su įrašų aprėptimi.
Funkcija Search randa įrašus lentelėje, kurioje yra eilutė viename iš jų stulpelių. Eilutė gali atsirasti bet kurioje stulpelio vietoje; pavyzdžiui, ieškant "rob" arba "bert", stulpelyje, kuriame yra "Robertas", būtų rastas atitikmuo. Ieškant svarbus raidžių dydis. Skirtingai nei Filter ir LookUp, Search funkcija naudoja vieną eilutę, kad atitiktų, o ne formulę.
Filter ir Search pateikia lentelę, kurioje yra tie patys stulpeliai kaip ir pradinėje lentelėje, ir kriterijus atitinkančius įrašus. LookUp pateikia tik pirmą rastą įrašą, pritaikius formulę įrašui sumažinti iki vienos reikšmės. Jei įrašų nerasta, FilterSearch ir pateikia tuščią lentelę ir LookUp pateikia tuščią.
Lentelės yra reikšmė Power Apps, kaip ir eilutė ar skaičius. Jie gali būti perduodami ir grąžinami iš funkcijų. Filter, Searchir LookUp nekeiskite lentelės. Vietoj to jos kaip argumentą paima lentelę ir iš jos pateikia lentelę, įrašą arba vieną reikšmę. Norėdami sužinoti daugiau informacijos, peržiūrėkite Darbas su lentelėmis.
Perdavimas
Kai bus įmanoma, „Power Apps“ filtravimo ir rikiavimo operacijas, naudodama rezultatų pareikalavus funkciją, perduos duomenų šaltiniui ir puslapiui. Pavyzdžiui, kai paleidžiate programą, kurioje rodomas duomenimis užpildytas valdiklis Galerija, įrenginyje iš pradžių bus pateikiami tik pirmieji keletas įrašų. Vartotojui slenkant, iš duomenų šaltinio pateikiama papildomų duomenų. Rezultatas – greičiau paleidžiama programa ir prieiga prie labai didelių duomenų rinkinių.
Tačiau perduoti ne visada gali būti įmanoma. Duomenų šaltiniai skiriasi tuo, kokias funkcijas ir kokius operatorius jie palaiko, kai naudojama perdavimo funkcija. Jei visiškai perduoti formulės neįmanoma, kūrimo aplinka negalimą perduoti dalį pažymės įspėjimu. Kai įmanoma, apsvarstykite galimybę formulę pakeisti, kad išvengtumėte tokių funkcijų ir operatorių, kurių negalima perduoti. Perdavimo sąraše išsamiai nurodyta, kuriuos duomenų šaltinius ir kurias operacijas galima perduoti.
Jei perduoti neįmanoma, „Power Apps“ gaus tik keletą įrašų, su kuriais bus galima dirbti vietoje. Filter ir rūšiavimo funkcijos veiks su mažesniu įrašų rinkiniu. Gali būti pateikiama ne visa informacija apie tai, ko yra galerijoje, ir tai gali būti painu vartotojams.
Norėdami gauti daugiau informacijos, žr. perdavimo apžvalgą.
Sintaksė
Filter(Lentelė*, Formulė1 [, *Formulė2*, ... ] )
- Lentelė - būtina. Lentelė, kurioje ieškoma.
- Formulės - Būtina. Formulė, pagal kurią įvertinamas kiekvienas lentelės įrašas. Funkcija pateikia visus įrašus, kurie yra true. Stulpelius galite nurodyti lentelėje. Jei pateikiate daugiau nei vieną formulę, visų formulių rezultatai sujungiami naudojant funkciją And.
Search(Table*, SearchString, Column1 [, *Column2*, ... ] )
- Lentelė - būtina. Lentelė, kurioje ieškoma.
- SearchString - būtina. Eilutė, kurios reikia ieškoti. Jei eilutė tuščia, pateikiami visi įrašai.
- Stulpeliai - būtina. Ieškotini lentelės stulpelių pavadinimai. Jei bet kurio iš šių stulpelių duomenyse kaip dalinis atitikmuo randama SearchString, bus pateiktas visas įrašas.
Pastaba.
"Power Apps" ankstesnėse negu 3.24042 versijose funkcijos stulpelių pavadinimai Search buvo nurodyti naudojant dvigubų kabučių teksto eilutę, o jei prisijungta prie duomenų šaltinio, jie taip pat turi būti loginiai pavadinimai. Pavyzdžiui, vietoj rodomo pavadinimo Vardas be kabučių buvo naudojamas loginis pavadinimas "cr43e_name" su dvigubomis kabutėmis. " SharePoint Excel" duomenų šaltiniuose, kuriuose yra stulpelių pavadinimai su tarpais, kiekvienas tarpas buvo nurodytas su "_x0020_", pvz., "Stulpelio pavadinimas"kaip"Column_x0020_Name". Po šios versijos visos programos buvo automatiškai atnaujintos į naują sintaksę, aprašytą šiame straipsnyje.
LookUp(Lentelė*, Formulė [, *Mažinimoformula* ] )
- Lentelė - būtina. Lentelė, kurioje ieškoma. Vartotojo sąsajoje sintaksė rodoma kaip šaltinis virš funkcijos laukelio.
- Formulė - būtina. Formulė, pagal kurią įvertinamas kiekvienas lentelės įrašas. Funkcija pateikia pirmąjį įrašą, kuris yra true. Stulpelius galite nurodyti lentelėje. Vartotojo sąsajoje sintaksė rodoma kaip sąlyga virš funkcijos laukelio.
- ReductionFormula - Neprivaloma. Ši formulė įvertinama pagal rastą įrašą, tada įrašas sumažinamas iki vienos reikšmės. Stulpelius galite nurodyti lentelėje. Jei šio parametro nenaudojate, funkcija pateikia visą įrašą iš lentelės. Vartotojo sąsajoje sintaksė rodoma kaip rezultatas virš funkcijos laukelio.
Pavyzdžiai
Toliau pateiktuose pavyzdžiuose naudojamas IceCreamduomenų šaltinis:
| Formulė | Aprašą | Rezultatas |
|---|---|---|
| Filter(IceCream, OnOrder > 0) | Pateikiami įrašai, kurių OnOrder reikšmė yra didesnė nei nulis. |
|
| Filter(IceCream, Quantity + OnOrder > 225) | Pateikia įrašus, kurių stulpelių Quantity ir OnOrder stulpelių suma yra didesnė nei 225. |
|
| Filter(IceCream, "šokoladas" lower(Flavor)) | Pateikia įrašus, kurių ypatybės Flavor pavadinime rodomas žodis „šokoladiniai“, neatsižvelgiant į didžiąsias arba mažąsias raides. |
|
| Filter(IceCream, Kiekis < 10 && OnOrder < 20) | Pateikia įrašus, kurių Quantity reikšmė yra mažesnė nei 10, o OnOrder – mažesnė nei 20. Šių kriterijų neatitinka joks įrašas, todėl pateikiama tuščia lentelė. |
|
| Search(IceCream, "choc", Flavor) | Pateikia įrašus, kurių ypatybės Flavor pavadinime rodoma eilutė „šok“, neatsižvelgiant į didžiąsias arba mažąsias raides. |
|
| Search(IceCream, "", Flavor) | Kadangi ieškos frazė yra tuščia, pateikiami visi įrašai. |
|
| LookUp(IceCream, Flavor = "Chocolate", Quantity) | Ieško įrašo, kurio skonis lygus "Šokoladui", kurio yra vienas. Pateikia pirmojo rasto įrašo ypatybę Quantity. | 100 |
| LookUp(IceCream, Kiekis > 150, Kiekis + OnOrder) | Ieško įrašo, kurio Quantity reikšmė yra didesnė nei 150, o tokių įrašų yra keli. Pateikia pirmojo rasto įrašo, kurio Flavor reikšmė yra „Vaniliniai“, stulpelių Quantity ir OnOrder sumą. | 250 |
| LookUp(IceCream, Flavor = "Pistachio", OnOrder) | Ieško įrašo, kurio ypatybė Flavor yra „Pistaciniai“, tačiau tokio įrašo nėra. Kadangi jis nerandamas, Peržvalga grąžina reikšmę tuščia. | Tuščią |
| LookUp(IceCream, Flavor = "Vanilla") | Ieško įrašo, kurio skonis lygus "Vanilei", iš kurių yra vienas. Kadangi nebuvo pateikta jokia sumažinimo formulė, pateikiamas visas įrašas. | { Flavor: "Vaniliniai", Quantity: 200, OnOrder: 75 } |
Filtravimas su pasirinkimo stulpeliais
Toliau pateiktas pavyzdys naudoja „Microsoft Dataverse” Kliento lentelę kaip duomenų šaltinį. Šiame pavyzdyje rodoma, kaip įtraukti Filter paskyrų sąrašą pagal pasirinktas pasirinktinio įvedimo lauko valdiklio reikšmes:
Nuoseklūs veiksmai
Atidarykite tuščią programą.
Įtraukite naują ekraną pasirinkdami Naujo ekrano parinktį.
Skirtuke Įterpimas pasirinkite Galerija, o tada – Vertikali.
Dešiniosios srities skirtuke Ypatybės atidarykite Duomenų šaltinį ir tada pasirinkite Paskyros.
(Pasirinktinis) Išdėstymų sąraše pažymėkite skirtingas parinktis.
Skirtuke Įterpimas pasirinkite Įvestis, o tada – Pasirinktinio įvedimo laukas. Pakartokite šį veiksmą, kad įtrauktumėte dar pasirinktinio įvedimo lauko valdiklius.
Kiekvienam pasirinktinio įvedimo lauko valdikliui dešiniosios srities skirtuke Ypatybės atidarykite Duomenų šaltinį ir tada pasirinkite Paskyros. Pasirinkite Redaguoti, esantį šalia Laukų parinkties, o tada pasirinkite Pirminio teksto ir Ieškos lauko reikšmes. Pirminis tekstas turi būti pasirinkimo stulpelis, kurį norite įtraukti į pasirinktinio įvedimo lauką. Pakartokite šį veiksmą kitiems dviems pasirinktinio įvedimo lauko valdikliams.
Dabar pasirinkite Galerijos valdiklį ir nustatykite Elementų ypatybę pagal šią formulę:
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 vartotojo patirtis
Toliau pateiktuose pavyzdžiuose naudojamas IceCreamduomenų šaltinis:
Daugelyje programų į ieškos lauką galite įvesti vieną ar daugiau simbolių, jei norite filtruoti didelių duomenų rinkinio įrašus. Kai rašote, sąraše rodomi tik atitinkantys ieškos kriterijus.
Likusioje šio straipsnio dalyje pateiktuose pavyzdžiuose pateikiami ieškos sąraše, pavadintame Klientai, kuriame yra šie duomenys, rezultatai:
Norėdami sukurti šį duomenų šaltinį kaip rinkinį, sukurkite Buttonvaldiklį ir nustatykite jo OnSelectypatybę pagal šią formulę:
ClearCollect(Klientai, lentelė{ (Pavadinimas: "Fred Garcia", Įmonė: "Northwind Traders", }Pavadinimas: "Cole Miller", { Įmonė: "Contoso" }, { Pavadinimas: "Glenda Johnson", Įmonė: "Contoso" }, { Pavadinimas: "Mike Collins", Įmonė: "Nuotykių darbai" }, { Pavadinimas: "Colleen Jones", Įmonė: "Nuotykių darbai" }) )
Kaip šiame pavyzdyje, Gallery control ekrano pabaigoje galite parodyti įrašų sąrašą. Prie ekrano viršaus galite įtraukti Text inputvaldiklį, pavadintą SearchInput, kad vartotojai galėtų nurodyti, kurie įrašai juos domina.
Vartotojui įvedinėjant simbolius į SearchInput, galerijos rezultatai automatiškai filtruojami. Tokiu atveju galerijoje yra sukonfigūruota rodyti įrašus, kuriuose kliento vardas ir pavardė (ne bendrovės pavadinimas) prasideda simbolių seka elemente SearchInput. Jei ieškos lauke vartotojas įveda co, galerijoje rodomi šie rezultatai:
Jei norite filtruoti pagal Name stulpelį, nustatykite Itemsgalerijos valdiklio ypatybę pagal vieną iš šių formulių:
| Formulė | Aprašą | Rezultatas |
|---|---|---|
| Filter(Klientai, StartsWith(vardas, SearchInput.Text) ) | Filtruoja Customers įrašų duomenų šaltinį, kuriuose rodoma ieškos eilutė prasideda Name stulpeliu. Teste svarbus raidžių dydis. Jei vartotojas parašo co ieškos lauke, galerijoje rodomi Colleen Jonesir Cole Miller. Galerijoje nerodoma Mike Collins, nes Name įrašo stulpelio pavadinimas neprasideda ieškos eilute. |
|
| Filter(Customers, SearchInput.Text in Name) | Filtruoja Customers įrašų duomenų šaltinį, kuriuose rodoma ieškos eilutė prasidedanti bet kur Name stulpelyje Teste svarbus raidžių dydis. Jei vartotojas įrašo co ieškos lauke, galerijoje rodoma Colleen Jones,Cole Miller ir Mike Collins, nes ieškos eilutė rodoma kažkur visų šių įrašų stulpelyje Vardas. |
|
| Search(Klientai, SearchInput.Text, name) | Panašiai kaip naudojant operatorių in , Search funkcija ieško atitikmens bet kurioje kiekvieno įrašo stulpelio Pavadinimas vietoje. Stulpelio pavadinimas turi būti įdėtas į dvigubas kabutes. |
|
Galite išplėsti savo iešką, kad įtrauktumėte Įmonės ir Pavadinimo stulpelius:
| Formulė | Aprašą | Rezultatas |
|---|---|---|
| Filter(Customers, StartsWith(name, SearchInput.Text) || StartsWith(Įmonė, SearchInput.Text) ) | Filtruoja duomenų šaltinį Klientai, ieškodamas įrašų, kurių stulpelis Vardas arba stulpelis Įmonė prasideda ieškos eilute (pvz., co). ||operatorvertė yra true, jei StartsWith funkcijos vertė yra true. |
|
| Filter(Customers, SearchInput.Text in Name || SearchInput. Tekstas įmonėje) | Filtruoja Customersįrašų duomenų šaltinį, kurių Namestulpelyje arba Company stulpelyje bet kur yra ieškos eilutė (pvz., co). |
|
| Search(Customers, SearchInput.Text, Name, Company) | Panašiai kaip naudojant operatorių in, Search funkcija ieško įrašų, kuriuose stulpelyje Pavadinimas arba Stulpelyje Įmonė yra ieškos eilutė (pvz., co) bet kurioje jos vietoje, duomenų šaltinyje Klientai. Šią Search funkciją lengviau skaityti ir rašyti, nei Filter jei operatorių norite nurodyti kelis stulpelius ir kelis. |
|