Sort и SortByColumns функције

Односи се на: Цанвас апликације Цопилот Студио Десктоп тече Апликације засноване на моделу Повер Платформ ЦЛИ Датаверсе функције Повер Пагес

Сортира табелу.

Белешка

ПАЦ ЦЛИ пац повер-фк команде не подржавају функцију SortByColumns .

Опис

Функција Sort сортира табелу на основу формуле.

Формула се процењује за сваки запис у табели, а резултати се користе за сортирање табеле. Формула мора да има број, низ или логичку вредност као резултат; она не може да има табелу или запис као резултат.

Поља записа који се тренутно обрађује су доступна у формули. Користите оператор ThisRecord или једноставно референцирајте поља по називу као и било коју другу вредност. Оператор As такође може да се користи за именовање записа који се обрађује што може да помогне вашој формули да лакше разуме и учини угнежђене записе доступнима. Више информација потражите у примерима у наставку и чланку о раду са опсегом записа.

Да бисте прво сортирали по једној колони, а затим по другој, уградите формулу Sort у другу. На пример, можете користити ову формулу да сортирате табелу контаката прво колоном ЛастНаме , а затим колоном ФирстНаме : Sort( Sort( ( Контакти, Презиме ), ФирстНаме )

Функција SortByColumns се такође може користити за сортирање табеле на основу једне или више колона.

Листа параметара за SortByColumns обезбеђује имена колона за сортирање и правац сортирања по колони. Сортирање се врши редоследом параметара (сортирано прво према првој колони, затим према другој и тако редом). Називи колона су наведени као ниске за које су потребни двоструки наводници ако су директно укључене у листу параметара. На пример, SortByColumns( ЦустомерТабле, "Презиме") .

Можете комбиновати SortByColumns са падајућим мени ор Листа бок контрола да бисте омогућили корисницима да изаберу колону за сортирање.

Поред сортирања узлазно или опадајуће, SortByColumns може сортирати на основу једне колоне табеле вредности. На пример, можете сортирати запис на основу имена дана у недељи уношењем података [„понедељак“, „уторак“, „среда“, „четвртак“, „петак“, „субота“, „недеља“] као редослед сортирања. Сви записи који имају понедељак" биће на првом месту, а за њима следи уторак и тако редом. Пронађени записи који се не појављују у табели сортирања стављају се на крај листе.

Табеле су вредност у Power Apps, баш као стринг или број. Могу се проследити у функције и функције их могу вратити. Sort и СортБиЦолумн не мењају табелу; уместо тога, они узимају табелу као аргумент и враћају нову табелу која је сортирана. За више детаља погледајте рад са табелама

Делегирање

Када је могуће, Power Apps ће делегирати операције за филтрирање и сортирање извору података и страници помоћу резултата на захтев. На пример, када покренете апликацију у којој је приказанa контрола Галерија попуњена подацима, само први скуп записа ће првобитно бити пренет у уређај. Док корисник помера садржај, додатни подаци се преузимају из извора података. Резултат је брже време покретања апликације и приступ веома великим скуповима података.

Међутим, делегирања није увек могуће. Извори података се разликују према функцијама и операторима које подржавају помоћу делегирања. Ако комплетно делегирање формуле није могуће, окружење за креирање користи упозорење да означи део који не може да се делегира. Када је могуће, размислите о промени формуле да бисте избегли функције и операторе који не могу да се делегирају. Листа делегирања наводи који извори података и операције могу да се делегирају.

Ако делегирање није могуће, Power Apps преузима само мали скуп записа са којима може локално да се ради. Функције филтрирања и сортирања функционишу на ограниченом скупу записа. Оно што је доступно у Галерији можда није комплетна слика, што може да збуни кориснике.

Више информација потражите у прегледу делегирања.

Синтакса

Sort( Табела , формула [, СортОрдер ] )

  • Табела - Обавезно. Табела за сортирање.
  • Формула - Обавезно. Ова формула се процењује за сваки запис у табели, а резултати се користе за сортирање табеле. Можете да референцирате колоне унутар табеле.
  • СортОрдер - Опционо. Наведите SortOrder.Descending за сортирање табеле у опадајућем редоследу. СортОрдер .Асцендинг је подразумевана вредност.

SortByColumns( Табела , ColumnName1 [, SortOrder1 , ColumnName2 , SortOrder2 , ... ] )

  • Табела - Обавезно. Табела за сортирање.

  • ЦолумнНамес - Обавезно. Називи колона за сортирање, као низови.

  • СортОрдерс - Опционо. СортОрдер.Асцендинг или СортОрдер.Десцендинг. СортОрдер .Асцендинг је подразумевано. Ако има више ColumnNames, све колоне осим последње морају да садрже SortOrder.

    Белешка

    За SharePoint и Excel изворе података који садрже називе колона са размацима, наведите сваки размак као "_x0020_". На пример, наведите "Column Name" као "Column_x0020_Name".

SortByColumns( Табела , ЦолумнНаме , СортОрдерТабле )

  • Табела - Обавезно. Табела за сортирање.

  • ЦолумнНаме - Обавезно. Назив колоне за сортирање, као низови.

  • СортОрдерТабле - Обавезно. Табела вредности са једном колоном према којој се сортира.

    Белешка

    За SharePoint и Excel изворе података који садрже називе колона са размацима, наведите сваки размак као "_x0020_". На пример, наведите "Column Name" као "Column_x0020_Name".

Примери

За следеће примере ћемо користити IceCreamизвор података, који садржи податке у овој табели:

IceCream пример.

Формула Опис Резултат
Sort( Сладолед, Укус )

SortByColumns( Сладолед, "Укус" )
Сортира IceCream према колони Flavor. Колона Flavor садржи ниске, па је табела сортирана по абецеди. Подразумевано је редослед сортирања растући. Сортирано по азбучном реду.
Sort( Сладолед, количина )

SortByColumns( Сладолед, "Количина" )
Сортира IceCream према колони Quantity. Колона Quantity садржи бројеве, па је табела сортирана нумерички. Подразумевано је редослед сортирања растући. Сортирано нумерички.
Sort( Сладолед, количина, СортОрдер.Десцендинг )

SortByColumns( Сладолед, "Количина", СортОрдер.Десцендинг )
Сортира IceCream према колони Quantity. Колона Quantity садржи бројеве, па се сортирање обавља нумерички. Редослед сортирања је наведен као опадајући. Сортирано нумерички и у опадајућем редоследу.
Sort( Сладолед, количина + наруџбина ) Сортира IceCream према збиру колона Quantity и OnOrder посебно за сваки запис. Збир је број, па је табела сортирана нумерички. Подразумевано је редослед сортирања растући. Пошто сортирамо по формули, а не по сировим вредностима колона, не постоји еквивалент користећи SortByColumns. Сортирано нумерички и у растућем редоследу.
Sort( Sort( Сладолед, ОнОрдер ), Количина )

SortByColumns( Сладолед, "ОнОрдер", СортОрдер.Асцендинг, "Количина", СортОрдер.Асцендинг )
Сортира прво IceCream према колони OnOrder, а затим према колони Quantity. Имајте на уму да се „Пистаћи“ подигао изнад „Ванила“ у првом сортирању заснованом на OnOrder, а затим су се заједно преместили на одговарајуће место на основу Quantity. Сортирано са пистаћима изнад ванилије.
SortByColumns( Сладолед, "Укус", [ "Пистација", "Јагода" ] ) Сортира IceCream према колони Flavor на основу колоне са једном табелом која садржи "Pistachio" и "Strawberry". Записи који имају Flavor "Pistachio" ће се први појавити у резултату, а затим следе записи који садрже "Strawberry". За вредности у колони Flavor који се не подударају, као што је "Vanilla", појавиће се после ставки које се подударају. Сортирано са пистаћима изнад јагоде.

Корак по корак

Да бисте сами покренули ове примере, креирајте извор података IceCream као а колекцију:

  1. Додајте дугме и подесите његово својство OnSelect према овој формули:
    ЦлеарЦоллецт ( Сладолед, { Укус: "Чоколада", Количина: 100, ОнОрдер: 150 }, { Укус: "Ванила", Количина: 200, ОнОрдер: 20 }, { Укус: "Јагода", Количина: 300, ОнОрдер: 0 }, { Укус: "Минт Чоколада", Количина: 60, ОнОрдер: 100 }, { Укус: "Пистација", Количина: 200, ОнОрдер: 10 } )
  2. Прегледајте апликацију, изаберите дугме, притисните Esc да бисте се вратили на подразумевани радни простор.
  3. Изаберите Колекције у менију Датотека за приказ колекције коју сте управо креирали, а затим притисните тастер Esc да бисте се вратили на подразумевани радни простор.

Sort

  1. Додајте друго дугме и подесите његово својство OnSelect према овој формули:
    ЦлеарЦоллецт ( СортБyФлавор, Sort( ИцеЦреам, Флавор ) )

    Претходна формула креира другу колекцију, која је названа SortByFlavor, која садржи исте податке као Ice Cream. Међутим, нова колекција садржи податке поређане абецедним редом према колони Flavor у растућем редоследу.

  2. Притисните F5 и изаберите ново дугме, а затим притисните тастер Esc.

  3. Изаберите Колекције у менију Датотека за приказ обе колекције, а затим притисните тастер Esc да бисте се вратили на подразумевани радни простор.

  4. Поновите последња три корака, али промените име колекције коју желите да креирате и замените формулу Sort другом формулом из табеле примера раније у овом одељку који користи Sort.

SortByColumns

  1. Додајте друго дугме и подесите његово својство OnSelect према овој формули:
    ЦлеарЦоллецт ( СортБyQуантитy, SortByColumns( ИцеЦреам, "Qуантитy", СортОрдер.Асцендинг, "Флавор", СортОрдер.Десцендинг ) )

    Претходна формула креира трећу колекцију, која је названа SortByQuantity, која садржи исте податке као Ice Cream. Међутим, нова колекција садржи податкесортиране нумерички према колони Quantity у растућем редоследу, а затим према колони Flavor у опадајућем редоследу.

  2. Притисните F5 и изаберите ново дугме, а затим притисните тастер Esc.

  3. Изаберите Колекције у менију Датотека за приказ све три колекције, а затим притисните тастер Esc да бисте се вратили на подразумевани радни простор.

  4. Поновите последња три корака, али промените име колекције коју желите да креирате и замените формулу SortByColumns другом формулом из табеле примера раније у овом одељку који користи SortByColumns.