Funkcie Sort a SortByColumns v službe PowerAppsSort and SortByColumns functions in PowerApps

Zoradí tabuľku.Sorts a table.

PopisDescription

Funkcia Sort (Zoradiť) zoradí tabuľku podľa vzorca.The Sort function sorts a table based on a formula.

Vzorec sa vyhodnocuje pre každý záznam tabuľky a výsledky sa používajú na zoradenie tabuľky.The formula is evaluated for each record of the table, and the results are used to sort the table. Výsledkom vzorca musí byť číslo, reťazec alebo booleovská hodnota. Jeho výsledkom nesmie byť tabuľka ani záznam.The formula must result in a number, a string, or a Boolean value; it can't result in a table or a record.

Polia záznamu, ktorý sa momentálne spracúva, sú k dispozícii v rámci vzorca. Jednoducho môžete na ne odkázať pomocou názvu, rovnako ako v prípade hociktorej inej hodnoty. V rámci aplikácie môžete tiež odkázať na vlastnosti ovládacích prvkov a ďalšie hodnoty. Ďalšie podrobnosti 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.To sort first by one column and then by another, you embed a Sort formula within another. Nasledujúci vzorec môžete napríklad použiť na zoradenie tabuľky Kontakty najprv podľa stĺpca Priezvisko a potom podľa stĺpca Meno Sort( Sort( Kontakty, Priezvisko ), Meno )For example, you can use this formula to sort a Contacts table first by a LastName column and then by a FirstName column: 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.The SortByColumns function can also be used to sort a table based on one or more columns.

Zoznam parametrov pre možnosť SortByColumns poskytuje názvy stĺpcov, podľa ktorých sa má zoraďovať, a smer zoradenia stĺpca.The parameter list for SortByColumns provides the names of the columns to sort by and the sort direction per column. Zoradenie sa vykonáva v poradí parametrov (zoradenie najprv podľa prvého stĺpca, potom podľa druhého atď.).Sorting is performed in the order of the parameters (sorted first by the first column, then the second, and so on). Názvy stĺpcov sú zadané ako reťazce a v prípade, že sú zahrnuté priamo do zoznamu parametrov, vyžadujú dvojité úvodzovky.Column names are specified as strings, requiring double quotes if directly included in the parameter list. Napríklad SortByColumns( CustomerTable, "LastName" ).For example, 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ť.You can combine SortByColumns with a Drop down or List box control to enable users to select which column to sort by.

Okrem vzostupného a zostupného zoradenia môže funkcia SortByColumns zoraďovať podľa tabuľky s jedným stĺpcom hodnôt.In addition to sorting ascending or descending, SortByColumns can sort based on a single column table of values. 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" ].For example, you can sort record based on the name of a day of the week by supplying [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ] as the sort order. Všetky záznamy, ktoré obsahujú pondelok, budú prvé, potom budú nasledovať záznamy s utorkom a tak ďalej.All records which have Monday" will come first, followed by Tuesday, and so on. Záznamy, ktoré sa v tabuľke zoradenia nezobrazujú, sa zaradia na koniec zoznamu.Records found that do not appear in the sort table are put at the end of the list.

Tabuľky sú v službe PowerApps hodnotou, rovnako ako napríklad reťazec alebo číslo.Tables are a value in PowerApps, just like a string or number. Môžu sa odovzdávať funkciám a funkcie ich môžu vracať.They can be passed to and returned from functions. Funkcie Sort a SortByColumn tabuľku neupravia. Použijú ju ako argument a vrátia novú zoradenú tabuľku.Sort and SortByColumn don't modify a table; instead they take a table as an argument and return a new table that has been sorted. Ďalšie podrobnosti nájdete v časti týkajúcej sa práce s tabuľkami.See working with tables for more details.

Delegovanie

Keď to bude možné, portál PowerApps 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é, portál PowerApps 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.

SyntaxSyntax

Sort( Table, Formula [, SortOrder ] )Sort( Table, Formula [, SortOrder ] )

  • Table – povinné.Table - Required. Tabuľka na zoradenie.Table to sort.
  • Formula – povinné.Formula - Required. Tento vzorec sa vyhodnocuje pre každý záznam tabuľky a výsledky sa používajú na zoradenie tabuľky.This formula is evaluated for each record of the table, and the results are used to sort the table. Na stĺpce môžete v tabuľke odkazovať.You can reference columns within the table.
  • SortOrder – voliteľné.SortOrder - Optional. Ak chcete zoradiť v zostupnom poradí, zadajte SortOrder.Descending.Specify SortOrder.Descending to sort the table in descending order. Predvolená hodnota je SortOrder.Ascending.SortOrder.Ascending is the default value.

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

  • Table – povinné.Table - Required. Tabuľka na zoradenie.Table to sort.

  • ColumnName(s) – povinné.ColumnName(s) - Required. Názvy stĺpcov, ktoré sa budú zoraďovať, ako reťazce.The column names to sort on, as strings.

  • SortOrder(s) – voliteľné.SortOrder(s) - Optional. SortOrder.Ascending alebo SortOrder.Descending.SortOrder.Ascending or SortOrder.Descending. Predvolená hodnota je SortOrder.Ascending.SortOrder.Ascending is the default. Ak zadáte viac položiek ColumnNames, musia všetky okrem poslednej obsahovať SortOrder.If multiple ColumnNames are supplied, all but the last column must include a SortOrder.

    Poznámka

    V prípade sharepointových a excelových zdrojov údajov obsahujúcich názvy stĺpcov s medzerami zadajte každú medzeru ako „_x0020_“.For SharePoint and Excel data sources that contain column names with spaces, specify each space as "_x0020_". Namiesto Názov stĺpca teda zadajte Názov_x0020_stĺpca.For example, specify "Column Name" as "Column_x0020_Name".

SortByColumns( Table, ColumnName, SortOrderTable )SortByColumns( Table, ColumnName, SortOrderTable )

  • Table – povinné.Table - Required. Tabuľka na zoradenie.Table to sort.

  • ColumnName – povinné.ColumnName - Required. Názov stĺpca, ktorý sa použije na zoradenie, ako reťazec.The column name to sort on, as strings.

  • SortOrderTable – povinné.SortOrderTable - Required. Tabuľka s jedným stĺpcom hodnôt, podľa ktorých sa má zoraďovať.Single column table of values to sort by.

    Poznámka

    V prípade sharepointových a excelových zdrojov údajov obsahujúcich názvy stĺpcov s medzerami zadajte každú medzeru ako „_x0020_“.For SharePoint and Excel data sources that contain column names with spaces, specify each space as "_x0020_". Namiesto Názov stĺpca teda zadajte Názov_x0020_stĺpca.For example, specify "Column Name" as "Column_x0020_Name".

PríkladyExamples

V nasledujúcich príkladoch použijeme zdroj údajov IceCream, ktorý obsahuje údaje v tejto tabuľke:For the following examples, we'll use the IceCream data source, which contains the data in this table:

VzorecFormula PopisDescription VýsledokResult
Sort( IceCream, Flavor )Sort( IceCream, Flavor )

SortByColumns( IceCream, "Flavor" )SortByColumns( IceCream, "Flavor" )
Zoradí tabuľku IceCream podľa stĺpca Flavor.Sorts IceCream by its Flavor column. Stĺpec Flavor obsahuje reťazce, preto sa tabuľka zoradí podľa abecedy.The Flavor column contains strings, so the table is sorted alphabetically. Poradie zoradenia je v predvolenom nastavení vzostupné.By default, the sort order is ascending.
Sort( IceCream, Quantity )Sort( IceCream, Quantity )

SortByColumns( IceCream, "Quantity" )SortByColumns( IceCream, "Quantity" )
Zoradí tabuľku IceCream podľa stĺpca Quantity.Sorts IceCream by its Quantity column. Stĺpec Quantity obsahuje čísla, takže sa tabuľka zoradí podľa čísel.The Quantity column contains numbers, so the table is sorted numerically. Poradie zoradenia je v predvolenom nastavení vzostupné.By default, the sort order is ascending.
Sort( IceCream, Quantity, SortOrder.Descending )Sort( IceCream, Quantity, SortOrder.Descending )

SortByColumns( IceCream, "Quantity", SortOrder.Descending )SortByColumns( IceCream, "Quantity", SortOrder.Descending )
Zoradí tabuľku IceCream podľa stĺpca Quantity.Sorts IceCream by its Quantity column. Stĺpec Quantity obsahuje čísla, takže sa tabuľka zoradí podľa čísel.The Quantity column contains numbers, so the sort is done numerically. Poradie zoradenia bolo zadané ako zostupné.The sort order has been specified as descending.
Sort( IceCream, Quantity + OnOrder )Sort( IceCream, Quantity + OnOrder ) Zoradí tabuľku IceCream podľa súčtu stĺpcov Quantity a OnOrder pre každý záznam samostatne.Sorts IceCream by the sum of its Quantity and OnOrder columns for each record individually. Súčet je číslo, preto bude tabuľka zoradená číselne.The sum is a number, so the table is sorted numerically. Poradie zoradenia je v predvolenom nastavení vzostupné.By default, the sort order is ascending. 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.Since we are sorting by a formula and not by raw column values, there is no equivalent using SortByColumns.
Sort( Sort( IceCream, OnOrder ), Quantity )Sort( Sort( IceCream, OnOrder ), Quantity )

SortByColumns( IceCream, "OnOrder", Ascending, "Quantity", Ascending )SortByColumns( IceCream, "OnOrder", Ascending, "Quantity", Ascending )
Zoradí tabuľku IceCream najprv podľa stĺpca OnOrder a potom podľa stĺpca Quantity.Sorts IceCream first by its OnOrder column, and then by its Quantity column. Všimnite si, že hodnota Pistachio je v prvom zoradení podľa možnosti OnOrder pred hodnotou Vanilla a že potom sa spoločne presunuli na ich príslušné miesto podľa možnosti Quantity.Note that "Pistachio" rose above "Vanilla" in the first sort based on OnOrder, and then together they moved to their appropriate place based on Quantity.
SortByColumns( IceCream, "Flavor", [ "Pistachio", "Strawberry" ] )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 Pistachio a Strawberry.Sorts IceCream by it's Flavor column based on the single column table containing "Pistachio" and "Strawberry". Záznamy, ktoré majú možnosť Flavor s hodnotou Pistachio sa vo výsledku budú zobrazovať prvé, po nich budú nasledovať záznamy obsahujúce príchuť Strawberry.Records which have a Flavor of "Pistachio" will appear first in the result, followed by records that contain "Strawberry". Hodnoty v stĺpci Flavor, pri ktorých sa nenašla zhoda, napr. Vanilla, sa zobrazia až po položkách, pri ktorých sa zhoda našla.For values in the Flavor column that are not matched, such as "Vanilla", they will appear after the items that were matched.

Podrobný postupStep by step

Ak si chcete tieto príklady vyskúšať sami, vytvorte zdroj údajov IceCream ako kolekciu:To run these examples yourself, create the IceCream data source as a collection:

  1. Pridajte tlačidlo a nastavte jeho vlastnosť OnSelect na tento vzorec:Add a button, and set its OnSelect property to this formula:
    ClearCollect( IceCream, { Flavor: "Chocolate", Quantity: 100, OnOrder: 150 }, { Flavor: "Vanilla", Quantity: 200, OnOrder: 20 }, { Flavor: "Strawberry", Quantity: 300, OnOrder: 0 }, { Flavor: "Mint Chocolate", Quantity: 60, OnOrder: 100 }, { Flavor: "Pistachio", Quantity: 200, OnOrder: 10 } )ClearCollect( IceCream, { Flavor: "Chocolate", Quantity: 100, OnOrder: 150 }, { Flavor: "Vanilla", Quantity: 200, OnOrder: 20 }, { Flavor: "Strawberry", Quantity: 300, OnOrder: 0 }, { Flavor: "Mint Chocolate", Quantity: 60, OnOrder: 100 }, { Flavor: "Pistachio", Quantity: 200, OnOrder: 10 } )
  2. Pozrite si ukážku aplikácie, vyberte tlačidlo a potom sa stlačením klávesa Esc vráťte do predvoleného pracovného priestoru.Preview the app, select the button, and then press Esc to return to the default workspace.
  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.Select Collections on the File menu to display the collection that you just created, and then press Esc to return to the default workspace.

Funkcia SortSort

  1. Pridajte ďalšie tlačidlo a nastavte jeho vlastnosť OnSelect na tento vzorec:Add another button, and set its OnSelect property to this formula:
    ClearCollect( SortByFlavor, Sort( IceCream, Flavor ) )ClearCollect( SortByFlavor, Sort( IceCream, Flavor ) )

    Predchádzajúci vzorec vytvorí druhú kolekciu s názvom SortByFlavor, ktorá obsahuje rovnaké údaje ako Ice Cream.The previous formula creates a second collection, named SortByFlavor, that contains the same data as Ice Cream. Nová kolekcia však obsahuje údaje zoradené podľa abecedy vo vzostupnom poradí podľa stĺpca Flavor.However, the new collection contains the data sorted alphabetically by the Flavor column in ascending order.

  2. Stlačte kláves F5, vyberte nové tlačidlo a potom stlačte kláves Esc.Press F5, select the new button, and then press 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.Select Collections on the File menu to display both collections, and then press Esc to return to the default workspace.

  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.Repeat the last three steps, but change the name of the collection that you want to create, and replace the Sort formula with a different formula from the table of examples earlier in this section that uses Sort.

Funkcia SortByColumnsSortByColumns

  1. Pridajte ďalšie tlačidlo a nastavte jeho vlastnosť OnSelect na tento vzorec:Add another button, and set its OnSelect property to this formula:
    ClearCollect( SortByQuantity, SortByColumns( IceCream, "Quantity", Ascending, "Flavor", Descending ) )ClearCollect( SortByQuantity, SortByColumns( IceCream, "Quantity", Ascending, "Flavor", Descending ) )

    Predchádzajúci vzorec vytvorí tretiu kolekciu s názvom SortByQuantity, ktorá obsahuje rovnaké údaje ako Ice Cream.The previous formula creates a third collection, named SortByQuantity, that contains the same data as Ice Cream. Nová kolekcia však obsahuje údaje zoradené číselne podľa stĺpca Quanity vo vzostupnom poradí a potom podľa stĺpca Flavor v zostupnom poradí.However, the new collection contains the data sorted numerically by the Quanity column in ascending order, and then by the Flavor column in descending order.

  2. Stlačte kláves F5, vyberte nové tlačidlo a potom stlačte kláves Esc.Press F5, select the new button, and then press 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.Select Collections on the File menu to display all three collections, and then press Esc to return to the default workspace.

  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.Repeat the last three steps, but change the name of the collection that you want to create, and replace the SortByColumns formula with a different formula from the table of examples earlier in this section that uses SortByColumns.