Funkcijas Kārtot un Kārtot pēc kolonnām
Attiecas uz: Audekla programmām Darbvirsmas plūsmas Modeļa vadītas programmas Power Pages Power Platform CLI
Kārto tabulu.
Piezīmes
PAC CLI pac power-fx komandas neatbalsta funkciju SortByColumns .
Apraksts
Funkcija Sort sakārto tabulu, pamatojoties uz formulu.
Formula tiek novērtēta katram tabulas ierakstam, un rezultāti tiek izmantoti tabulas kārtošanai. Formulai ir jāiegūst skaitlis, virkne vai Būla vērtība; rezultāts nevar būt tabula vai ieraksts.
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.
Lai vispirms kārtotu pēc vienas kolonnas un pēc tam pēc otras, ieguliet Kārtošanas formulu citā. Piemēram, varat izmantot šo formulu, lai kārtotu Kontaktpersonu tabulu vispirms pēc kolonnas LastName un pēc tam pēc kolonnas FirstName kolonna: Sort( Sort( Contacts, LastName ), FirstName )
Funkciju SortByColumns var arī izmantot, lai kārtotu tabulu, pamatojoties uz vienu vai vairākām kolonnām.
Funkcijas SortByColumns parametru saraksts nodrošina to kolonnu nosaukumus, pēc kurām kārtot, un katras kolonnas kārtošanas virzienu. Kārtošanu veic parametru secībā (kārtojot pirmo pēc pirmās kolonnas, pēc tam otro un tā tālāk). Kolonnu nosaukumus norāda kā virknes, kurām nepieciešamas pēdiņas, ja tās tieši iekļauj parametru sarakstā. Piemēram, SortByColumns( CustomerTable, "LastName" ).
Varat apvienot funkciju SortByColumns ar vadīklu Drop down vai List box, lai ļautu lietotājiem atlasīt, pēc kuras kolonnas kārtot.
Līdztekus kārtošanai augošā vai dilstošā secībā funkcija SortByColumns var kārtot, pamatojoties uz vienas kolonnas tabulas vērtību. Piemēram, varat kārtot ierakstu, pamatojoties uz nedēļas dienas nosaukumu, kā kārtošanas secību nodrošinot [ "Pirmdiena", "Otrdiena", "Trešdiena", "Ceturtdiena", "Piektdiena", "Sestdiena", "Svētdiena" ]. Visi ieraksti, kuriem ir Pirmdiena, būs pirmie, tiem sekos Otrdiena un tā tālāk. Atrastie ieraksti, kuri neparādās kārtošanas tabulā, tiek novietoti saraksta beigās.
Tabulas ir vērtība Power Apps, tāpat kā virkne vai skaitlis. Tās var nodot funkcijām un atgriezt no tām. Kārtot un Kārtot pēc kolonnas nemodificējiet tabulu; tā vietā viņi ņem tabulu kā argumentu un atgriež jaunu tabulu, kas ir sakārtota. 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
Kārtot( tabula,formula [ , kārtot_secība ])
- Tabula - Obligāts. Kārtojamā tabula.
- Formula - Nepieciešams. Šī formula tiek novērtēta katram tabulas ierakstam, un rezultāti tiek izmantoti tabulas kārtošanai. Tabulā var norādīt atsauces uz kolonnām.
- SortOrder - pēc izvēles. Norādiet SortOrder.Descending, lai kārtotu tabulu dilstošā secībā. SortOrder.Ascending ir noklusējuma vērtība.
SortByColumns( Tabula,Kolonnas _nosaukums1 [, SortOrder1,Kolonnas _nosaukums2,SortOrder2 , ... ] )
Tabula - Obligāts. Kārtojamā tabula.
ColumnNames - Obligāts. Kārtojamie kolonnu nosaukumi kā virknes.
SortOrders - pēc izvēles. SortOrder.Ascending vai SortOrder.Dilstošā secībā. SortOrder.Ascending ir noklusējums. Ja tiek nodrošināti vairāki ColumnNames, visām kolonnām, izņemot pēdējo, ir jāietver SortOrder.
Note
SharePoint un Excel datu avotos, kuros ir kolonnu nosaukumi ar atstarpēm, norādiet katru atstarpi kā "_x0020_". Piemēram, norādiet Kolonnas nosaukumu kā "Column_x0020_Name".
SortByColumns(Tabula,Kolonnas _nosaukums,SortOrderTable )
Tabula - Obligāts. Kārtojamā tabula.
ColumnName- obligāts. Kārtojamais kolonnas nosaukums kā virknes.
SortOrderTable - Obligāts. Viena vērtību kolonna, pēc kuras kārtot.
Note
SharePoint un Excel datu avotos, kuros ir kolonnu nosaukumi ar atstarpēm, norādiet katru atstarpi kā "_x0020_". Piemēram, norādiet Kolonnas nosaukumu kā "Column_x0020_Name".
Piemēri
Šiem piemēriem izmantosim IceCream datu avotu, kas satur datus šajā tabulā:
Formula | Apraksts | Rezultāts |
---|---|---|
Sort( Saldējums, aromāts ) SortByColumns( IceCream, "Flavor" ) |
Sakārto IceCream pēc tās kolonnas Garša. Kolonnā Garša ir virknes, tāpēc tabula tiek kārtota alfabētiskā secībā. Kārtošanas secība pēc noklusējuma ir augoša. | |
Kārtot( Saldējums, daudzums ) SortByColumns( Saldējums, "Daudzums" ) |
Sakārto IceCream pēc tās kolonnas Daudzums. Kolonnā Daudzums ir skaitļi, tāpēc tabula tiek kārtota skaitliskā secībā. Kārtošanas secība pēc noklusējuma ir augoša. | |
Kārtot( IceCream, Quantity, SortOrder.Descending ) SortByColumns( IceCream, "Quantity", SortOrder.Descending ) |
Sakārto IceCream pēc tās kolonnas Daudzums. Kolonnā Daudzums ir skaitļi, tāpēc kārtošana ir skaitliska. Kārtošanas secība ir norādīta kā dilstoša. | |
Kārtot( IceCream, Quantity + OnOrder ) | Sakārto IceCream pēc tās kolonnu Daudzums un OnOrder summas katram ierakstam atsevišķi. Summa ir skaitlis, tāpēc tabula tiek kārtota skaitliski. Kārtošanas secība pēc noklusējuma ir augoša. Tā kā kārtojam pēc formulas un nevis pēc neapstrādātām kolonnu vērtībām, SortByColumns lietošanai nav ekvivalenta. | |
Sort( Sort( IceCream, OnOrder ), Daudzums ) SortByColumns( IceCream, "OnOrder", SortOrder.Ascending, "Quantity", SortOrder.Ascending ) |
Sakārto IceCream vispirms pēc kolonnas OnOrder un pēc tam pēc kolonnas Daudzums. Ņemiet vērā, ka pirmajā kārtošanā "Pistāciju" pacēlās virs "Vaniļas", pamatojoties uz OnOrder un pēc tam tie kopā pārvietojās uz sev atbilstošajām vietām, pamatojoties uz Daudzumu. | |
SortByColumns( Saldējums, "Garša", [ "Pistācijas", "Zemene" ] ) | Sakārto IceCream pēc tā kolonnas Garša, pamatojoties uz vienas kolonnas tabulu, kurā ir "Pistāciju" un "Zemeņu". Ieraksti, kuros ir "Pistāciju" Garša, rezultātā parādīsies pirmie, tiem sekos ieraksti, kuros ir "Zemeņu". Kolonnas Garša vērtībām, kuras neatbilst, piemēram, "Vaniļas", tie parādīsies pēc elementiem, kuri atbilst. |
Pakāpeniskas darbības
Lai izpildītu šos piemērus paši izveidojiet datu avotu IceCream kā kolekciju:
- Pievienojiet pogu un iestatiet tās rekvizītu OnSelect uz tālāk norādīto formulu:
ClearCollect( IceCream,Aromāts { : "Šokolāde", Daudzums: 100, OnOrder: 150,Aromāts } { : "Vaniļa", Daudzums: 200, OnOrder: 20,Garša } { : "Zemene", Daudzums: 300, OnOrder: 0,Garša } { : "Piparmētru šokolāde", Daudzums: 60, OnOrder: 100,Garša } { : "Pistācijas", Daudzums: 200, OnOrder: 10) } - Priekšskatiet programmu, atlasiet pogu un pēc tam nospiediet Esc, lai atgrieztos noklusējuma darbvietā.
- Izvēlnē Fails atlasiet Kolekcijas, lai rādītu tikko izveidoto kolekciju, un pēc tam nospiediet Esc, lai atgrieztos noklusējuma darbvietā.
Kārtot
Pievienojiet citu pogu un iestatiet tās rekvizītu OnSelect uz tālāk norādīto formulu:
ClearCollect( SortByFlavor, Sort( IceCream, Flavor ) )Iepriekšējā formula izveido otru kolekciju ar nosaukumu SortByFlavour, kurā ir tādi paši dati kā IceCream. Taču jaunā kolekcija satur kolonnas Garša alfabētiski kārtotus datus augošā secībā.
Nospiediet taustiņu F5, atlasiet jaunu pogu un pēc tam nospiediet taustiņu Esc.
Izvēlnē Fails atlasiet Kolekcijas, lai rādītu abas kolekcijas, un pēc tam nospiediet Esc, lai atgrieztos noklusējuma darbvietā.
Atkārtojiet pēdējās trīs darbības, bet mainiet nosaukumu kolekcijai, kuru vēlaties izveidot, un aizstājiet Kārtošanas formulu ar citu formulu no šajā sadaļā iepriekš minēto piemēru tabulas, kura izmanto Kārtošanu.
SortByColumns
Pievienojiet citu pogu un iestatiet tās rekvizītu OnSelect uz tālāk norādīto formulu:
ClearCollect( SortByQuantity, SortByColumns( IceCream, "Quantity", SortOrder.Ascending, "Flavor", SortOrder.Descending ) )Iepriekšējā formula izveido trešo kolekciju ar nosaukumu SortByQuantity, kurā ir tādi paši dati kā IceCream. Taču jaunajā kolekcijā ir kolonnas Daudzums skaitliski sakārtoti dati augošā secībā, un pēc tam ir kolonnas Garša sakārtoti dati dilstošā secībā.
Nospiediet taustiņu F5, atlasiet jaunu pogu un pēc tam nospiediet taustiņu Esc.
Izvēlnē Fails atlasiet Kolekcijas, lai rādītu visas trīs kolekcijas, un pēc tam nospiediet Esc, lai atgrieztos noklusējuma darbvietā.
Atkārtojiet pēdējās trīs darbības, bet mainiet nosaukumu kolekcijai, kuru vēlaties izveidot, un aizstājiet SortByColumns formulu ar citu formulu no šajā sadaļā iepriekš minēto piemēru tabulas, kura izmanto SortByColumns.