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

Leírás

A Sort függvény táblákat rendez a megadott képlet alapján.

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, karakterlánc vagy logikai érték lehet – tábla vagy rekord nem.

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.

Egy oszlop, majd egy másik oszlop szerinti rendezéshez ágyazzon be egy Sort függvényt egy másikba. Ha például a Névjegyek nevű táblát szeretné először a Vezetéknév, majd az Utónév oszlop alapján rendezni: Sort( Sort( Névjegyek, Vezetéknév ), Utónév )

Egy tábla egy vagy több oszlop szerinti rendezéséhez a SortByColumns függvényt is használhatja.

A SortByColumns paraméterlistájában adhatja meg a rendezéshez használandó oszlopok nevét és az egyes oszlopokhoz tartozó rendezési irányt. 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 karakterláncként vannak megadva, ezért idézőjelek közé kell őket foglalni a paraméterlistában. Például: SortByColumns( Ügyféltábla, "Vezetéknév" ).

Ha a SortByColumns függvényt a Legördülő menü vagy a Listapanel vezérlővel kombinálja, a táblát használók kiválaszthatják a rendezés alapjául szolgáló oszlopokat.

A SortByColumns függvénnyel nemcsak növekvő vagy csökkenő sorrendbe rendezhet, hanem egy egyoszlopos tábla értékei alapján is. 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 PowerAppsban a táblák éppúgy értékek, mint a karakterláncok vagy a számok, így függvények alapjául és eredményeként is szolgálhatnak. A Sort és a SortByColumns nem módosítja a táblákat, hanem argumentumként felhasználva azokat egy új, rendezett táblát hoz létre. További részleteket a táblákkal való munkával foglalkozó témakörben talál.

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.

Szintaxis

Sort( Tábla, Képlet [, SortOrder ])

  • Tábla – Kötelező. A rendezendő tábla.
  • Képlet – Kötelező. Ez a képlet a táblában szerepelő minden rekord vonatkozásában ki lesz értékelve, 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( Tábla, Oszlopnév1 [, SortOrder1, Oszlopnév2, SortOrder2, ... ] )

  • Tábla – Kötelező. A rendezendő tábla.
  • Oszlopnév – Kötelező. A rendezendő oszlopok karakterláncként megadva.
  • SortOrder – Nem kötelező. SortOrder.Ascending vagy SortOrder.Descending. A SortOrder.Ascending az alapértelmezett érték. Ha több Oszlopnév van megadva, az utolsó kivételével az összes oszlopnak tartalmaznia kell a SortOrder argumentumot.

SortByColumns( Tábla, Oszlopnév, SortOrderTable )

  • Tábla – Kötelező. A rendezendő tábla.
  • Oszlopnév – Kötelező. A rendezendő oszlop karakterláncként megadva.
  • SortOrderTable – Kötelező. A rendezés alapjául szolgáló értékek egyoszlopos táblában.

Példák

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

Képlet Leírás Eredmény
Sort( Jégkrém, Íz )

SortByColumns( Jégkrém, "Íz" )
A Jégkrém adatforrást az Íz oszlop alapján rendezi. Az Íz oszlop karakterláncokból áll, így a tábla betűrendben lesz látható. Alapértelmezés szerint a rendezés iránya növekvő.
Sort( Jégkrém, Mennyiség )

SortByColumns( Jégkrém, "Mennyiség" )
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ő.
Sort( Jégkrém, Mennyiség, SortOrder.Descending)

SortByColumns (Jégkrém, "Mennyiség" 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.
Sort( Jégkrém, Mennyiség + Megrendelve ) 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 a rendezés képlet alapján történik, nem nyers oszlopérték szerint, a SortByColumns ebben az esetben nem használható.
Sort( Sort( Jégkrém, Megrendelve ), Mennyiség )

SortByColumns( Jégkrém, "Megrendelve", Ascending, "Mennyiség", 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.
SortByColumns( Jégkrém, "Íz", [ "Pisztácia", "Eper" ] ) 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.

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 az OnSelect tulajdonság értékeként adja meg ezt a képletet:
    ClearCollect( Jégkrém, { Íz: "Csokoládé", Mennyiség: 100, Megrendelve: 150 }, { Íz: "Vanília", Mennyiség: 200, Megrendelve: 20 }, { Íz: "Eper", Mennyiség: 300, Megrendelve: 0 }, { Íz: "Mentolos csokoládé", Mennyiség: 60, Megrendelve: 100 }, { Íz: "Pisztácia", Mennyiség: 200, Megrendelve: 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.

Rendezés

  1. Adjon hozzá egy újabb gombot, az OnSelect tulajdonsághoz állítsa be ezt a képletet:
    ClearCollect( Ízszerintirendezés, Sort( Jégkrém, Íz ) )

    Ez a képlet egy második, Í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, a Sort függvényt pedig cserélje a példákat tartalmazó fenti táblázat egy másik Sort függvényére.

SortByColumns

  1. Adjon hozzá egy újabb gombot, az OnSelect tulajdonság értékeként pedig állítsa be ezt a képletet:
    ClearCollect( Mennyiségszerintirendezés, SortByColumns( Jégkrém, "Mennyiség", Növekvő, "Íz", Csökkenő ) )

    Ez a képlet egy harmadik, 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, a SortByColumns függvényt pedig cserélje a példákat tartalmazó fenti táblázat egy másik SortByColumns függvényére.