Share via


Funkciji Razvrsti in RazvrstiByColumns

Velja za: Aplikacije delovnega območja Tokovi namizja Aplikacije Power Platform , ki temeljijo na modelu CLI

Razvrsti tabelo.

opomba,

Ukazi PAC CLI pac power-fx ne podpirajo funkcije SortByColumns .

Description

Funkcija Sort razvrsti tabelo na podlagi formule.

Formula se ovrednoteni za vsak zapis tabele, rezultati pa se uporabijo za razvrščanje tabele. Formula mora vrniti številko, niz ali logično vrednost; ne more vrniti tabele ali zapisa.

Polja zapisa, ki je trenutno v obdelavi, so na voljo v okviru formule. Uporabite operator ThisRecord ali pa polja preprosto navedite poimensko, kot bi storili za katero koli drugo vrednost. Operator As lahko uporabite tudi za poimenovanje zapisa, ki se obdeluje, s čimer bo formulo lažje razumeti in bodo dostopni ugnezdeni zapisi. Več informacij je v spodnjih primerih in razdelku delo z obsegom zapisov.

Če želite razvrstiti tabelo najprej po enem stolpcu in nato po drugem, vdelajte formulo Sort v drugo enako formulo. To formulo lahko na primer uporabite za razvrščanje tabele Contacts najprej po stolpcu LastName in nato po stolpcu FirstName: Sort( Sort( Contacts, LastName ), FirstName )

Funkcijo SortByColumns lahko uporabite tudi za razvrščanje tabele na podlagi enega ali več stolpcev.

Seznam parametrov za SortByColumns navede imena stolpcev, po katerih se bo tabela razvrščala, in smer razvrščanja na stolpec. Razvrščanje se izvede v vrstnem redu parametrov (najprej se razvršča po prvem stolpcu, nato po drugem in tako naprej). Imena stolpcev so navedena kot nizi, ki zahtevajo dvojne narekovaje, če so neposredno vključeni na seznam parametrov. Na primer SortByColumns( CustomerTable, "LastName" ).

Funkcijo SortByColumns lahko združite s kontrolnikom Drop down ali List box in omogočite uporabnikom, da izberejo, po katerem stolpcu bodo razvrščali tabelo.

Poleg naraščajočega ali padajočega razvrščanja lahko funkcija SortByColumns razvršča na podlagi tabele vrednosti z enim stolpcem. Zapis lahko na primer razvrstite glede na ime dneva v tednu, tako da kot vrstni red razvrščanja navedete [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ]. Vsi zapisi z vrednostjo Monday so prvi, sledijo jim tisti z vrednostjo Tuesday in tako naprej. Najdeni zapisi, ki niso prikazani v tabeli za razvrščanje, so premaknjeni na konec seznama.

Tabele so vrednost v rešitvi Power Apps, tako kot niz ali številka. Lahko so posredovane funkcijam in vrnjene iz njih. Funkciji Sort in SortByColumn ne spremenita tabele; tabelo obravnavata kot argument in vrneta novo tabelo, ki je bila razvrščena. Za več informacij glejte delo s tabelami.

Pooblastitev

Kadar je mogoče, storitev Power Apps pooblasti postopke filtriranja in razvrščanja za vir podatkov in stran prek rezultatov na zahtevo. Ko na primer zaženete aplikacijo, ki prikaže kontrolnik Galerija s podatki, se v napravo prvotno prenese samo prvi nabor zapisov. Ko se uporabnik pomika po zaslonu navzdol, se iz vira podatkov prenesejo dodatni podatki. Rezultat tega je krajši čas zagona aplikacije in dostop do obsežnih naborov podatkov.

Vendar pa pooblastitev ni možna v vseh primerih. Viri podatkov se razlikujejo v tem, katere funkcije in operatorje podpirajo s pooblaščanjem. Če popolna pooblastitev formule ni mogoča, okolje za ustvarjanje prikaže opozorilo za del, ki ga ni mogoče pooblastiti. Če je mogoče, poskusite spremeniti formulo, da se izognete funkcijam in operatorjem, ki jih ni mogoče pooblastiti. Seznam pooblaščanja podrobneje navaja, katere vire podatkov in postopke je mogoče pooblastiti.

Če pooblastitev ni mogoča, storitev Power Apps pridobi le majhen nabor zapisov, na katerem lahko delate lokalno. Funkcije za filtriranje in razvrščanje bodo delovale tudi na manjšem naboru zapisov. Kar bo prikazano v galeriji, morda ne bo predstavljalo celotne slike, to pa je za uporabnike lahko nejasno.

Če želite več informacij, glejte razdelek Pregled pooblastitev.

Sintaksa

Sort( Table, Formula [, SortOrder ] )

  • Table – obvezno. Tabela za razvrščanje.
  • Formula – obvezno. Ta formula se ovrednoteni za vsak zapis tabele, rezultati pa se uporabijo za razvrščanje tabele. Referencirate lahko stolpce znotraj tabele.
  • SortOrder – neobvezno. Vnesite SortOrder.Descending, da razvrstite tabelo v padajočem vrstnem redu. SortOrder.Ascending je privzeta vrednost.

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

  • Table – obvezno. Tabela za razvrščanje.

  • ColumnName(s) – obvezno. Imena stolpcev kot nizi za razvrščanje.

  • SortOrder(s) – neobvezno. SortOrder.Ascending ali SortOrder.Descending. SortOrder.Ascending je privzeta vrednost. Če je navedenih več ColumnNames, morajo vsi, razen zadnjega stolpca, vsebovati SortOrder.

    opomba,

    Za vire podatkov SharePoint in Excel, ki vsebujejo imena stolpcev s presledki, določite vsak presledek kot "_x0020_". Npr. določite »Column Name« kot »Column_x0020_Name«.

SortByColumns( Table, ColumnName, SortOrderTable )

  • Table – obvezno. Tabela za razvrščanje.

  • ColumnName – obvezno. Ime stolpca kot niz za razvrščanje.

  • SortOrderTable – obvezno. Tabela vrednosti z enim stolpcem, po kateri se bo razvrščalo.

    opomba,

    Za vire podatkov SharePoint in Excel, ki vsebujejo imena stolpcev s presledki, določite vsak presledek kot "_x0020_". Npr. določite »Column Name« kot »Column_x0020_Name«.

Primeri

V spodnjih primerih bomo uporabili vir podatkovIceCream, ki vsebuje podatke v tej tabeli:

Primer Icecream.

Formula Opis Rezultat
Sort( IceCream, Flavor )

SortByColumns( IceCream, "Flavor" )
Razvrsti IceCream po stolpcu Flavor. Stolpec Flavour vsebuje nize, zato je tabela razvrščena po abecednem redu. Vrstni red razvrščanja je privzeto naraščajoč. Razvrščeno po abecedi.
Sort( IceCream, Quantity )

SortByColumns( IceCream, "Quantity" )
Razvrsti IceCream po stolpcu Quantity. Stolpec Quantity vsebuje številke, zato je tabela razvrščena številsko. Vrstni red razvrščanja je privzeto naraščajoč. Razvrščeno številčno.
Sort( IceCream, Quantity, SortOrder.Descending )

SortByColumns( IceCream, "Quantity", SortOrder.Descending )
Razvrsti IceCream po stolpcu Quantity. Stolpec Quantity vsebuje številke, zato je razvrščanje številsko. Vrstni red razvrščanja je določen kot padajoč. Razvrščeno številčno in padajoče.
Sort( IceCream, Quantity + OnOrder ) Razvrsti IceCream po vsoti stolpcev Quantity in OnOrder za vsak zapis posebej. Vsota je število, zato je tabela razvrščena številsko. Vrstni red razvrščanja je privzeto naraščajoč. Ker razvrščamo po formuli in ne po neobdelanih vrednostih stolpcev, ni ekvivalenta, ki uporablja SortByColumns. Razvrščeno številčno in naraščajoče.
Sort( Sort( IceCream, OnOrder ), Quantity )

SortByColumns( IceCream, "OnOrder", SortOrder.Ascending, "Quantity", SortOrder.Ascending )
Razvrsti IceCream najprej po stolpcu OnOrder in nato po stolpcu Quantity. Upoštevajte, da je bil okus »Pistachio« premaknjen nad okus »Vanilla« pri prvem razvrščanju na podlagi stolpca OnOrder, nato pa sta se skupaj premaknila na ustrezno mesto na podlagi stolpca Quantity. Razvrščeno s pistacijo nad vanilijo.
SortByColumns( IceCream, "Flavor", [ "Pistachio", "Strawberry" ] ) Razvrsti IceCream po stolpcu Flavor na podlagi tabele z enim stolpcem, ki vsebuje okusa »Pistachio« in »Strawberry«. Zapisi, ki imajo v stolpcu Flavor vrednost »Pistacchio«, so v rezultatih prikazani najprej, sledijo pa jim zapisi, ki vsebujejo vrednost »Strawberry«. Vrednosti v stolpcu Flavor, ki se ne ujemajo, na primer »Vanilla«, so prikazane za elementi, za katere je bilo najdeno ujemanje. Razvrščeno s pistacijo nad jagodo.

Korak za korakom

Če želite te primere zagnati sami, ustvarite vir podatkov IceCream kot zbirko:

  1. Dodajte gumb in nastavite njegovo lastnost OnSelect na to formulo:
    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. Odprite predogled aplikacije, izberite gumb in nato pritisnite tipko Esc, da se vrnete v privzeti delovni prostor.
  3. V meniju Datoteka izberite Zbirke, da prikažete zbirko, ki ste jo pravkar ustvarili, nato pa pritisnite Esc, da se vrnete v privzeti delovni prostor.

Razvrščanje

  1. Dodajte še en gumb in nastavite njegovo lastnost OnSelect na to formulo:
    ClearCollect( SortByFlavor, Sort( IceCream, Flavor ) )

    Prejšnja formula ustvari drugo zbirko, imenovano SortByFlavor, ki vsebuje iste podatke kot IceCream. Vendar nova zbirka vsebuje podatke, razvrščene po abecedi po stolpcu Flavor v naraščajočem vrstnem redu.

  2. Pritisnite tipko F5, izberite novi gumb in pritisnite tipko Esc.

  3. V meniju Datoteka izberite Zbirke, da prikažete obe zbirki, nato pa pritisnite Esc, da se vrnete v privzeti delovni prostor.

  4. Ponovite zadnje tri korake, vendar spremenite ime zbirke, ki jo želite ustvariti, ter zamenjajte formulo Sort z drugo formulo iz tabele primerov zgoraj v tem razdelku, ki uporablja Sort.

SortByColumns

  1. Dodajte še en gumb in nastavite njegovo lastnost OnSelect na to formulo:
    ClearCollect( SortByQuantity, SortByColumns( IceCream, "Quantity", SortOrder.Ascending, "Flavor", SortOrder.Descending ) )

    Prejšnja formula ustvari tretjo zbirko, imenovano SortByQuantity, ki vsebuje iste podatke kot IceCream. Vendar nova zbirka vsebuje podatke, ki so razvrščeni številsko po stolpcu Quantity v naraščajočem vrstnem redu in nato po stolpcu Flavor v padajočem vrstnem redu.

  2. Pritisnite tipko F5, izberite novi gumb in pritisnite tipko Esc.

  3. V meniju Datoteka izberite Zbirke, da prikažete vse tri zbirke, nato pa pritisnite Esc, da se vrnete v privzeti delovni prostor.

  4. Ponovite zadnje tri korake, vendar spremenite ime zbirke, ki jo želite ustvariti, ter zamenjajte formulo SortByColumns z drugo formulo iz tabele primerov zgoraj v tem razdelku, ki uporablja SortByColumns.