Poznámka
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete sa skúsiť prihlásiť alebo zmeniť adresáre.
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete skúsiť zmeniť adresáre.
Vzťahuje sa na: Aplikácie plátna Copilot Studio
Desktop postupy
modelom riadené aplikácie
Power Platform CLI
Dataverse funkcie
Power Pages
Zoradí tabuľku.
Poznámka
Príkazy PAC CLI pac jazyka power-fx nepodporujú SortByColumns funkciu.
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 zoraďovať najprv podľa jedného stĺpca a potom podľa iného, vložte Sort vzorec do iného. Tento vzorec môžete napríklad použiť na zoradenie tabuľky Kontakty najprv podľa stĺpca Priezvisko a potom podľa stĺpca FirstName : Sort( Sort( Kontakty, Priezvisko ), Meno )
Funkciu SortByColumns tiež možno použiť na zoradenie tabuľky podľa jedného alebo viacerých stĺpcov.
Zoznam parametrov pre SortByColumns poskytuje názvy stĺpcov, podľa ktoré sa má zoradiť, a smer zoradenia podľa 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" ).
Môžete kombinovať SortByColumns s ovládacím prvkom Rozbaľovacízoznam alebo Zoznam a umožniť tak používateľom vybrať si, podľa ktorého stĺpca sa má zoraďovať.
Okrem vzostupného alebo zostupného SortByColumns zoradenia môžete 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 tabuľku nemenia. Namiesto toho používajú tabuľku ako argument a vracajú 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
Sort( Table, Formula [, SortOrder ] )
- 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.
SortByColumns( Table, ColumnName1 [, SortOrder1, ColumnName2, 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.Vzostupne 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( Table, ColumnName, 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 údajovIceCream, ktorý obsahuje údaje v tejto tabuľke:
| Vzorec | Description | Výsledok |
|---|---|---|
|
Sort( IceCream, Flavor ) 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é. |
|
|
Sort( IceCream, Quantity ) SortByColumns( IceCream, "Quantity" ) |
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é. |
|
|
Sort( IceCream, Quantity, SortOrder.Descending ) SortByColumns( IceCream, "Quantity", SortOrder.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é. |
|
| Sort( IceCream, Quantity + OnOrder ) | 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é. Keďže zoraďujeme podľa vzorca a nie podľa nespracovaných hodnôt stĺpca, použitie funkcie SortByColumnsneexistuje ekvivalentné. |
|
|
Sort( Sort( IceCream, OnOrder ), Quantity ) SortByColumns( IceCream, "OnOrder", SortOrder.Ascending, "Quantity", SortOrder.Ascending ) |
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. |
|
| SortByColumns( IceCream, "Flavor", [ "Pistachio", "Strawberry" ] ) | 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. |
|
Podrobne
Ak si chcete tieto príklady vyskúšať sami, vytvorte zdroj údajov IceCream ako kolekciu:
- 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, NaObjednávku: 100 }, { Príchuť: "Pistácie", Množstvo: 200, Pri objednávke: 10 } ) - 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.
- 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
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.
Stlačte kláves F5, vyberte nové tlačidlo a potom stlačte kláves Esc.
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.
Zopakujte posledné tri kroky, ale zmeňte názov kolekcie, ktorú chcete vytvoriť, a nahraďte Sort vzorec iným vzorcom z tabuľky príkladov uvedenej v tejto časti vyššie používanej Sortv tejto časti.
SortByColumns
Pridajte ďalšie tlačidlo a nastavte jeho vlastnosť OnSelect na tento vzorec:
ClearCollect( SortByQuantity, SortByColumns( IceCream, "Quantity", SortOrder.Ascending, "Flavor", SortOrder.Descending ) )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í.
Stlačte kláves F5, vyberte nové tlačidlo a potom stlačte kláves Esc.
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.
Zopakujte posledné tri kroky, ale zmeňte názov kolekcie, ktorú chcete vytvoriť, a nahraďte SortByColumns vzorec iným vzorcom z tabuľky príkladov uvedenej v tejto časti vyššie používanej SortByColumnsv tejto časti.