Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
Aplícase a: Aplicacións
de lenzo Copilot Studio
Fluxos
de escritorio Aplicacións
baseadas en modelos Power Platform CLI
Dataverse funcións
Power Pages
Ordena unha táboa.
Nota
Os comandos de PAC CLI pac power-fx non soportan a SortByColumns función.
Descripción
A Sort función ordena unha táboa baseada nunha fórmula.
A fórmula avalíase para cada rexistro da táboa e os resultados úsanse para ordenar a táboa. A fórmula debe dar lugar a un número, unha cadea ou un valor booleano; non pode producir unha táboa ou un rexistro.
Os campos do rexistro que se están a procesar actualmente están dispoñibles na fórmula. Use o operador ThisRecord ou simplemente faga referencia aos campos por nome como faría con calquera outro valor. O operador As tamén se pode usar para nomear o rexistro que se está a procesar, o que pode axudar a que a fórmula sexa máis fácil de comprender e facer que os rexistros anidados sexan accesibles. Para obter máis información, consulte os seguintes exemplos e traballar co ámbito do rexistro.
Para ordenar primeiro por unha columna e despois por outra, incorpora unha Sort fórmula dentro doutra. Por exemplo, pode usar esta fórmula para ordenar unha táboa de contactos primeiro por unha columna Apelido e despois por unha columna Nome : Sort( Sort( Contactos, Apelido ), Nome )
A SortByColumns función tamén se pode usar para ordenar unha táboa baseada nunha ou máis columnas.
A lista de parámetros para SortByColumns proporciona os nomes das columnas para ordenar e a dirección de ordenación por columna. A ordenación realízase na orde dos parámetros (ordenados primeiro pola primeira columna, despois pola segunda etc.). Os nomes das columnas especifícanse como cadeas, que requiren comiñas dobres se se inclúen directamente na lista de parámetros. Por exemplo, SortByColumns( CustomerTable, "LastName" ).
Pode combinar SortByColumns cun control Despregable ou Caixa de lista para que os usuarios poidan seleccionar a columna pola que ordenar.
Ademais de ordenar ascendente ou descendente, SortByColumns pode ordenar baseándose nunha única táboa de valores de columnas. Por exemplo, pode ordenar o rexistro en función do nome dun día da semana subministrando [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ] como orde de ordenación. Todos os rexistros que teñan Monday" irán primeiro, seguidos de Tuesday etcétera. Os rexistros que non aparecen na táboa de ordenación colócanse ao final da lista.
As táboas son un valor en Power Apps, igual que unha cadea ou un número. Pódense pasar a e devolver de funcións. Sort e SortByColumn non modifican unha táboa; en vez diso, toman unha táboa como argumento e devolven unha nova táboa que foi ordenada. Para obter máis detalles, consulte Traballar con táboas.
Delegación
Se é posible, Power Apps delegará as operacións de filtraxe e ordenación á orixe de datos e páxina a través dos resultados a pedido. Por exemplo, cando abre unha aplicación que mostra un control de Galeríacheo de datos, só aparecerá inicialmente o primeiro conxunto de rexistros no dispositivo. Cando o usuario se desprace, extraeranse máis datos da orixe de datos. Deste xeito acelérase a hora de inicio da aplicación e pódese acceder a conxuntos de datos moi grandes.
Non obstante, non sempre se pode delegar. As orixes de datos varían segundo as funcións e operadores que admiten coa delegación. Se non é posible facer unha delegación completa dunha fórmula, o ambiente de creación marcará cun aviso a parte que non se pode delegar. Sempre que sexa posible, pense en cambiar a fórmula para evitar as funcións e operadores que non se poden delegar. A lista de delegación enumera as orixes de datos e operacións que se poden delegar.
Se a delegación non é posible, Power Apps só extraerá un pequeno conxunto de rexistros para traballar a nivel local. As funcións de filtraxe e ordenación operarán nun conxunto reducido de rexistros. Pode que os elementos dispoñibles na Galería non sexan o historial completo, o que podería confundir os usuarios.
Consulte a visión xeral da delegación para obter máis información.
Sintaxe
Sort( Táboa, Fórmula [, SortOrder ] )
- Táboa - Obrigatorio. Táboa para ordenar.
- Fórmula - Obrigatorio. Esta fórmula avalíase para cada rexistro da táboa e os resultados úsanse para ordenar a táboa. Pode facer referencia ás columnas dentro da táboa.
- SortOrder - Opcional. Especifique SortOrder.Descending para ordenar a táboa en orde descendente. SortOrder.Ascending é o valor predeterminado.
SortByColumns( Table, ColumnName1 [, SortOrder1, ColumnName2, SortOrder2, ... ] )
Táboa - Obrigatorio. Táboa para ordenar.
ColumnNames - Obrigatorio. Os nomes da columna para clasificar, como cadeas.
SortOrders - Opcional. Orde de ordenación. Ascendente ou Orden de ordenación.Descendente. SortOrder.Ascending é o predeterminado. Se múltiples ColumnNames son subministrados, pero a última columna debe incluír unha SortOrder.
Nota
Para SharePoint e orixes de datos de Excel que conteñen nomes de columna con espazos, especifique cada espazo como "_x0020_". Por exemplo, especifique o "Column Name" como "Column_x0020_Name".
SortByColumns( Table, ColumnName, SortOrderTable )
Táboa - Obrigatorio. Táboa para ordenar.
ColumnName : é obrigatorio. O nome da columna para clasificar, como cadeas.
SortOrderTable - Obrigatorio. Táboa de valores dunha única columna pola que clasificar.
Nota
Para SharePoint e orixes de datos de Excel que conteñen nomes de columna con espazos, especifique cada espazo como "_x0020_". Por exemplo, especifique o "Column Name" como "Column_x0020_Name".
Exemplos
Para os seguintes exemplos, usaremos a orixe de datosIceCream, que contén os datos desta táboa:
| Fórmula | Descripción | Resultado |
|---|---|---|
|
Sort( Xeado, sabor ) SortByColumns(Xeado, "Sabor") |
Ordena IceCream pola súa columna Flavor. A columna Flavor contén cadeas, polo que a táboa está ordenada alfabeticamente. Por defecto, a orde de odenación é ascendente. |
|
|
Sort( Xeado, Cantidade ) SortByColumns(Xeado, "Cantidade") |
Ordena IceCream pola súa columna Quantity. A columna Quantity contén números, polo que a táboa está ordenada numericamente. Por defecto, a orde de odenación é ascendente. |
|
|
Sort( IceCream, Quantity, SortOrder.Descending ) SortByColumns( IceCream, "Cantidade", SortOrder.Descending ) |
Ordena IceCream pola súa columna Quantity. A columna Quantity contén números, polo que a ordenación faise numericamente. A orde de ordenación especificouse como descendente. |
|
| Sort( Xeado, Cantidade + OnOrder ) | ordena IceCream pola suma das columnas Quantity e OnOrder para cada rexistro individualmente. A suma é un número, polo que a táboa está ordenada numericamente. Por defecto, a orde de odenación é ascendente. Dado que estamos ordenando por unha fórmula e non por valores de columna brutos, non hai equivalente usando SortByColumns. |
|
|
Sort( Sort( Xeado, OnOrder ), Cantidade ) SortByColumns( IceCream, "OnOrder", SortOrder.Ascending, "Quantity", SortOrder.Ascending ) |
OrdenaIceCream primeiro pola súa columna OnOrder e despois pola súa columna Quantity. Teña en conta que "Pistachio" elevouse por enriba de "Vanilla" na primeira ordenación baseándose en OnOrder, e logo xuntos mudáronse ao seu lugar adecuado en base a Quantity. |
|
| SortByColumns( Xeado, "Sabor", [ "Pistacho", "Amorodo" ] ) | Ordena IceCream pola columna Flavor baseándose na táboa dunha única columna que contén "Pistachio" e "Strawberry". Os rexistros que teñan un Flavor de "Pistachio" aparecerán primeiro no resultado, seguidos de rexistros que conteñan "Strawberry". Para valores na columna Flavor que non se corresponden, como "Vanilla", aparecerán despois dos elementos coincidentes. |
|
Paso a paso
Para executar estes exemplos vostede, cree a orixe de datos IceCream como unha colección:
- Engada un botón e axuste a súa propiedade OnSelect nesta fórmula:
ClearCollect( IceCream, { Sabor: "Chocolate", Cantidade: 100, Por pedido: 150 }, { Sabor: "Vainilla", Cantidade: 200, Por pedido : 20 }, { Sabor: "Amordodo", Cantidade: 300, Pedido: 0 }, { Sabor: "Chocolate de menta", Cantidade: 60, Pedido: 100 }, { Sabor: "Pistacho", Cantidade: 200, Pedido: 10 } ) - Previsualice a aplicación, seleccione o botón e, a continuación, prema Esc para volver ao espazo de traballo predeterminado.
- Seleccione Coleccións no menú Arquivo para mostrar a colección que acaba de crear e logo prema Esc para volver ao espazo de traballo predeterminado.
Sort
Engada outro botón e axuste a súa propiedade OnSelect nesta fórmula:
ClearCollect( SortByFlavor, Sort( IceCream, Flavor ) )A fórmula anterior crea unha segunda colección, chamada SortByFlavor, que contén os mesmos datos que Ice Cream. Non obstante, a nova colección contén os datos ordenados alfabeticamente pola columna Flavor en orde ascendente.
Pulse F5, seleccione o novo botón e, a continuación, prema Esc.
Seleccione Coleccións no menú Arquivo para mostrar ambas as coleccións e logo prema Esc para volver ao espazo de traballo predeterminado.
Repita os tres últimos pasos, pero cambie o nome da colección que desexa crear e substitúe a Sort fórmula por unha fórmula diferente da táboa de exemplos anteriores nesta sección que usa Sort.
SortByColumns
Engada outro botón e axuste a súa propiedade OnSelect nesta fórmula:
ClearCollect( SortByQuantity, SortByColumns( IceCream, "Quantity", SortOrder.Ascending, "Flavor", SortOrder.Descending ) )A fórmula anterior crea unha terceira colección, chamada SortByQuantity, que contén os mesmos datos que Ice Cream. Non obstante, a nova colección contén os datos ordenados numéricamente pola columna Quantity en orde ascendente e logo pola columna Flavor en orde descendente.
Pulse F5, seleccione o novo botón e, a continuación, prema Esc.
Seleccione Coleccións no menú Arquivo para mostrar as tres coleccións e logo prema Esc para volver ao espazo de traballo predeterminado.
Repita os tres últimos pasos, pero cambie o nome da colección que desexa crear e substitúe a SortByColumns fórmula por unha fórmula diferente da táboa de exemplos anteriores nesta sección que usa SortByColumns.