Functies Sorteren en SorterenOpKolommen in PowerAppsSort and SortByColumns functions in PowerApps

Sorteert een tabel.Sorts a table.

BeschrijvingDescription

De functie Sorteren sorteert een tabel op basis van een formule.The Sort function sorts a table based on a formula.

De formule wordt geëvalueerd voor elke record van de tabel en de resultaten worden gebruikt om de tabel te sorteren.The formula is evaluated for each record of the table, and the results are used to sort the table. De formule moet resulteren in een getal, tekenreeks of booleaanse waarde. De formule kan niet resulteren in een tabel of record.The formula must result in a number, a string, or a Boolean value; it can't result in a table or a record.

Fields of the record currently being processed are available within the formula. You simply reference them by name as you would any other value. You can also reference control properties and other values from throughout your app. For more details, see the examples below and working with record scope.

Als u eerst op één kolom wilt sorteren en vervolgens op een andere, sluit u een Sorteren-formule in een andere formule in.To sort first by one column and then by another, you embed a Sort formula within another. U kunt bijvoorbeeld deze formule gebruiken om een tabel Contactpersonen eerst te sorteren op de kolom Achternaam en vervolgens op de kolom Voornaam: Sorteren( Sorteren( Contactpersonen, Achternaam ), Voornaam ).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 )

De functie SorterenOpKolommen kan ook worden gebruikt om een tabel te sorteren die is gebaseerd op een of meer kolommen.The SortByColumns function can also be used to sort a table based on one or more columns.

De lijst met parameters voor SorterenOpKolommen bevat de namen van de kolommen waarop u wilt sorteren en de sorteerrichting per kolom.The parameter list for SortByColumns provides the names of the columns to sort by and the sort direction per column. Sorteren wordt uitgevoerd in de volgorde van de parameters (eerst gesorteerd op de eerste kolom, daarna op de tweede, enzovoort).Sorting is performed in the order of the parameters (sorted first by the first column, then the second, and so on). Kolomnamen worden opgegeven als tekenreeksen, waarbij dubbele aanhalingstekens vereist zijn indien rechtstreeks opgenomen in de lijst met parameters.Column names are specified as strings, requiring double quotes if directly included in the parameter list. Bijvoorbeeld: SorterenOpKolommen( TabelKlanten, "Achternaam" ).For example, SortByColumns( CustomerTable, "LastName" ).

U kunt SorterenOpKolommen combineren met een besturingselement Vervolgkeuzelijst of Keuzelijst zodat gebruikers de kolom kunnen selecteren waarop zij willen sorteren.You can combine SortByColumns with a Drop down or List box control to enable users to select which column to sort by.

Naast sorteren in oplopende of aflopende volgorde, kan SorterenOpKolommen sorteren op basis van een tabel met één kolom met waarden.In addition to sorting ascending or descending, SortByColumns can sort based on a single column table of values. U kunt bijvoorbeeld records sorteren op basis van de naam van een weekdag door [ "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag", "zondag" ] op te geven als sorteervolgorde.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. Alle records met maandag komen dan eerst, gevolgd door dinsdag, enzovoort.All records which have Monday" will come first, followed by Tuesday, and so on. Gevonden records die niet in de sorteertabel worden weergegeven, worden aan het einde van de lijst geplaatst.Records found that do not appear in the sort table are put at the end of the list.

Tabellen vormen een waarde in PowerApps, net als een tekenreeks of getal.Tables are a value in PowerApps, just like a string or number. Ze kunnen worden doorgegeven aan en geretourneerd uit functies.They can be passed to and returned from functions. Sorteren en SorterenOpKolommen wijzigen een tabel niet. In plaats daarvan gebruiken ze een tabel als argument en retourneren ze een nieuwe tabel die is gesorteerd.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. Zie working with tables (werken met tabellen) voor meer informatie.See working with tables for more details.

Delegation

When possible, PowerApps will delegate filter and sort operations to the data source and page through the results on demand. For example, when you start an app that shows a Gallery control filled with data, only the first set of records will be initially brought to the device. As the user scrolls, additional data is brought down from the data source. The result is a faster start time for the app and access to very large data sets.

However, delegation may not always be possible. Data sources vary on what functions and operators they support with delegation. If complete delegation of a formula isn't possible, the authoring environment will flag the portion that can't be delegated with a warning. When possible, consider changing the formula to avoid functions and operators that can't be delegated. The delegation list details which data sources and operations can be delegated.

If delegation is not possible, PowerApps will pull down only a small set of records to work on locally. Filter and sort functions will operate on a reduced set of records. What is available in the Gallery may not be the complete story, which could be confusing to users.

See the delegation overview for more information.

SyntaxisSyntax

Sorteren( Tabel, Formule [, Sorteervolgorde ] )Sort( Table, Formula [, SortOrder ] )

  • Tabel - vereist.Table - Required. Tabel die u wilt sorteren.Table to sort.
  • Formule - vereist.Formula - Required. Deze formule wordt geëvalueerd voor elke record van de tabel en de resultaten worden gebruikt om de tabel te sorteren.This formula is evaluated for each record of the table, and the results are used to sort the table. U kunt verwijzen naar kolommen in de tabel.You can reference columns within the table.
  • Sorteervolgorde - optioneel.SortOrder - Optional. Geef Sorteervolgorde.Aflopend op om de tabel in aflopende volgorde te sorteren.Specify SortOrder.Descending to sort the table in descending order. Sorteervolgorde.Oplopend is de standaardwaarde.SortOrder.Ascending is the default value.

SorterenOpKolommen( Tabel, NaamKolom1 [, Sorteervolgorde1, NaamKolom2, Sorteervolgorde2, ... ] )SortByColumns( Table, ColumnName1 [, SortOrder1, ColumnName2, SortOrder2, ... ] )

  • Tabel - vereist.Table - Required. Tabel die u wilt sorteren.Table to sort.
  • NaamKolom(men) - vereist.ColumnName(s) - Required. De namen van de kolommen waarop moet worden gesorteerd, als tekenreeksen.The column names to sort on, as strings.
  • Sorteervolgorde(n) - optioneel.SortOrder(s) - Optional. Sorteervolgorde.Oplopend of Sorteervolgorde.Aflopend.SortOrder.Ascending or SortOrder.Descending. Sorteervolgorde.Oplopend is de standaardinstelling.SortOrder.Ascending is the default. Als meerdere Kolomnamen worden opgegeven, moeten alle kolommen behalve de laatste een Sorteervolgorde bevatten.If multiple ColumnNames are supplied, all but the last column must include a SortOrder.

    Opmerking: Vervang elke spatie in SharePoint- en Excel-gegevensbronnen met kolomnamen met spaties door '_x0020_'.Note: For SharePoint and Excel data sources that contain column names with spaces, specify each space as "_x0020_". Geef 'Naam kolom' bijvoorbeeld op als 'Naam_x0020_kolom'.For example, specify "Column Name" as "Column_x0020_Name".

SorterenOpKolommen( Tabel, NaamKolom, SorteervolgordeTabel )SortByColumns( Table, ColumnName, SortOrderTable )

  • Tabel - vereist.Table - Required. Tabel die u wilt sorteren.Table to sort.
  • NaamKolom - vereist.ColumnName - Required. De naam van de kolom waarop moet worden gesorteerd, als tekenreeksen.The column name to sort on, as strings.
  • SorteervolgordeTabel - vereist.SortOrderTable - Required. Eén kolomtabel met waarden om op te sorteren.Single column table of values to sort by.

    Opmerking: Vervang elke spatie in SharePoint- en Excel-gegevensbronnen met kolomnamen met spaties door '_x0020_'.Note: For SharePoint and Excel data sources that contain column names with spaces, specify each space as "_x0020_". Geef 'Naam kolom' bijvoorbeeld op als 'Naam_x0020_kolom'.For example, specify "Column Name" as "Column_x0020_Name".

VoorbeeldenExamples

Voor de volgende voorbeelden gebruiken we de gegevensbron IJsjes, die de gegevens in deze tabel bevat:For the following examples, we'll use the IceCream data source, which contains the data in this table:

FormuleFormula BeschrijvingDescription ResultaatResult
Sorteren( IJsjes, Smaak )Sort( IceCream, Flavor )

SorterenOpKolommen( IJsjes, "Smaak" )SortByColumns( IceCream, "Flavor" )
Sorteert IJsjes op de kolom Smaak.Sorts IceCream by its Flavor column. De kolom Smaak bevat tekenreeksen. Hierdoor wordt de tabel alfabetisch gesorteerd.The Flavor column contains strings, so the table is sorted alphabetically. Standaard wordt oplopend gesorteerd.By default, the sort order is ascending.
Sorteren( IJsjes, Aantal )Sort( IceCream, Quantity )

SorterenOpKolommen( IJsjes, "Aantal" )SortByColumns( IceCream, "Quantity" )
Sorteert IJsjes op de kolom Aantal.Sorts IceCream by its Quantity column. De kolom Aantal bevat getallen. Hierdoor wordt de tabel numeriek gesorteerd.The Quantity column contains numbers, so the table is sorted numerically. Standaard wordt oplopend gesorteerd.By default, the sort order is ascending.
Sorteren( IJsjes, Aantal, Sorteervolgorde.Aflopend )Sort( IceCream, Quantity, SortOrder.Descending )

SorterenOpKolommen( IJsjes, "Aantal", Sorteervolgorde.Aflopend )SortByColumns( IceCream, "Quantity", SortOrder.Descending )
Sorteert IJsjes op de kolom Aantal.Sorts IceCream by its Quantity column. De kolom Aantal bevat getallen. De sortering verloopt dus numeriek.The Quantity column contains numbers, so the sort is done numerically. De sorteervolgorde is opgegeven als Aflopend.The sort order has been specified as descending.
Sorteren( IJsjes, Aantal + OpBestelling )Sort( IceCream, Quantity + OnOrder ) Sorteert IJsjes op de som van de kolommen Aantal en OpBestelling voor elke afzonderlijke record.Sorts IceCream by the sum of its Quantity and OnOrder columns for each record individually. De som is een getal. Hierdoor wordt de tabel numeriek gesorteerd.The sum is a number, so the table is sorted numerically. Standaard wordt oplopend gesorteerd.By default, the sort order is ascending. Omdat we op een formule sorteren en niet op onbewerkte kolomwaarden, is er geen equivalent met behulp van SorterenOpKolommen.Since we are sorting by a formula and not by raw column values, there is no equivalent using SortByColumns.
Sorteren( Sorteren( IJsjes, OpBestelling ), Aantal )Sort( Sort( IceCream, OnOrder ), Quantity )

SorterenOpKolommen( IJsjes, "OpBestelling", Oplopend, "Aantal", Oplopend )SortByColumns( IceCream, "OnOrder", Ascending, "Quantity", Ascending )
Sorteert IJsjes eerst op de kolom OpBestelling en vervolgens op de kolom Aantal.Sorts IceCream first by its OnOrder column, and then by its Quantity column. Opmerking: "Pistache" was hoger vermeld dan "Vanille" bij de eerste sortering op basis van OpBestelling. Daarna verschoven ze naar hun juiste plaats op basis van Aantal.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.
SorterenOpKolommen( IJsjes, "Smaak" [ "Pistache", "Aardbei" ] )SortByColumns( IceCream, "Flavor", [ "Pistachio", "Strawberry" ] ) Sorteert IJsjes op de kolom Smaak op basis van de tabel met één kolom die "Pistache" en "Aardbei" bevat.Sorts IceCream by it's Flavor column based on the single column table containing "Pistachio" and "Strawberry". Records met een Smaak "Pistache" wordt eerst weergegeven in het resultaat, gevolgd door records die "Aardbei" bevatten.Records which have a Flavor of "Pistachio" will appear first in the result, followed by records that contain "Strawberry". Waarden in de kolom Smaak zonder overeenkomst, zoals "Vanille", worden weergegeven na de items die wel een overeenkomst hebben.For values in the Flavor column that are not matched, such as "Vanilla", they will appear after the items that were matched.

Stap voor stapStep by step

Als u deze voorbeelden zelf wilt uitvoeren, maakt u de gegevensbron IJsjes als een verzameling:To run these examples yourself, create the IceCream data source as a collection:

  1. Voeg een knop toe en stel de eigenschap BijSelecteren ervan in op deze formule:Add a button, and set its OnSelect property to this formula:
    ClearCollect( IJsjes, { Smaak: "Chocolade", Aantal: 100, OpBestelling: 150 }, { Smaak: "Vanille", Aantal: 200, OpBestelling: 20 }, { Smaak: "Aardbei", Aantal: 300, OpBestelling: 0 }, { Smaak: "Muntchocolade", Aantal: 60, OpBestelling: 100 }, { Smaak: "Pistache", Aantal: 200, OpBestelling: 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. Bekijk een voorbeeld van de app, klik op de knop en druk op Esc om terug te keren naar de standaardwerkruimte.Preview the app, select the button, and then press Esc to return to the default workspace.
  3. Selecteer Verzamelingen in het menu Bestand om de verzameling weer te geven die u zojuist hebt gemaakt en druk op Esc om terug te keren naar de standaardwerkruimte.Select Collections on the File menu to display the collection that you just created, and then press Esc to return to the default workspace.

SorterenSort

  1. Voeg een andere knop toe en stel de eigenschap BijSelecteren ervan in op deze formule:Add another button, and set its OnSelect property to this formula:
    ClearCollect( SorterenOpSmaak, Sorteren ( IJsjes, Smaak ) ) ClearCollect( SortByFlavor, Sort( IceCream, Flavor ) )

    De vorige formule maakt een tweede verzameling, met de naam SorterenOpSmaak, die dezelfde gegevens als IJsjes bevat.The previous formula creates a second collection, named SortByFlavor, that contains the same data as Ice Cream. De nieuwe verzameling bevat echter de gegevens, die alfabetisch in oplopende volgorde gesorteerd zijn op de kolom Smaak.However, the new collection contains the data sorted alphabetically by the Flavor column in ascending order.

  2. Druk op F5, selecteer de nieuwe knop en druk op Esc.Press F5, select the new button, and then press Esc.
  3. Selecteer Verzamelingen in het menu Bestand om beide verzamelingen weer te geven en druk op Esc om terug te keren naar de standaardwerkruimte.Select Collections on the File menu to display both collections, and then press Esc to return to the default workspace.
  4. Herhaal de laatste drie stappen, maar wijzig de naam van de verzameling die u wilt maken en vervang de formule Sorteren door een andere formule uit de tabel met voorbeelden eerder in deze sectie die gebruikmaakt van Sorteren.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.

SorterenOpKolommenSortByColumns

  1. Voeg een andere knop toe en stel de eigenschap BijSelecteren ervan in op deze formule:Add another button, and set its OnSelect property to this formula:
    ClearCollect( SorterenOpAantal, SorterenOpKolommen( IJsjes, "Aantal", Oplopend, "Smaak", Aflopend ) ) ClearCollect( SortByQuantity, SortByColumns( IceCream, "Quantity", Ascending, "Flavor", Descending ) )

    De vorige formule maakt een derde verzameling, met de naam SorterenOpAantal, die dezelfde gegevens als IJsjes bevat.The previous formula creates a third collection, named SortByQuantity, that contains the same data as Ice Cream. De nieuwe verzameling bevat echter de gegevens, numeriek gesorteerd op de kolom Aantal in oplopende volgorde en vervolgens op de kolom Smaak in aflopende volgorde.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. Druk op F5, selecteer de nieuwe knop en druk op Esc.Press F5, select the new button, and then press Esc.
  3. Selecteer Verzamelingen in het menu Bestand om alle drie verzamelingen weer te geven en druk op Esc om terug te keren naar de standaardwerkruimte.Select Collections on the File menu to display all three collections, and then press Esc to return to the default workspace.
  4. Herhaal de laatste drie stappen, maar wijzig de naam van de verzameling die u wilt maken en vervang de formule SorterenOpKolommen door een andere formule uit de tabel met voorbeelden eerder in deze sectie die gebruikmaakt van SorterenOpKolommen.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.