Megosztás a következőn keresztül:


Sort és SortByColumns függvények

A következőkre vonatkozik: Vászonalapú alkalmazások Copilot Studio Desktop folyamatok Modellalapú alkalmazások Power Platform CLI Dataverse függvények Power Pages

Ezek a függvények táblák rendezésére szolgálnak.

Feljegyzés

A PAC CLI pac power-fx parancsai nem támogatják a függvényt SortByColumns .

Description

A Sort függvény képlet alapján rendezi a táblázatot.

A képletet a szoftver a táblában szerepelő minden rekord vonatkozásában kiértékeli, a tábla pedig az így kapott eredmények alapján rendeződik. A képlet eredménye szám, sztring vagy logikai érték lehet – tábla vagy rekord nem.

Az aktuálisan feldolgozás alatt álló rekordmezők elérhetők a képletben. Használja a ThisRecord operátort, vagy egyszerűen hivatkozzon név szerint a mezőkre, ahogy más értéket is hivatkozna. Az As operátor a feldolgozás alatt álló rekord elnevezésére használatos, amellyel könnyebben érthető a képlet, és hozzáférhetőbbek a beágyazott rekordok. További információkért lásd az alábbi példákat és a rekord hatókörével való munkát.

Ha először egy oszlop, majd egy másik szerint szeretne rendezni, beágyazhat egy képletet egy Sort másikba. Ezzel a képlettel rendezheti például a Névjegyek táblát először a LastName oszlop, majd a FirstName oszlop szerint: Sort( ( SortNévjegyek, Vezetéknév ), FirstName )

A SortByColumns függvény egy táblázat egy vagy több oszlop alapján történő rendezésére is használható.

A paraméterlista SortByColumns a rendezendő oszlopok nevét és az oszloponkénti rendezési irányt tartalmazza. A rendezés a paraméterek sorrendjében történik (a tábla először az első, majd a második oszlop alapján lesz rendezve, és így tovább). Mivel az oszlopnevek sztringként vannak megadva, ezért idézőjelek közé kell őket foglalni a paraméterlistában. Például SortByColumns: ( CustomerTable, "LastName" ).

A legördülő listával vagy a Lista vezérlőelemmel kombinálva SortByColumns a felhasználók kiválaszthatják, hogy melyik oszlop alapján szeretnének rendezni.

A növekvő vagy csökkenő SortByColumns rendezés mellett egyetlen oszlopos értéktáblázat alapján is rendezhet. Rendezhet például rekordok alapján, ha a rendezés alapjaként megadja a hét napjainak a nevét: [ "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat", "Vasárnap" ] A "Hétfő" értéket tartalmazó rekordok kerülnek előre, azokat a "Kedd" követi, és így tovább. A rendezési táblában nem szereplő rekordok a lista végére kerülnek.

A táblázatok értékek, akárcsak a karakterláncok Power Apps vagy számok. így függvények alapjául és eredményeként is szolgálhatnak. Sort és a SortByColumn nem módosít egy táblát; ehelyett argumentumként vesznek fel egy táblát, és egy új, rendezett táblát adnak vissza. További részleteket a táblákkal való munkával foglalkozó témakörben talál.

Meghatalmazás

Amikor lehetséges, a Power Apps az adatforrásnak delegálja a szűrési és rendezési műveleteket, és igény szerint lapozza át az eredményeket. Ha például elindít egy alkalmazást, amely megjelenít egy adatokkal feltöltött gyűjtemény vezérlőt, először csak a bejegyzések első csoportja kerül az eszközre. Miközben a felhasználó görget, további adatok lekérése történik az adatforrásból. Az eredmény az alkalmazás gyorsabb indulása, és a hozzáférés a nagyon nagy adathalmazokhoz.

Azonban előfordulhat, hogy a delegálás nem mindig lehetséges. Az adatforrások eltérőek abból a szempontból, hogy milyen függvények és operátorok esetében támogatják a delegálást. Ha egy képlet teljes delegálása nem lehetséges, a fejlesztői környezet figyelmeztetéssel jelöli meg a nem delegálható részt. Amikor csak lehetséges, érdemes módosítani a képletet, hogy le legyenek nem delegálható függvények és operátorok. A delegálási lista részletesen tartalmazza, hogy mely adatforrások és milyen műveletek delegálhatók.

Ha a delegálás nem lehetséges, a Power Apps a bejegyzéseknek csak egy kis részét hívja le helyben történő használata. A szűrés és rendezés funkciók korlátozott bejegyzéshalmazon fognak működni. Előfordulhat, hogy az, ami a gyűjteményben rendelkezésre áll, nem fedi le a teljes képet, ami zavaros lehet a felhasználók számára.

További információkért lásd: a delegálás áttekintése.

Szintaxis

Sort( Táblázat, képlet [, SortOrder ] )

  • Tábla - Kötelező. A rendezendő tábla.
  • Képlet - kötelező. A képletet a szoftver a táblában szerepelő minden rekord vonatkozásában kiértékeli, a tábla pedig az így kapott eredmények alapján rendeződik. A hivatkozás alapjául a táblában szereplő oszlopok használhatók.
  • SortOrder – Nem kötelező. Adja meg a SortOrder.Descending argumentumot a tábla csökkenő sorrendben történő rendezéséhez. A SortOrder.Ascending az alapértelmezett érték.

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

  • Tábla - Kötelező. A rendezendő tábla.

  • ColumnNames - Kötelező. A rendezendő oszlopok sztringként megadva.

  • SortOrders - Nem kötelező. SortOrder.Ascending vagy SortOrder.Descending. A SortOrder.Ascending az alapértelmezett beállítás. Ha több Oszlopnév van megadva, az utolsó kivételével az összes oszlopnak tartalmaznia kell a SortOrder argumentumot.

    Feljegyzés

    Azoknál a SharePoint- és Excel-adatforrásoknál, amelyek szóközzel ellátott oszlopneveket tartalmaznak, minden szóközt „_x0020_”-ként adjon meg. Például a „Column Name” oszlopot „Column_x0020_Name” értékként adja meg.

SortByColumns( Table, ColumnName, SortOrderTable )

  • Tábla - Kötelező. A rendezendő tábla.

  • ColumnName – Kötelező. A rendezendő oszlop sztringként megadva.

  • SortOrderTable - Kötelező. A rendezés alapjául szolgáló értékek egyoszlopos táblában.

    Feljegyzés

    Azoknál a SharePoint- és Excel-adatforrásoknál, amelyek szóközzel ellátott oszlopneveket tartalmaznak, minden szóközt „_x0020_”-ként adjon meg. Például a „Column Name” oszlopot „Column_x0020_Name” értékként adja meg.

Példák

A következő példában a Jégkrémadatforrást használjuk, amely ebben a táblában szerepelteti az adatokat:

Icecream példa.

Képlet Description Eredmény
Sort( IceCream, Flavor )

SortByColumns( IceCream, "Flavor" )
A Jégkrém adatforrást az Íz oszlop alapján rendezi. Az Íz oszlop sztringekből áll, így a tábla betűrendben lesz látható. Alapértelmezés szerint a rendezés iránya növekvő. Ábécé szerint rendezve.
Sort( IceCream, Quantity )

SortByColumns( IceCream, "Quantity" )
A Jégkrém adatforrást a Mennyiség oszlop alapján rendezi. A Mennyiség oszlop számokból áll, ezért a tábla numerikusan lesz rendezve. Alapértelmezés szerint a rendezés iránya növekvő. Számszerűen rendezve.
Sort( IceCream, Quantity, SortOrder.Descending )

SortByColumns( IceCream, "Quantity", SortOrder.Descending )
A Jégkrém adatforrást a Mennyiség oszlop alapján rendezi. A Mennyiség oszlop számokból áll, ezért a rendezés numerikusan történik. A rendezés iránya csökkenőként lett megadva. Számszerűen és csökkenő sorrendben rendezve.
Sort( IceCream, Quantity + OnOrder ) A Jégkrém adatforrást a Mennyiség és a Megrendelve oszlop összege alapján rendezi rekordonként. Az összeg egy szám, így a rendezés numerikusan történik. Alapértelmezés szerint a rendezés iránya növekvő. Mivel képletek szerint rendezünk, és nem nyers oszlopértékek szerint, nincs ezzel egyenértékű.SortByColumns Numerikus és növekvő rendezés.
Sort( SortIceCream, OnOrder ), Quantity )

SortByColumns( IceCream, "OnOrder", SortOrder.Ascending, "Quantity", SortOrder.Ascending )
A Jégkrém adatforrást először a Megrendelve, majd a Mennyiség oszlop alapján rendezi. Megfigyelhető, hogy a „Pisztácia” a „Vanília” elé került a Megrendelve oszlop alapján végzett első rendezéskor, majd a Mennyiség oszlop alapján történt második rendezés után mindkettő a megfelelő helyre került. Pisztáciával rendezve a vanília felett.
SortByColumns( IceCream, "Flavor", [ "Pisztácia", "Strawberry" ] ) A Jégkrém adatforrást az Íz oszlop alapján rendezi egy egyoszlopos táblával, amely a „Pisztácia” és az „Eper” értéket tartalmazza. Azok a rekordok, amelyek Íz-értéke „Pisztácia”, előre kerülnek, őket pedig az „Eper” értékűek követik. Az Íz oszlop azon értékei, amelyekkel nincs egyezés, például a „Vanília”, az egyezést mutató elemek mögé kerülnek. Pisztáciával rendezve az eper felett.

Lépésről lépésre

Ezeket a példákat úgy próbálhatja ki, ha gyűjteményként létrehozza a Jégkrém adatforrást:

  1. Adjon hozzá egy gombot, és a Kiválasztáskor tulajdonság értékeként adja meg ezt a képletet:
    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: "Pisztácia", Mennyiség: 200, OnOrder: 10 } )
  2. Tekintse meg az alkalmazás előnézetét, kattintson a gombra, majd az Esc billentyűt lenyomva térjen vissza az alapértelmezett munkaterületre.
  3. Az így létrehozott gyűjteményt a Fájl menü Gyűjtemények elemét választva jelenítheti meg, majd az Esc billentyűt lenyomva térhet vissza az alapértelmezett munkaterületre.

Sort

  1. Adjon hozzá egy újabb gombot, az OnSelect tulajdonság értékeként pedig állítsa be ezt a képletet:
    ClearCollect( SortByFlavor, Sort( IceCream, Flavor ) )

    Ez a képlet egy második, SortByFlavor (Ízszerintirendezés) nevű gyűjteményt hoz létre, amely a Jégkrém gyűjteménnyel azonos adatokat tartalmaz. Az új gyűjtemény azonban már az Íz oszlop alapján, növekvő betűrendben jeleníti meg az adatokat.

  2. Nyomja le az F5 billentyűt, kattintson az új gombra, majd nyomja le az Esc billentyűt.

  3. A két gyűjteményt a Fájl menü Gyűjtemények elemét választva jelenítheti meg, majd az Esc billentyűt lenyomva térhet vissza az alapértelmezett munkaterületre.

  4. Ismételje meg az utolsó három lépést, de módosítsa a létrehozni kívánt gyűjtemény nevét, és cserélje le a Sort képletet a jelen szakasz korábbi példáinak táblázatától eltérő képletre.Sort

SortByColumns

  1. Adjon hozzá egy újabb gombot, az OnSelect tulajdonság értékeként pedig állítsa be ezt a képletet:
    ClearCollect( SortByQuantity, SortByColumns( IceCream, "Quantity", SortOrder.Ascending, "Flavor", SortOrder.Descending )

    Ez a képlet egy harmadik, SortByQuantity (Mennyiségszerintirendezés) nevű gyűjteményt hoz létre, amely a Jégkrém gyűjteménnyel azonos adatokat tartalmaz. Az új gyűjtemény azonban először a Mennyiség oszlop szerint növekvő numerikus sorrendbe, majd az Íz oszlop alapján csökkenő sorrendbe van rendezve.

  2. Nyomja le az F5 billentyűt, kattintson az új gombra, majd nyomja le az Esc billentyűt.

  3. A három gyűjteményt a Fájl menü Gyűjtemények elemét választva jelenítheti meg, majd az Esc billentyűt lenyomva térhet vissza az alapértelmezett munkaterületre.

  4. Ismételje meg az utolsó három lépést, de módosítsa a létrehozni kívánt gyűjtemény nevét, és cserélje le a SortByColumns képletet a jelen szakasz korábbi példáinak táblázatától eltérő képletre.SortByColumns