Filtrēšanas, meklēšanas un uzmeklēšanas funkcijas
Attiecas uz: Audekla programmām Darbvirsmas plūsmas Modeļa vadītas programmas Power Pages Power Platform CLI
Atrod vienu vai vairākus ierakstus tabulā.
Noskatieties šo videoklipu, lai uzzinātu, kā izmantot filtrēšanas, ** meklēšanas un uzmeklēšanas funkcijas:
Piezīmes
PAC CLI pac power-fx komandas neatbalsta meklēšanas funkciju.
Apraksts
Funkcija Filter atrod ierakstus tabulā, kura atbilst formulai. Izmantojiet filtru , lai atrastu ierakstu kopu, kas atbilst vienam vai vairākiem kritērijiem, un atmetiet tos ierakstus, kas to nedara.
Funkcija LookUp atrod pirmo ierakstu tabulā, kas atbilst formulai. Izmantojiet funkciju LookUp, lai atrastu vienu ierakstu, kas atbilst vienam vai vairākiem kritērijiem.
Abos gadījumos formula tiek novērtēta katram tabulas ierakstam. Rezultātā tiek iekļauti ieraksti, kas rada vērtības true. Līdztekus normāliem formula operatoriem, varat izmantot operatorus in un exactin attiecībā uz apakšvirkņu atbilstībām.
Formulā ir pieejami pašlaik apstrādātie ieraksta lauki. Izmantojiet operatoru ThisRecord vai vienkārši norādiet uz laukiem pēc nosaukuma, kā to darītu ar jebkuru citu vērtību. Operatoru As var izmantot arī, lai apstrādājamajam ierakstam piešķirtu nosaukumu, kas var palīdzēt padarīt formulu saprotamāku, bet ligzdotos ierakstus — pieejamus. Papildinformāciju skatiet tālāk sniegtajos piemēros un sadaļā Darbs ar ierakstu tvērumu.
Funkcija Search meklē ierakstus tabulā, kas satur virkni vienā no to kolonnām. Virkne var rasties jebkurā kolonnas vietā; piemēram, meklējot "rob" vai "bert", tiktu atrasta atbilstība kolonnā, kurā ir "Roberts". Meklēšana ir reģistrnejutīga. Atšķirībā no funkcijām Filter un LookUp, funkcija Search izmanto vienu virkni atbilstībai, nevis formulu.
Filtrēšana un meklēšana atgriež tabulu, kurā ir tādas pašas kolonnas kā sākotnējā tabulā un kritērijiem atbilstošie ieraksti. Uzmeklēšana atgriež tikai pirmo atrasto ierakstu pēc formulas lietošanas, lai samazinātu ierakstu līdz vienai vērtībai. Ja netiek atrasti ieraksti, funkcija Filter un Search atgriež tukšu tabulu un funkcija LookUp atgriež tukšu vērtību.
Tabulas ir vērtība Power Apps, tāpat kā virkne vai skaitlis. Tās var nodot funkcijām un atgriezt no tām. Filtrs, meklēšana un uzmeklēšana nemodificē tabulu. Tā vietās tās pieņem tabulu par argumentu un no tās atgriež tabulu, ierakstu vai vienu vērtību. Papildinformāciju skatiet tēmā Darbs ar tabulām
Deleģēšana
Ja tas būs iespējams, risinājums Power Apps deleģēs filtru un kārtos darbības pēc datu avota un lapas, izmantojot rezultātus pēc pieprasījuma. Piemēram, ja startēsit programmu, kurā būs redzama vadīkla Galerija, kas ir aizpildīta ar datiem, ierīcei sākotnēji tiks nodrošināta tikai pirmā ierakstu kopa. Lai skatītu papildu datu avota datus, lietotājam ir jāritina. Tādējādi programma tiek ātrāk startēta, kā arī var ātrāk piekļūt apjomīgām datu kopām.
Tomēr deleģēšana ne vienmēr var būt iespējama. Datu avoti ir atkarīgi no tā, kādas funkcijas un operatori tiek atbalstīti deleģēšanas rezultātā. Ja pilnīga formulas deleģēšana nav iespējama, autorēšanas vidē tiks atzīmēta tā daļa, kuru nevar deleģēt. Ja iespējams, ieteicams mainīt formulu tā, lai izvairītos no funkcijām un operatoriem, ko nevar deleģēt. Deleģēšanas sarakstā ir norādīti deleģējamie datu avoti un darbības.
Ja deleģēšana nav iespējama, risinājums Power Apps raks tikai nelielu ierakstu kopu, ko varēs izmantot lokālam darbam. Filtra un kārtošanas funkcijas darbosies, izmantojot samazinātu ierakstu kopu. Galerijā var nebūt pieejams visa ierakstu kopa, kas lietotājiem varētu šķist mulsinoši.
Papildinformāciju skatiet sadaļā Pārskats par deleģēšanu.
Sintakse
Filtrs(tabula*, formula1 [, *formula2*, ... ] )
- Tabula - Obligāts. Meklējamā tabula.
- Formulas - Obligāts. Formula, pēc kuras tiek vērtēts katrs tabulas ieraksts. Funkcija atgriež visus ierakstus ar rezultātu true. Tabulā var norādīt atsauces uz kolonnām. Ja nodrošināt vairāk nekā vienu formulu, visu formulu rezultāti tiek apvienoti ar funkciju And.
Search(Tabula*, SearchString,Column1 [, *Column2*, ... ] )
- Tabula - Obligāts. Meklējamā tabula.
- SearchString - Obligāts. Virkne, kuru meklēt. Ja ir tukša vērtība vai tukša virkne, tiek atgriezti visi ieraksti.
- Kolonnas - Obligāts. Tabulā esošie nosaukumi, kurus meklēt. Ja jebkuras no šo kolonnu datiem tiek atrasta SearchString kā daļēja atbilstība, tiek atgriezts pilns ieraksts.
Piezīmes
Pirms Power Apps versijas 3.24042 meklēšanas funkcijas kolonnu nosaukumi tika norādīti ar teksta virkni, izmantojot dubultās pēdiņas, un, ja tie ir savienoti ar datu avots, tiem bija jābūt arī loģiskiem nosaukumiem. Piemēram, parādāmā vārda vietā tika izmantots loģiskais nosaukums "cr43e_name" ar dubultām pēdiņām Vārds bez pēdiņām. Datu SharePoint avotiem Excel un Excel, kuros ir kolonnu nosaukumi ar atstarpēm, katra atstarpe tika norādīta ar "_x0020_", piemēram "Kolonnas nosaukums"kā" Column_x0020_Name". Pēc šīs versijas visas programmas tika automātiski atjauninātas uz jauno sintaksi, kas aprakstīta šajā rakstā.
Uzmeklēšana(tabula*, formula [, samazināšanasformula] )
- Tabula - Obligāts. Meklējamā tabula. Lietotāja interfeisā sintaksi rāda kā avotu virs funkciju lodziņa.
- Formula - Nepieciešams. Formula, pēc kuras tiek vērtēts katrs tabulas ieraksts. Funkcija atgriež pirmo ierakstu ar rezultātu true. Tabulā var norādīt atsauces uz kolonnām. Lietotāja interfeisā sintaksi rāda kā nosacījumu virs funkciju lodziņa.
- ReductionFormula - pēc izvēles. Šī formula tiek izvērtēta ar atrasto ierakstu, un pēc tam samazina ierakstu līdz vienai vērtībai. Tabulā var norādīt atsauces uz kolonnām. Ja nelietojat šo parametru, funkcija no tabulas atgriež pilnu ierakstu. Lietotāja interfeisā sintaksi rāda kā rezultātu virs funkciju lodziņa.
Piemēri
Piemērā lietots IceCreamdatu avots:
Formula | Apraksts | Rezultāts |
---|---|---|
Filtrs(IceCream, OnOrder > 0) | Atgriež ierakstus, kuros OnOrder ir lielāks par nulli. | |
Filtrs(saldējums, daudzums + OnOrder > 225) | Atgriež ierakstos, kuros kolonnu Daudzums un OnOrder summa ir lielāka par 225. | |
Filtrs(IceCream, "šokolāde" in Lower(Flavor )) | Atgriež ierakstus, kuros vārds "šokolāde" tiek parādīta nosaukumā Garša, neatkarīgi no lielajiem vai mazajiem burtiem. | |
Filtrs(IceCream, daudzums < 10 & OnOrder < 20) | Atgriež ierakstus, kuros Daudzums ir mazāks par 10 un OnOrder ir mazāks par 20. Šiem kritērijiem neatbilst neviens ieraksts, tāpēc tiek atgriezta arī tukša tabula. | |
Search(IceCream, "choc", Flavor) | Atgriež ierakstus, kuros virkne "choc" tiek parādīta nosaukumā Garša, neatkarīgi no lielajiem vai mazajiem burtiem. | |
Meklēt(IceCream, "", Aromāts) | Tā kā meklējamais termins ir tukšs, tiek atgriezti visi ieraksti. | |
LookUp(saldējums, aromāts = "šokolāde", daudzums) | Meklē ierakstu, kura aromāts ir vienāds ar "Šokolāde", no kura ir viens. Pirmajam atrastajam ierakstam tiek atgriezts šī ieraksta Daudzums. | 100 |
LookUp(saldējums, daudzums > 150, daudzums + onorder) | Meklē ierakstu, kura Daudzums ir lielāks par 150, kādi ir vairāki. Pirmajam atrastajam ierakstam, kas ir "Vaniļas" Garša, atgriež Daudzuma un OnOrder kolonnu summu. | 250 |
LookUp(IceCream, Flavor = "Pistācijas", OnOrder) | Meklē ierakstu, kura Garša ir vienāda ar "Pistāciju", kādu nav. Tā kā neviens nav atrasts, Uzmeklēšana atgriež tukšu. | Tukša |
LookUp(Saldējums, aromāts = "Vaniļa") | Meklē ierakstu, kura aromāts ir vienāds ar "Vaniļa", no kura ir viens. Tā kā netika nodrošināta samazināšanas formula, tika atgriezts viss ieraksts. | { Garša: "Vaniļas", Daudzums: 200, OnOrder: 75 } |
Filtrēšana, izmantojot izvēļu kolonnas
Šajā piemērā entītija Uzņēmums tiek izmantota programmā Microsoft Dataverse kā datu avots. Šajā piemērā parādīts, kā filtrēt uzņēmumu sarakstu, pamatojoties uz atlasītajām kombinētā lodziņa vadīklas vērtībām:
Pakāpeniskas darbības
Atveriet tukšu programmu.
Pievienojiet jaunu ekrānu, atlasot opciju Jauns ekrāns.
Cilnē Ievietot atlasiet Galerija un pēc tam atlasiet Vertikāli.
Labās puses rūts cilnē Rekvizīti atveriet Datu avots un atlasiet Uzņēmumi.
(Nav obligāti) Izkārtojuma sarakstā atlasiet citas opcijas.
Cilnē Ievietot atlasiet Ievade un pēc tam atlasiet Kombinētais lodziņš. Atkārtojiet šo darbību, lai pievienotu vēl divas kombinētā lodziņa vadīklas.
Labās puses rūts cilnē Rekvizīti atveriet Datu avots un atlasiet Uzņēmumi. Atlasiet opciju Rediģēt pie Lauki un pēc tam atlasiet vērtības Primārais teksts un SearchField. Primārajam tekstam ir jābūt izvēļu kolonnai, ko vēlaties pievienot kombinētajam lodziņam. Atkārtojiet šo darbību, lai pievienotu vēl divas kombinētā lodziņa vadīklas.
Tagad atlasiet vadīklu Galerija un iestatiet rekvizītam Elementi šādu formulu:
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'))
Meklēšanas lietotāja pieredze
Piemērā lietots IceCreamdatu avots:
Daudzās programmās varat meklēšanas lodziņā ievadīt vienu vai vairākas rakstzīmes, lai lielā datu kopā filtrētu ierakstu sarakstu. Rakstīšanas laikā saraksts rāda tikai tos ierakstus, kuri atbilst meklēšanas kritērijiem.
Pārējā šī raksta piemēros ir parādīti meklēšanas rezultāti sarakstā ar nosaukumu Klienti, kurā ir šie dati:
Lai izveidotu šo datu avotu kā kolekciju, izveidojiet vadīklu Button un iestatiet tās rekvizītu OnSelect uz šo formulu:
ClearCollect(Klienti, Tabula({ Nosaukums: "Fred Garcia", Uzņēmums: "Northwind Traders" }, { Nosaukums: "Cole Miller", Uzņēmums: "Contoso" }, { Nosaukums: "Glenda Johnson", Uzņēmums: "Contoso" }, { Nosaukums: "Mike Collins", Uzņēmums: "Adventure Works" }, { Nosaukums: "Colleen Jones", Uzņēmums: "Adventure Works" }) )
Kā tas ir šajā piemērā, jūs varat rādīt ierakstu sarakstu Galerijas vadīklā ekrāna lejasdaļā. Netālu no ekrāna augšpuses varat pievienot Teksta ievades vadīklu ar nosaukumu SearchInput, lai lietotāji varētu konkretizēt sev interesējošos ierakstus.
Lietotājam rakstot rakstzīmes vadīklā SearchInput, rezultāti galerijā tiek automātiski filtrēti. Šajā gadījumā galerija tiek konfigurēta, lai rādītu ierakstus, kuriem klienta vārds (nevis uzņēmuma nosaukums) sākas ar rakstzīmju secību SearchInput. Ja lietotājs meklēšanas lodziņā ievada co, galerija rāda šādus rezultātus:
Lai filtrētu, pamatojoties uz kolonnu Vārds, iestatiet galerijas vadīklas rekvizītu Elementi uz vienu no šīm formulām:
Formula | Apraksts | Rezultāts |
---|---|---|
Filter(Customers, StartsWith(Name, SearchInput.Text) ) | Filtrē, vai datu avotā Customers nav ierakstu, kuros meklēšanas virkne parādās kolonnas Vārds sākumā. Pārbaude ir reģistrnejutīga. Ja lietotājs meklēšanas lodziņā ieraksta co, galerija rāda Colleen Jones un Cole Miller. Galerija nerāda Mike Collins, jo Vārda kolonna šim ierakstam nesākas ar meklēšanas virkni. | |
Filter(klienti, SearchInput.Text in Name) | Filtrē, vai datu avotā Klienti nav ierakstu, kuros meklēšanas virkne parādās jebkur kolonnā Nosaukums. Pārbaude ir reģistrnejutīga. Ja lietotājs meklēšanas lodziņā ievada co, galerija rāda Colleen Jones, Cole Miller un Mike Collins, jo meklēšanas virkne parādās kādā vietā visu šo ierakstu kolonnā Vārds. | |
Search(klienti, SearchInput.Text, nosaukums) | Līdzīgi kā izmantojot operatoru in, Meklēšanas funkcija meklē atbilstību jebkur katra ieraksta kolonnā Nosaukums. Kolonnas nosaukums ir jāiekļauj pēdiņās. |
Varat izvērst meklēšanu, iekļaujot kolonnu Uzņēmums un kolonnu Nosaukums:
Formula | Apraksts | Rezultāts |
---|---|---|
Filter(Customers, StartsWith(Name, SearchInput.Text) || StartsWith(Uzņēmums, SearchInput.Text) ) | Filtrē datu avotu Klienti, lai atrastu ierakstus, kuros gan kolonna Vārds, gan kolonna Uzņēmums, sākas ar meklēšanas virkni (piemēram, co). || operators ir true, ja jebkura no StartsWith funkcijām ir true. | |
Filter(Klienti, SearchInput.Text in Name || SearchInput. Teksts uzņēmumā) | Filtrē Klienti datu avotu, lai atrastu ierakstus, kuros kolonna Nosaukums vai kolonna Uzņēmums, satur meklēšanas virkni (piemēram, co) jebkur kolonnā. | |
Search(klienti, SearchInput.Text, nosaukums, uzņēmums) | Līdzīgi, kā izmantojot operatoru in, funkcija Search datu avotā Klienti meklē ierakstus kuros kolonna Vārds vai kolonna Uzņēmums satur meklēšanas virkni (piemēram co) jebkur kolonnā. Funkcija Search ir vieglāk lasāma un rakstāma nekā Filter, ja vēlaties konkretizēt vairākas kolonnas un vairākus in operatorus. |