Bendrinti naudojant


Funkcijos Filtruoti, Ieškoti ir Peržvalga

Taikoma: Drobės programos Darbalaukio srautai Modeliu pagrįstos programos Power Platform CLI

Randa vieną arba daugiau lentelėsįrašų.

Peržiūrėkite šį vaizdo įrašą ir sužinokite, kaip naudoti filtro, ** paieškos ir peržvalgos funkcijas:

Pastaba.

PAC CLI pac power-fx komandos nepalaiko paieškos funkcijos.

Aprašą

Funkcija Filter randa formulę tenkinančius lentelės įrašus. Naudokite filtrą , kad rastumėte įrašų rinkinį, kuris atitinka vieną ar daugiau kriterijų, ir atmestumėte tuos įrašus, kurie neatitinka filtro.

Funkcija LookUp randa pirmąjį formulę tenkinantį lentelės įrašą. Naudokite LookUp, jei norite rasti vieną įrašą, atitinkantį vieną arba 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 lentelės, kurios viename iš stulpelių yra eilutė, įrašus. 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, funkcija Search ieškodama atitikmenų naudoja vieną eilutę, o ne formulę.

Filter ir Search pateikia lentelę, kurioje yra tie patys stulpeliai, kaip ir pradinėje lentelėje, ir kriterijus atitinkantys įrašai. LookUp pateikia tik pirmąjį rastą įrašą, pritaikiusi formulę, kuri įrašą sumažina iki vienos reikšmės. Jei įrašų nerandama, Filter ir Search pateikia tuščią lentelę, o LookUp pateikia tuščią reikšmę.

Lentelėsturi vertę "Power Apps" kaip ir eilutė arba skaičius. Jie gali būti perduodami ir grąžinami iš funkcijų. Filter, Search ir LookUp lentelės nemodifikuoja. 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. Filtravimo ir rikiavimo funkcijos veiks mažesniame įrašų rinkinyje. 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(Table*, Formula1 [, *Formula2*, ... ] )

  • Table – būtina. Lentelė, kurioje ieškoma.
  • Formula(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*, ... ] )

  • Table – būtina. Lentelė, kurioje ieškoma.
  • SearchString – būtina. Eilutė, kurios reikia ieškoti. Jei eilutė tuščia, pateikiami visi įrašai.
  • Column(s) – 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.

Iki Power Apps 3.24042 versijos paieškos funkcijos stulpelių pavadinimai buvo nurodyti teksto eilute, naudojant dvigubas kabutes, o jei jie buvo prijungti prie duomenų šaltinis jie taip pat turėjo 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". Afer šioje versijoje visos programos buvo automatiškai atnaujintos į naują sintaksę, aprašytą šiame straipsnyje.

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

  • Table – būtina. Lentelė, kurioje ieškoma. Vartotojo sąsajoje sintaksė rodoma kaip šaltinis virš funkcijos laukelio.
  • Formula – 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 – nebūtina. Š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:

Ledai duomenų šaltinis.

Formulė Aprašą Rezultatas
Filter( Ledai, OnOrder > 0 ) Pateikiami įrašai, kurių OnOrder reikšmė yra didesnė nei nulis. Filtruoti pagal užsakymą.
Filter( Ledai, Quantity + OnOrder > 225 ) Pateikia įrašus, kurių stulpelių Quantity ir OnOrder stulpelių suma yra didesnė nei 225. Filtruokite kiekį ir užsakymą.
Filter( Ledai, "šokoladiniai" in Lower( Flavor ) ) Pateikia įrašus, kurių ypatybės Flavor pavadinime rodomas žodis „šokoladiniai“, neatsižvelgiant į didžiąsias arba mažąsias raides. Filtruokite apačioje.
Filtras ("IceCream", kiekis < 10 ir "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ė. Filtruokite pagal kiekį.
Paieška ("IceCream", "choc", skonis) Pateikia įrašus, kurių ypatybės Flavor pavadinime rodoma eilutė „šok“, neatsižvelgiant į didžiąsias arba mažąsias raides. Ieškoti elementų.
Paieška(IceCream, "", Skonis) Kadangi ieškos frazė yra tuščia, pateikiami visi įrašai. Ieškoti visuose elementuose.
LookUp( Ledai, Flavor = "Šokoladiniai", Quantity ) Ieško įrašo, kurio skonis lygus "Šokoladui", kurio yra vienas. Pateikia pirmojo rasto įrašo ypatybę Quantity. 100
LookUp( Ledai, Quantity > 150, Quantity + 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( Ledai, Flavor = "Pistaciniai", 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. blank
LookUp( Ledai, Flavor = "Vaniliniai" ) 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 parodyta, kaip Filtruoti klientų sąrašą pagal pasirinktas Pasirinktinio įvedimo lauko valdiklio reikšmes:

Nuoseklūs veiksmai

  1. Atidarykite tuščią programą.

  2. Įtraukite naują ekraną pasirinkdami Naujo ekrano parinktį.

  3. Skirtuke Įterpimas pasirinkite Galerija, o tada – Vertikali.

  4. Dešiniosios srities skirtuke Ypatybės atidarykite Duomenų šaltinį ir tada pasirinkite Paskyros.

  5. (Pasirinktinis) Išdėstymų sąraše pažymėkite skirtingas parinktis.

  6. Skirtuke Įterpimas pasirinkite Įvestis, o tada – Pasirinktinio įvedimo laukas. Pakartokite šį veiksmą, kad įtrauktumėte dar pasirinktinio įvedimo lauko valdiklius.

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

    Pasirinktinio įvedimo lauko reikšmių nustatymas.

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

    Sąskaitos duomenų šaltinis.

Ieškoti vartotojo patirties

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:

Ieškokite klientų.

Norėdami sukurti šį duomenų šaltinį kaip rinkinį, sukurkite Buttonvaldiklį ir nustatykite jo OnSelectypatybę pagal šią formulę:

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

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.

Ieškokite naudodami paieškos įvestį.

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:

Paieška prasideda nuo.

Jei norite filtruoti pagal Name stulpelį, nustatykite Itemsgalerijos valdiklio ypatybę pagal vieną iš šių formulių:

Formulė Aprašas Rezultatas
Filter( Customers, StartsWith( Name, 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. Filtruokite pradėdami nuo.
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. Filtruokite naudodami paieškos įvestį.
Search(Klientai, SearchInput.Text, Vardas) Panašiai kaip ir naudojant in operatorių, funkcija Search ieško atitikmens bet kur Name kiekvieno įrašo stulpelyje. Stulpelio pavadinimas turi būti įdėtas į dvigubas kabutes. Ieškoti klientų.

Galite išplėsti savo iešką, kad įtrauktumėte Įmonės ir Pavadinimo stulpelius:

Formulė Aprašymas Rezultatas
Filter(Customers, StartsWith(Name, SearchInput.Text) || StartsWith(Company, 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. Filtruokite klientus nuo pradžių.
Filter(Customers, SearchInput.Text in Name || SearchInput. Text in Company) Filtruoja Customersįrašų duomenų šaltinį, kurių Namestulpelyje arba Company stulpelyje bet kur yra ieškos eilutė (pvz., co). Filtruokite klientų paieškos įvestį.
Search(klientai, SearchInput.Text, pavadinimas, įmonė) Panašiai kaip ir naudojant in operatorių, Search funkcija ieško Customers įrašų duomenų šaltinio, kuriuose yra arba Name stulpelis, arba Company stulpelyje bet kur yra ieškos eilutė (pavyzdžiui, co). Search funkciją lengviau perskaityti ir rašyti nei Filter, jei norite nurodyti kelis stulpelius ir kelis inoperatorius.  Ieškokite klientų naudodami paieškos įvestį.