Jagamisviis:


Sort ja SortByColumns funktsioonid

Kehtib järgmise kohta: Lõuendirakendused Copilot Studio töölauavood Mudelipõhised rakendused Power Platform CLI Dataverse funktsioonid Power Pages

Sordib tabeli.

Märkus.

PAC CLI pac power-fx käsud ei toeta SortByColumns funktsiooni.

Kirjeldus

Funktsioon Sort sordib tabeli valemi põhjal.

Valemit hinnatakse iga tabeli kirje jaoks ja tulemusi kasutatakse tabeli sortimiseks. Valem peab andma arvu, stringi või loogikaväärtust. Selle tulemuseks ei saa olla tabel ega kirjet.

Praegu töödeldavad kirje väljad on valemis saadaval. Kasutage tehtemärki ThisRecord või lihtsalt viidake väljadele nime järgi, nagu iga muu väärtuse korral. Tehtemärki As saab kasutada ka töödeldava kirje nimetamiseks, mis aitab teil valemit paremini mõista ja muuta pesastatud kirjed juurdepääsetavaks. Lisateabe saamiseks vaadake alltoodud näiteid ja jaotist kirje ulatusega töötamine.

Esimesena ühe veeru ja seejärel teise järgi sortimiseks manustage Sort valem teise veergu. Näiteks saate seda valemit kasutada tabeli Kontaktid sortimiseks esmalt veeru Perekonnanimi ja seejärel veeru Eesnimi järgi: Sort( Sort( Kontaktid, Perekonnanimi ), Eesnimi )

Funktsiooni SortByColumns saab kasutada ka tabeli sortimiseks ühe või mitme veeru alusel.

Parameetriloendis SortByColumns on ära toodud sorditavate veergude nimed ja sortimissuund veeru kohta. Sortimine toimub parameetrite järjekorras (kõigepealt sorditakse esimese veeru järgi, seejärel teise jne). Veergude nimed määratakse stringina, mis nõuab kahekordseid jutumärke, kui need otse parameetrite loendisse kaasatakse. Näiteks SortByColumns( CustomerTable, "LastName" ).

Saate kombineerida SortByColumnsripploendi või loendiboksi juhtelemendiga, et kasutajad saaksid valida, millise veeru alusel sortida.

Lisaks tõusvas või laskuvas järjestuses SortByColumns sortimisele saab sortida ka ühe veeru väärtustetabeli alusel. Näiteks saate kirjet sortida nädalapäeva nime põhjal, sisestades sortimisjärjestuseks [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ]. Kõik kirjed, mis sisaldavad väärtust Monday tulevad esimesena, seejärel järgneb väärtus Tuesday jne. Leitud kirjed, mida sortimistabelis ei kuvata, pannakse loendi lõppu.

Tabelid on väärtus sees Power Apps, täpselt nagu string või arv. Neid saab edastada ja tagastada funktsioonidest. Sort ja SortByColumn ei muuda tabelit; selle asemel võtavad nad argumendina tabeli ja tagastavad uue sorditud tabeli. Lisateavet leiate teemast tabelitega töötamine.

Delegeerimine

Võimaluse korral delegeerib Power Apps filtrimis- ja sortimistoimingud andmeallikale ning sirvib tulemeid nõudmisel. Nt kui käivitate rakenduse, mis kuvab andmetega täidetud Galerii juhtelemendi, tuuakse algselt seadmesse ainult esimene kirjete kogum. Kui kasutaja edasi kerib, laaditakse andmeallikast täiendavad andmed alla. Tulemuseks on rakenduse kiirem käivitamine ja juurdepääs ülisuurtele andmekomplektidele.

Kuid delegeerimine ei pruugi alati võimalik olla. See, milliseid funktsioone ja tehtemärke andmeallikad delegeerimisega toetavad, on eri andmeallikatel erinev. Kui valemi täielik delegeerimine pole võimalik, tähistab koostav keskkond osa, mida ei saa delegeerida, hoiatusega. Kui võimalik, mõelge valemi muutmisele, et vältida mittedelegeeritavaid funktsioone ja tehtemärke. Delegeerimisloendi üksikasjad delegeeritavate andmeallikate ja toimingutega.

Kui delegeerimine pole võimalik, tõmbab Power Apps kohalikuks töötamiseks alla ainult väikese kirjete kogumi. Filtri- ja sortimisfunktsioonid töötavad vähendatud kirjetekogumiga. Galeriis saadaolev ei pruugi olla täielik lugu ja see võib olla kasutajate jaoks segadusttekitav.

Lisateabe saamiseks vt delegeerimise ülevaadet.

Süntaks

Sort( Tabel, Valem [, Sortimisjärjestus ] )

  • Tabel - nõutav. Tabel, mida soovite sortida.
  • Valem - nõutav. Seda valemit hinnatakse iga tabeli kirje jaoks ja tulemusi kasutatakse tabeli sortimiseks. Tabelis võite viidata veergudele.
  • SortOrder - valikuline. Määrake väärtus SortOrder, et sortida tabel kahanevas järjestuses. SortOrder.Ascending on vaikeväärtus.

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

  • Tabel - nõutav. Tabel, mida soovite sortida.

  • ColumnNames - nõutav. Veergude nimed, mida soovite sortida, nagu stringid.

  • SortOrders - valikuline. SortOrder.Ascending või SortOrder.Descending. SortOrder.Ascending on vaikimisi. Kui kaasatud on miru väärtust ColumnNames, peavad kõik peale viimase veeru sisaldama väärtust SortOrder.

    Märkus.

    SharePointi ja Exceli andmeallikate puhul, mis sisaldavad tühikutega veerupäiseid, määrake iga ruum kui "_x0020_". Nt määrake "Column Name" kui "Column_x0020_Name".

SortByColumns( Table, ColumnName, SortOrderTable )

  • Tabel - nõutav. Tabel, mida soovite sortida.

  • ColumnName – nõutav. Veeru nimi, mida soovid sortida, nagu stringid.

  • SortOrderTable - nõutav. Ühe veeru väärtuste tabel, mille järgi sortida.

    Märkus.

    SharePointi ja Exceli andmeallikate puhul, mis sisaldavad tühikutega veerupäiseid, määrake iga ruum kui "_x0020_". Nt määrake "Column Name" kui "Column_x0020_Name".

Näited

Järgmiste näidete puhul kasutame väärtuse Jäätisandmeallikat, mis sisaldab andmeid selles tabelis.

IceCream näide.

Valem Kirjeldus Tulemus
Sort( IceCream, Flavor )

SortByColumns( IceCream, "Flavor" )
Sordib väärtuse IceCream selle veeru Flavor järgi. Veerg Flavor sisaldab stringe, seega sorditakse tabel tähestikuliselt. Vaikimisi on sortimisjärjekord kasvav. Tähestiku järgi sorditud.
Sort( IceCream, Quantity )

SortByColumns( IceCream, "Quantity" )
Sordib väärtuse IceCream selle veeru Quantity järgi. Veerg Quantity sisaldab numbreid, seega sorditakse tabel numbriliselt. Vaikimisi on sortimisjärjekord kasvav. Sorditud arvväärtuse järgi.
Sort( IceCream, Quantity, SortOrder.Descending )

SortByColumns( IceCream, "Quantity", SortOrder.Descending )
Sordib väärtuse IceCream selle veeru Quantity järgi. Veerg Quantity sisaldab numbreid, seega sorditakse numbriliselt. Sortimisjärjekord on määratud kahanevaks. Sorditud arvväärtuse järgi kahanevalt.
Sort( IceCream, Quantity + OnOrder ) Sordib väärtuse IceCream selle veergude Quantity ja OnOrder summana iga kirje jaoks eraldi. Summa on number, seega on tabel sorditud numbriliselt. Vaikimisi on sortimisjärjekord kasvav. Kuna sordime valemi järgi, mitte toorveeru väärtuste järgi, ei saa kasutada samaväärset valemit SortByColumns. Sorditud arvväärtuse järgi suurenevalt.
Sort( Sort( IceCream, OnOrder ), Quantity )

SortByColumns( IceCream, "OnOrder", SortOrder.Ascending, "Quantity", SortOrder.Ascending )
Sordib kõigepealt väärtuse IceCream selle veeru OnOrder järgi ja seejärel veeru Quantity järgi. Pange tähele, et "Pistachio" tõusis väärtuse OnOrder põhjal esimesel sortimisel väärtusest "Vanilla" ettepoole, seejärel liikusid need koos väärtuse Quantity põhjal sobivasse kohta. Sorditud pistaatsiaga vanilje kohal.
SortByColumns( IceCream, "Flavor", [ "Pistachio", "Strawberry" ] ) Sordib väärtuse IceCream selle veeru Flavor järgi, mis põhineb ühe veeru tabelil, kus on "Pistachio" ja "Strawberry". Kirjed, mille väärtus Flavor on "Pistachio", kuvatakse kõigepealt tulemustes. Sellele järgnevad kirjed, kus on "Strawberry". Veeru Flavor väärtused, mis pole vastendatud, näiteks "Vanilla", kuvatakse pärast vastendatud üksuseid. Sorditud pistaatsiaga maasika kohal.

Samm-sammult

Nende näidete käivitamiseks looge andmeallikas IceCream kui kollektsioon.

  1. Lisage nupp ja määrake selle atribuudi OnSelect väärtus järgmisele valemile:
    ClearCollect( IceCream,Maitse { : "Šokolaad", Kogus: 100, OnOrder: 150,Maitse } { : "Vanill", Kogus: 200, OnOrder: 20,Maitse } { : "Maasikas", Kogus: 300, OnOrder: 0,Maitse } { : "Mint Chocolate", Kogus: 60, OnOrder: 100,Maitse } { : "Pistaatsia", Kogus: 200, OnOrder: 10) }
  2. Kasutage rakenduse eelvaadet, valige nupp ja vajutage klahvi F5, et naasta vaike-tööruumi.
  3. Valige menüüst Fail suvand Kollektsioonid, et kuvada äsja loodud kollektsioon. Seejärel vajutage paoklahvi (ESC), et naasta vaike-tööruumi.

Sort

  1. Lisage veel üks nupp ja määrake selle atribuudi OnSelect väärtus järgmisele valemile:
    ClearCollect( SortByFlavor, Sort( IceCream, Flavor )

    Eelmine valem loob teise kollektsiooni nimega SortByFlavor, mis sisaldab samu andmeid mis väli Jäätis. Kuid uus kollektsioon sisaldab andmeid, mis on sorditud tähestikuliselt veeru Flavor järgi kasvavas järjestuses.

  2. Vajutage klahvi F5, valige uus nupp ja seejärel vajutage paoklahvi (ESC).

  3. Valige menüüst Fail suvand Kollektsioonid, et kuvada mõlemad kollektsioonid. Seejärel vajutage paoklahvi (ESC), et naasta vaike-tööruumi.

  4. Korrake kolme viimast juhist, kuid muutke loodava kogumi nime ja asendage Sort valem mõne muu valemiga, mis Sorterineb selles jaotises kasutatud näidete tabelist.

SortByColumns

  1. Lisage veel üks nupp ja määrake selle atribuudi OnSelect väärtus järgmisele valemile:
    ClearCollect( SortByQuantity, SortByColumns( IceCream, "Quantity", SortOrder.Ascending, "Flavor", SortOrder.Descending ) )

    Eelmine valem loob kolmanda kollektsiooni nimega SortByQuantity, mis sisaldab samu andmeid mis väli Jäätis. Kuid uus kollektsioon sisaldab numbriliselt sorditud andmeid, mille veerg Quantity on kasvavas järjekorras, ja siis veeru Flavor järgi, mis on kahanevas järjekorras.

  2. Vajutage klahvi F5, valige uus nupp ja seejärel vajutage paoklahvi (ESC).

  3. Valige menüüst Fail suvand Kollektsioonid, et kuvada kõik kolm kollektsiooni. Seejärel vajutage paoklahvi (ESC), et naasta vaike-tööruumi.

  4. Korrake kolme viimast juhist, kuid muutke loodava kogumi nime ja asendage SortByColumns valem mõne muu valemiga, mis SortByColumnserineb selles jaotises kasutatud näidete tabelist.