Funkcijas Kārtot un Kārtot pēc kolonnām

Attiecas uz: Audekla programmām Darbvirsmas plūsmas Modeļa vadītas programmas 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 pakalpojumā Power Apps, tāpat kā virkne vai skaitlis. Tās var nodot funkcijām un atgriezt no tām. Funkcijas Sort un SortByColumn nepārveido tabulu; tā vietā tās izmanto 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

Sort( Tabula, Formula [, SortOrder ] )

  • Tabula — Obligāti. Kārtojamā tabula.
  • Formula — Obligāti. Šī 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 — Neobligāti. Norādiet SortOrder.Descending, lai kārtotu tabulu dilstošā secībā. SortOrder.Ascending ir noklusējuma vērtība.

SortByColumns( Table, ColumnName1 [, SortOrder1, ColumnName2, SortOrder2, ... ] )

  • Tabula — Obligāti. Kārtojamā tabula.

  • ColumnName(s) — Obligāti. Kārtojamie kolonnu nosaukumi kā virknes.

  • SortOrder(s) — Neobligāti. SortOrder.Ascending vai SortOrder.Descending. SortOrder.Ascending ir noklusējuma vērtība. 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"Column_x0020_Name".

SortByColumns( Table, ColumnName, SortOrderTable )

  • Tabula — Obligāti. Kārtojamā tabula.

  • ColumnName — Obligāti. Kārtojamais kolonnas nosaukums kā virknes.

  • SortOrderTable — Obligāti. 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"Column_x0020_Name".

Piemēri

Šiem piemēriem izmantosim IceCreamdatu avotu, kas satur datus šajā tabulā:

Piemērs ar saldējumu.

Formula Apraksts Rezultāts
Sort( IceCream, Garša )

SortByColumns( IceCream, "Garša" )
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. Alfabētiski sakārtots.
Sort( IceCream, Quantity )

SortByColumns( IceCream, "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ārtots skaitliski.
Sort( IceCream, Quantity, SortOrder.Descending )

SortByColumns( IceCream, "Daudzums", 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ārtots skaitliski un dilstošā secībā.
Sort( 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. Kārtots skaitliski un augošā secībā.
Sort( Sort( IceCream, OnOrder ), Quantity )

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. Kārtots, virs vaniļas ir pistāciju.
SortByColumns( IceCream, "Garša", ["Pistāciju","Zemeņu"] ) 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. Kārtots, virs zemeņu ir pistāciju.

Pakāpeniskas darbības

Lai izpildītu šos piemērus paši izveidojiet datu avotu IceCreamkolekciju:

  1. Pievienojiet pogu un iestatiet tās rekvizītu OnSelect uz tālāk norādīto formulu:
    ClearCollect( IceCream, { Garša: "Šokolādes", Daudzums: 100, OnOrder: 150 }, { Garša: "Vaniļas", Daudzums: 200, OnOrder: 20 }, { Garša: "Zemeņu", Daudzums: 300, OnOrder: 0 }, { Garša: "Piparmētru šokolādes", Daudzums: 60, OnOrder: 100 }, { Garša: "Pistāciju", Daudzums: 200, OnOrder: 10 } )
  2. Priekšskatiet programmu, atlasiet pogu un pēc tam nospiediet Esc, lai atgrieztos noklusējuma darbvietā.
  3. 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

  1. Pievienojiet citu pogu un iestatiet tās rekvizītu OnSelect uz tālāk norādīto formulu:
    ClearCollect( SortByFlavor, Sort( IceCream, Garša ) )

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

  2. Nospiediet taustiņu F5, atlasiet jaunu pogu un pēc tam nospiediet taustiņu Esc.

  3. Izvēlnē Fails atlasiet Kolekcijas, lai rādītu abas kolekcijas, un pēc tam nospiediet Esc, lai atgrieztos noklusējuma darbvietā.

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

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

  2. Nospiediet taustiņu F5, atlasiet jaunu pogu un pēc tam nospiediet taustiņu Esc.

  3. Izvēlnē Fails atlasiet Kolekcijas, lai rādītu visas trīs kolekcijas, un pēc tam nospiediet Esc, lai atgrieztos noklusējuma darbvietā.

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