Zdieľať cez


Funkcie Sort a SortByColumns

Vzťahuje sa na: aplikácie plátna toky na počítači aplikácie riadené modelom Power Pages Power Platform CLI

Zoradí tabuľku.

Poznámka

Príkazy PAC CLI pac power-fx nepodporujú funkciu SortByColumns .

Description

Funkcia Sort zoradí tabuľku podľa vzorca.

Vzorec sa vyhodnocuje pre každý záznam tabuľky a výsledky sa používajú na zoradenie tabuľky. Výsledkom vzorca musí byť číslo, reťazec alebo booleovská hodnota. Jeho výsledkom nesmie byť tabuľka ani záznam.

Polia záznamu, ktorý sa momentálne spracúva, sú k dispozícii v rámci vzorca. Použite operátor ThisRecord alebo jednoducho odkážte na polia podľa názvu, ako by ste urobili s ľubovoľnou inou hodnotou. Operátor As sa dá použiť aj na pomenovanie záznamu, ktorý sa práve spracúva, vďaka čomu môžete vytvoriť ľahšie pochopiteľný vzorec a sprístupniť vnorené záznamy. Ďalšie informácie nájdete v príkladoch nižšie a v téme, ako pracovať s rozsahom záznamu.

Ak chcete zoradiť najprv podľa jedného stĺpca a potom podľa iného, vložte vzorec Sort do iného vzorca. Nasledujúci vzorec môžete napríklad použiť na zoradenie tabuľky Kontakty najprv podľa stĺpca LastName a potom podľa stĺpca FirstName: Sort( Sort( Contacts, LastName ), FirstName )

Funkciu SortByColumns môžete tiež použiť na zoradenie tabuľky podľa jedného alebo viacerých stĺpcov.

Zoznam parametrov pre možnosť SortByColumns poskytuje názvy stĺpcov, podľa ktorých sa má zoraďovať, a smer zoradenia stĺpca. Zoradenie sa vykonáva v poradí parametrov (zoradenie najprv podľa prvého stĺpca, potom podľa druhého atď.). Názvy stĺpcov sú zadané ako reťazce a v prípade, že sú zahrnuté priamo do zoznamu parametrov, vyžadujú dvojité úvodzovky. Napríklad, SortByColumns( CustomerTable, "LastName" ).

Funkciu SortByColumns môžete skombinovať s ovládacím prvkom Rozbaľovací zoznam alebo Zoznam a umožniť tak používateľom zvoliť si, podľa ktorého stĺpca sa má zoradenie vykonať.

Okrem vzostupného a zostupného zoradenia môže funkcia SortByColumns zoraďovať podľa tabuľky s jedným stĺpcom hodnôt. Môžete napríklad zoradiť záznamy na základe názvu dňa v týždni tak, že ako poradie zoradenia zadáte [ "pondelok", "utorok", "streda", "štvrtok", "piatok", "sobota", "nedeľa" ]. Všetky záznamy, ktoré obsahujú pondelok, budú prvé, potom budú nasledovať záznamy s utorkom a tak ďalej. Záznamy, ktoré sa v tabuľke zoradenia nezobrazujú, sa zaradia na koniec zoznamu.

Tabuľky sú hodnotou v Power Apps, rovnako ako reťazec alebo číslo. Môžu sa odovzdávať funkciám a funkcie ich môžu vracať. Sort a SortByColumn neupravujte tabuľku; namiesto toho berú tabuľku ako argument a vrátia novú tabuľku, ktorá bola zoradená. Ďalšie podrobnosti nájdete v časti týkajúcej sa práce s tabuľkami.

Delegovanie

Keď to bude možné, platforma Power Apps bude delegovať operácie filtrovania a zoradenia na zdroj údajov a prechádzať stranami výsledkov na požiadanie. Keď napríklad spustíte aplikáciu, v ktorej sa zobrazuje ovládací prvok Galéria plný údajov, v zariadení sa najprv sprístupní iba prvá množina záznamov. Keď sa bude používateľ posúvať ďalej, zo zdroja údajov sa prenesú ďalšie údaje. Výsledkom bude rýchlejšie spustenie aplikácie a prístup k veľmi veľkým množinám údajov.

Delegovanie však nemusí byť vždy možné. Zdroje údajov sa líšia v tom, ktoré funkcie a operátory podporujú spolu s delegovaním. Ak úplné delegovanie vzorca nie je možné, prostredie vytvárania označí tú časť, ktorú nemožno delegovať, príznakom s upozornením. Ak je to možné, zvážte zmenu vzorca, aby ste sa vyhli funkciám a operátorom, ktoré nemožno delegovať. Zoznam delegovania podrobne uvádza, ktoré zdroje údajov a operácie možno delegovať.

Ak delegovanie nie je možné, platforma Power Apps stiahne iba malú množinu záznamov na lokálnu prácu. Funkcie filtrovania a zoradenia budú fungovať na obmedzenej množine záznamov. Obsah dostupný v Galérii nemusí byť úplný, čo môže používateľov zmiasť.

Ďalšie informácie nájdete v prehľade delegovania.

Syntax

Zoradiť( Tabuľka, Vzorec [, ZoradiťPoradie ] )

  • Tabuľka – povinné. Tabuľka na zoradenie.
  • Vzorec – povinné. Tento vzorec sa vyhodnocuje pre každý záznam tabuľky a výsledky sa používajú na zoradenie tabuľky. Na stĺpce môžete v tabuľke odkazovať.
  • SortOrder – voliteľné. Ak chcete zoradiť v zostupnom poradí, zadajte SortOrder.Descending. SortOrder.Ascending je predvolená hodnota.

Zoradiť podľa stĺpcov( Tabuľka, Názov stĺpca1 [, ZoradiťPoradie1 , Názov stĺpca2, SortOrder2, ... ] )

  • Tabuľka – povinné. Tabuľka na zoradenie.

  • Názvy stĺpcov – povinné. Názvy stĺpcov, ktoré sa budú zoraďovať, ako reťazce.

  • SortOrders – voliteľné. Zoradenie.Vzostupné alebo Zoradenie.Zostupne. Predvolená hodnota je SortOrder.Ascending . Ak zadáte viac položiek ColumnNames, musia všetky okrem poslednej obsahovať SortOrder.

    Poznámka

    V prípade SharePoint a excelových zdrojov údajov obsahujúcich názvy stĺpcov s medzerami zadajte každú medzeru ako "_x0020_". Namiesto "Názov stĺpca" teda zadajte "Názov_x0020_stĺpca".

SortByColumns( Tabuľka, Názov stĺpca, SortOrderTable )

  • Tabuľka – povinné. Tabuľka na zoradenie.

  • Názov stĺpca – povinné. Názov stĺpca, ktorý sa použije na zoradenie, ako reťazec.

  • SortOrderTable – povinné. Tabuľka s jedným stĺpcom hodnôt, podľa ktorých sa má zoraďovať.

    Poznámka

    V prípade SharePoint a excelových zdrojov údajov obsahujúcich názvy stĺpcov s medzerami zadajte každú medzeru ako "_x0020_". Namiesto "Názov stĺpca" teda zadajte "Názov_x0020_stĺpca".

Príklady

V nasledujúcich príkladoch použijeme zdroj údajov IceCream, ktorý obsahuje údaje v tejto tabuľke:

Príklad Zmrzlina.

Vzorec Popis Výsledok
Zoradiť (zmrzlina, príchuť)

SortByColumns( IceCream, "Flavor" )
Zoradí tabuľku IceCream podľa stĺpca Flavor. Stĺpec Flavor obsahuje reťazce, preto sa tabuľka zoradí podľa abecedy. Poradie zoradenia je v predvolenom nastavení vzostupné. Abecedne zoradené.
Zoradiť (zmrzlina, množstvo)

SortByColumns( Zmrzlina, "Množstvo" )
Zoradí IceCream podľa stĺpca Množstvo. Stĺpec Množstvo obsahuje čísla, takže sa tabuľka zoradí podľa čísel. Poradie zoradenia je v predvolenom nastavení vzostupné. Zoradené číselne.
Zoradiť (Zmrzlina, Množstvo, ZoradiťPoradie.Zostupne)

SortByColumns( Zmrzlina, "Množstvo", SortPorder.Descending )
Zoradí IceCream podľa stĺpca Množstvo. Stĺpec Množstvo obsahuje čísla, takže sa tabuľka zoradí podľa čísel. Poradie zoradenia bolo zadané ako zostupné. Zoradené číselne a zostupne.
Zoradiť (zmrzlina, množstvo + na objednávku) Zoradí tabuľku IceCream podľa súčtu stĺpcov Množstvo a OnOrder pre každý záznam samostatne. Súčet je číslo, preto bude tabuľka zoradená číselne. Poradie zoradenia je v predvolenom nastavení vzostupné. Vzhľadom na to, že zoraďujeme podľa vzorca a nie podľa nespracovaných hodnôt stĺpca, nemôžeme použiť funkciu SortByColumns. Zoradené číselne a vzostupne.
Triediť (Triediť (Zmrzlina, Pri objednávke), Množstvo)

SortByColumns( Zmrzlina, "OnOrder", SortOrder.Vzostupne, "Množstvo", ZoradiťPoradie.Vzostupne )
Zoradí tabuľku IceCream najprv podľa stĺpca OnOrder a potom podľa stĺpca Množstvo. Všimnite si, že hodnota Pistáciová je v prvom zoradení podľa možnosti OnOrder pred hodnotou Vanilková a že potom sa spoločne presunuli na ich príslušné miesto podľa možnosti Množstvo. Zoradené s Pistáciová nad Vanilková.
SortByColumns( Zmrzlina, "Príchuť", [ "Pistácie", "Jahoda"] ) Zoradí tabuľku IceCream podľa stĺpca Flavor na základe tabuľky s jedným stĺpcom obsahujúcim hodnoty Pistáciová a Jahodová. Záznamy, ktoré majú možnosť Flavor s hodnotou Pistáciová sa vo výsledku budú zobrazovať prvé, po nich budú nasledovať záznamy obsahujúce príchuť Jahodová. Hodnoty v stĺpci Flavor, pri ktorých sa nenašla zhoda, napr. Vanilková, sa zobrazia až po položkách, pri ktorých sa zhoda našla. Zoradené s Pistáciová pod Jahodová.

Podrobne

Ak si chcete tieto príklady vyskúšať sami, vytvorte zdroj údajov IceCream ako kolekciu:

  1. Pridajte tlačidlo a nastavte jeho vlastnosť OnSelect na tento vzorec:
    ClearCollect( IceCream, { Príchuť: "Čokoláda", množstvo: 100, na objednávku: 150 }, { Príchuť: "vanilka", množstvo: 200, na objednávku : 20 }, { Príchuť: "Jahoda", Množstvo: 300, Na Objednávku: 0 }, { Príchuť: "Mätová čokoláda ", Množstvo: 60, PriObjednávka: 100 }, { Príchuť: "Pistácie", Množstvo: 200, PriObjednávka: 10 } )
  2. Pozrite si ukážku aplikácie, stlačte tlačidlo a potom sa stlačením klávesa Esc vráťte do predvoleného pracovného priestoru.
  3. V ponuke Súbor vyberte položku Kolekcie a zobrazte kolekciu, ktorú ste práve vytvorili. Potom sa stlačením klávesa Esc vráťte do predvoleného pracovného priestoru.

Sort

  1. Pridajte ďalšie tlačidlo a nastavte jeho vlastnosť OnSelect na tento vzorec:
    ClearCollect (SortByFlavor, Sort (IceCream, Flavor) )

    Predchádzajúci vzorec vytvorí druhú kolekciu s názvom SortByFlavor, ktorá obsahuje rovnaké údaje ako Ice Cream. Nová kolekcia však obsahuje údaje zoradené podľa abecedy vo vzostupnom poradí podľa stĺpca Flavor.

  2. Stlačte kláves F5, vyberte nové tlačidlo a potom stlačte kláves Esc.

  3. V ponuke Súbor vyberte položku Kolekcie a zobrazte obe kolekcie. Potom sa stlačením klávesa Esc vráťte do predvoleného pracovného priestoru.

  4. Zopakujte posledné tri kroky, ale zmeňte názov kolekcie, ktorú chcete vytvoriť, a nahraďte vzorec Sort iným vzorcom z tabuľky príkladov uvedenej v tejto časti vyššie používajúcej funkciu Sort.

SortByColumns

  1. Pridajte ďalšie tlačidlo a nastavte jeho vlastnosť OnSelect na tento vzorec:
    ClearCollect( SortByQuantity, SortByColumns( Zmrzlina, "Množstvo", ZoradiťPoradie.Vzostupne, "Príchuť", ZoradiťPoradie.Zostupne) )

    Predchádzajúci vzorec vytvorí tretiu kolekciu s názvom SortByQuantity, ktorá obsahuje rovnaké údaje ako Ice Cream. Nová kolekcia však obsahuje údaje zoradené číselne podľa stĺpca Množstvo vo vzostupnom poradí a potom podľa stĺpca Príchuť v zostupnom poradí.

  2. Stlačte kláves F5, vyberte nové tlačidlo a potom stlačte kláves Esc.

  3. V ponuke Súbor vyberte položku Kolekcie a zobrazte všetky tri kolekcie. Potom sa stlačením klávesa Esc vráťte do predvoleného pracovného priestoru.

  4. Zopakujte posledné tri kroky, ale zmeňte názov kolekcie, ktorú chcete vytvoriť, a nahraďte vzorec SortByColumns iným vzorcom z tabuľky príkladov uvedenej v tejto časti vyššie používajúcej funkciu SortByColumns.