Notă
Accesul la această pagină necesită autorizare. Puteți încerca să vă conectați sau să modificați directoarele.
Accesul la această pagină necesită autorizare. Puteți încerca să modificați directoarele.
Se aplică la: Aplicații
pânză Copilot Studio
Desktop fluxuri
model aplicații bazate pe modele
Power Platform ClI
Dataverse funcții
Power Pages
Sortează un tabel.
Notă
COMENZIle PAC CLI pac power-fx nu acceptă funcția SortByColumns .
Descriere
Funcția Sort sortează un tabel pe baza unei formule.
Formula este evaluată pentru fiecare înregistrare din tabel, iar rezultatele sunt utilizate pentru a sorta tabelul. Formula trebuie să aibă ca rezultat un număr, un șir sau o valoare booleană; nu poate avea ca rezultat un tabel sau o înregistrare.
Câmpurile înregistrării procesate în prezent sunt disponibile în cadrul formulei. Utilizați operatorul ThisRecord sau pur și simplu faceți referire la câmpuri după nume, așa cum ați face cu orice altă valoare. Operatorul Ca poate fi, de asemenea, utilizat pentru a denumi înregistrarea care este procesată, ceea ce poate face formula dvs. să fie mai ușor de înțeles și înregistrările imbricate să fie accesibile. Pentru informații suplimentare, consultați exemplele de mai jos și lucrul cu domeniul de aplicare al înregistrărilor.
Pentru a sorta mai întâi după o coloană, apoi după alta, încorporați o Sort formulă în alta. De exemplu, puteți utiliza această formulă pentru a sorta mai întâi un tabel Persoane de contact după o coloană Nume , apoi după o coloană Prenume : Sort( ( SortPersoane de contact, Nume ), Prenume )
De asemenea, funcția SortByColumns poate fi utilizată pentru a sorta un tabel pe baza uneia sau a mai multor coloane.
Lista de parametri pentru SortByColumns furnizează numele coloanelor după care se sortează și direcția de sortare pentru fiecare coloană. Sortarea se realizează în ordinea parametrilor (mai întâi după prima coloană, apoi a doua și așa mai departe). Numele coloanelor sunt specificate ca șiruri și necesită ghilimele duble dacă sunt incluse direct în lista de parametri. De exemplu, SortByColumns( CustomerTable, "Nume" ).
Puteți combina SortByColumns cu un control casetălistă sau listă pentru a le permite utilizatorilor să selecteze coloana după care să sorteze.
Pe lângă sortarea ascendentă sau descendentă, SortByColumns se poate sorta pe baza unui singur tabel de coloane de valori. De exemplu, puteți sorta înregistrarea în funcție de numele unei zile a săptămânii specificând [ "Luni", "Marți", "Miercuri", "Joi", "Vineri", "Sâmbătă", "Duminică" ] ca ordine de sortare. Toate înregistrările care includ Luni" vor fi incluse primele, urmate de Marţi și așa mai departe. Înregistrările găsite care nu apar în tabelul de sortare sunt puse la sfârșitul listei.
Tabelele sunt o valoare în Power Apps, la fel ca un șir sau un număr. Pot fi transmise și returnate din funcții. Sort și SortByColumn nu modifică un tabel; în schimb, acestea preiau un tabel ca argument și returnează un tabel nou care a fost sortat. Pentru mai multe detalii, consultați lucrul cu tabele.
Delegare
Atunci când este posibil, Power Apps va delega operațiunile de filtrare și sortare către sursa de date și va pagina rezultatele la cerere. De exemplu, când porniți o aplicație care arată un control Galerie completat cu date, doar primul set de înregistrări va fi adus inițial pe dispozitiv. Pe măsură ce utilizatorul defilează, se aduc date suplimentare din sursa de date. Rezultatul este un timp de pornire mai rapid pentru aplicație și acces la seturi de date foarte mari.
Cu toate acestea, delegarea nu este posibilă întotdeauna. Sursele de date suportă diverse funcții și diverși operatori cu delegarea. Dacă delegarea completă a unei formule nu este posibilă, mediul de creare va semnala porțiunea care nu poate fi delegată cu un avertisment. Atunci când este posibil, schimbați formula pentru a evita funcțiile și operatorii care nu se pot delega. Lista de delegare prezintă sursele de date și operațiunile care se pot delega.
Dacă delegarea nu este posibilă, Power Apps va extrage doar un set mic de înregistrări la care să se lucreze local. Funcțiile de filtrare și sortare vor funcționa pentru un set redus de înregistrări. Este posibil ca elementele disponibile în Galerie să nu reprezinte întreaga situație, lucru care-i poate deruta pe utilizatori.
Consultați prezentarea generală a delegării pentru mai multe informații.
Sintaxă
Sort( Tabel, Formulă [, SortOrder ] )
- Tabel - Obligatoriu. Tabel de sortat.
- Formula - Obligatoriu. Această formulă este evaluată pentru fiecare înregistrare din tabel, iar rezultatele sunt utilizate pentru a sorta tabelul. Puteți face referire la coloane din tabel.
- SortOrder - Opțional. Specificați SortOrder.Descending pentru a sorta tabelul în ordine descrescătoare. SortOrder.Ascending este valoarea implicită.
SortByColumns( Tabel, ColumnName1 [, SortOrder1, ColumnName2, SortOrder2, ... ] )
Tabel - Obligatoriu. Tabel de sortat.
ColumnNames - Obligatoriu. Numele coloanelor pentru sortare, ca șiruri.
SortOrders - Opțional. SortOrder.Ascending sau SortOrder.Descending. SortOrder.Ascending este implicit. Dacă sunt furnizate mai multe ColumnNames, toate coloanele, exceptând ultima, trebuie să includă o SortOrder.
Notă
Pentru sursele de date SharePoint și Excel care conțin nume de coloană cu spații, specificați fiecare spațiu ca "_x0020_". De exemplu, specificați "Numele coloanei" ca "Nume_x0020_coloană".
SortByColumns( Tabel, Nume Coloană, SortOrderTable )
Tabel - Obligatoriu. Tabel de sortat.
ColumnName - Obligatoriu. Numele coloanei de sortat, ca șiruri.
SortOrderTable - Obligatoriu. Tabel cu o singură coloană de valori după care sortat.
Notă
Pentru sursele de date SharePoint și Excel care conțin nume de coloană cu spații, specificați fiecare spațiu ca "_x0020_". De exemplu, specificați "Numele coloanei" ca "Nume_x0020_coloană".
Exemple
Pentru următoarele exemple, vom utiliza IceCreamsursa de date, care conține datele din acest tabel:
| Formula | Descriere | Rezultat |
|---|---|---|
|
Sort( IceCream, Aroma ) SortByColumns( IceCream, "Aroma" ) |
Sortează Înghețata după coloana Aromă. Coloana Flavor conține șiruri, astfel încât tabelul este sortat în ordine alfabetică. În mod implicit, ordinea de sortare este crescătoare. |
|
|
Sort( IceCream, Quantity ) SortByColumns( IceCream, "Cantitate" ) |
Sortează Înghețată după coloana Cantitate. Coloana Cantitate conține numere, astfel încât tabelul este sortat în ordine numerică. În mod implicit, ordinea de sortare este crescătoare. |
|
|
Sort( IceCream, Cantitate, SortOrder.Descending ) SortByColumns( IceCream, "Cantitate", SortOrder.Descending ) |
Sortează Înghețată după coloana Cantitate. Coloana Cantitate conține numere, astfel încât sortarea se efectuează în ordine numerică. Ordinea de sortare a fost specificată ca descrescătoare. |
|
| Sort( IceCream, Cantitate + OnOrder ) | Sortează Înghețata pe baza sumei de la coloanele Cantitate și La comandă pentru fiecare înregistrare în parte. Suma este un număr, deci tabelul este sortat numeric. În mod implicit, ordinea de sortare este crescătoare. Deoarece sortăm după o formulă și nu după valorile din coloana brută, nu există nicio valoare echivalentă utilizând SortByColumns. |
|
|
Sort( ( SortIceCream, OnOrder ), Cantitate ) SortByColumns( IceCream, "OnOrder", SortOrder.Ascending, "Cantitate", SortOrder.Ascending ) |
Sortează Înghețata mai întâi după coloana La comandă, iar apoi după coloana Cantitate. Observați că "Fistic" a trecut înaintea "Vaniliei" în prima sortare bazată pe La comandă, iar apoi amândouă au fost mutate la locul potrivit în funcție de valoarea Cantitate. |
|
| SortByColumns( IceCream, "Aroma", [ "Pistachio", "Căpșuni" ] ) | Sortează Înghețata după coloana Aromă pe baza tabelului cu o singură coloană care conține "Fistic" și "Căpșuni". Înregistrările care conțin o Aromă de "Fistic" vor apărea primele în rezultat, urmate de înregistrări care conțin "Căpșuni". Pentru valorile din coloana Aromă care nu se potrivesc, cum ar fi "Vanilie", acestea vor apărea după elementele care au fost potrivite. |
|
Pas cu pas
Pentru a executa singuri aceste exemple, creați sursa de date IceCream ca o colecție:
- Adăugați un buton, apoi setați proprietatea OnSelect la această formulă:
ClearCollect( IceCream, { Aromă: „Ciocolată”, Cantitate: 100, La Comandă: 150 }, { Aromă: „Vanilie”, Cantitate: 200, La Comandă : 20 }, { Aromă: „căpșuni”, Cantitate: 300, La comandă: 0 }, { Aromă: „Ciocolată cu mentă”, Cantitate: 60, La comandă: 100 }, { Aromă: "Fistic", Cantitate: 200, La Comanda: 10 } ) - Previzualizați aplicația, selectați butonul, apoi apăsați Esc pentru a reveni la spațiul de lucru implicit.
- Selectați Colecții în meniul Fişier pentru a afișa colecția pe care tocmai ați creat-o, apoi apăsați Esc pentru a reveni la spațiul de lucru implicit.
Sort
Adăugați alt buton, apoi setați proprietatea OnSelect la această formulă:
ClearCollect( SortByFlavor, Sort( IceCream, Aroma )Formula anterioară creează o a doua colecție, denumită SortByFlavor, care conține aceleași date ca și Înghețată. Cu toate acestea, noua colecție conține datele ordonate alfabetic după coloana Aromă în ordine crescătoare.
Apăsați F5, selectați butonul nou, apoi apăsați Esc.
Selectați Colecții în meniul Fişier pentru a afișa ambele colecții, apoi apăsați Esc pentru a reveni la spațiul de lucru implicit.
Repetați ultimii trei pași, dar modificați numele colecției pe care doriți să o creați și înlocuiți Sort formula cu o altă formulă din tabelul cu exemple anterioare din această secțiune care utilizează Sort.
SortByColumns
Adăugați alt buton, apoi setați proprietatea OnSelect la această formulă:
ClearCollect( SortByQuantity, SortByColumns( IceCream, "Cantitate", SortOrder.Ascending, "Aroma", SortOrder.Descending ) )Formula anterioară creează o a treia colecție, denumită SortByQuantity, care conține aceleași date ca și Înghețată. Cu toate acestea, noua colecție conține datele sortate numeric după coloana Cantitate în ordine crescătoare, iar apoi după coloana Aromă în ordine descrescătoare.
Apăsați F5, selectați butonul nou, apoi apăsați Esc.
Selectați Colecții în meniul Fişier pentru a afișa toate cele trei colecții, apoi apăsați Esc pentru a reveni la spațiul de lucru implicit.
Repetați ultimii trei pași, dar modificați numele colecției pe care doriți să o creați și înlocuiți SortByColumns formula cu o altă formulă din tabelul cu exemple anterioare din această secțiune care utilizează SortByColumns.