Funktsioonid Sortimine ja Sortimisveergude sortimine

Kehtib: Lõuendirakendused Töölauavood Mudelipõhised rakendused Power Platform CLI

Sordib tabeli.

Märkus.

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

Kirjeldus

Funktsioon Sort sordib tabeli valemi alusel.

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.

Kui soovite sortida esmalt ühe veeru järgi ja seejärel mõne muu järgi, manustage funktsiooni Sordi valem mõnes muus. Näiteks saate selle valemi abil sortida tabelit Kontaktid esmalt veeru LastName järgi ja seejärel veeru FirstName järgi: Sort( Sort( Kontaktid, LastName ), FirstName )

Funktsiooniga SortByColumns saab tabelit sortida ka ühe või mitme veeru põhjal.

Funktsiooni SortByColumns parameetrite loend pakub veergude nimesid, mille järgi sortida, ja sortimise suunda 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 funktsiooni SortByColumns valiku Drop down või List box juhtelemendiga, et võimaldada kasutajatel valida, millise veeru järgi sortida.

Peale kasvavas või kahanevas järjekorras sortimise saab funktsioon SortByColumns sortida ühe veeru väärtuste tabeli põhjal. 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 Power Appsis, just nagu string või arv. Neid saab edastada ja tagastada funktsioonidest. Funktsioonid Sordi ja SortByColumn ei muuda tabelit. Need võtavad tabeli argumendina 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( Table, Formula [, SortOrder ] )

  • 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( Table, ColumnName1 [, SortOrder1, ColumnName2, SortOrder2, ... ] )

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

  • ColumnName(s) - Nõutav. Veergude nimed, mida soovite sortida, nagu stringid.

  • SortOrder(s) - Valikuline. SortOrder.Ascending või SortOrder.Descending. SortOrder.Ascending on vaikeväärtus. 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, mitte töötlemata veeru väärtuste järgi, siis väärtust SortByColumns kasutades samaväärset pole. 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( Jäätis, „Maitse”, [ „Pistaatsia”, „Maasika” ] ) 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( Jäätis, { Maitse: „Šokolaad”, Kogus: 100, OnOrder: 150 }, { Maitse: „Vanilje”, Kogus: 200, OnOrder: 20 }, { Maitse: „Maasika”, Kogus: 300, OnOrder: 0 }, { Maitse: „Piparmündi šokolaad”, 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.

Sordi

  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 toimingut, kuid muutke selle kollektsiooni nime, mille soovite luua, ja asendage valem Sordi mõne muu valemiga, mis on esitatud selles jaotises, kus kasutatakse valemit Sordi.

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 toimingut, kuid muutke selle kollektsiooni nime, mille soovite luua, ja asendage valem SortByColumns mõne muu valemiga, mis on esitatud selles jaotises, kus kasutatakse valemit SortByColumns.