Нотатка
Доступ до цієї сторінки потребує авторизації. Можна спробувати ввійти або змінити каталоги.
Доступ до цієї сторінки потребує авторизації. Можна спробувати змінити каталоги.
Застосовується до: Програми
Canvas Copilot Studio
Desktop flows
Model-driven apps
Power Platform CLI
Dataverse functions
Power Pages
Сортує таблицю.
Нотатка
Pac CLI pac power-fx команди не підтримують SortByColumns функцію.
Опис
Функція Sort сортує таблицю за формулою.
Формула виконується для кожного запису таблиці, а результати використовуються для сортування таблиці. Результатом формули має стати число, рядок або логічне значення. Її результатом не може бути таблиця або запис.
Поля оброблюваного запису доступні у формулі. Використовуйте оператор ThisRecord або просто вкажіть посилання на поля за іменем, як у випадку з будь-яким іншим значенням. Оператор As також можна використовувати для призначення імені оброблюваного запису, що спростить сприймання формули та зробить вкладені записи доступними. Додаткову інформацію див. у прикладах нижче та в статті Робота з областю застосування записів.
Щоб спочатку відсортувати дані за одним стовпцем, а потім за іншим, формулу Sort вбудовано в інший. Наприклад, за допомогою цієї формули можна сортувати таблицю "Контакти" спочатку за стовпцем "Прізвище ", а потім за стовпцем "Ім'я ": Sort( ( Sort"Контакти", "Прізвище"), "Ім'я")
Функцію SortByColumns також можна використовувати для сортування таблиці за одним або кількома стовпцями.
У списку параметрів містяться імена стовпців, SortByColumns за якими потрібно сортувати дані, і напрямок сортування для кожного стовпця. Сортування виконується в порядку параметрів (спочатку сортується за першим стовпцем, потім за другим тощо). Імена стовпців вказуються як рядки, що потребують подвійних лапок, якщо вони безпосередньо включені до списку параметрів. Наприклад,SortByColumns ( CustomerTable, "Прізвище" ).
Можна об'єднати SortByColumns за допомогою елемента керування Розкривний список або Список, щоб користувачі могли вибрати стовпець, за яким потрібно сортувати дані.
Крім сортування за зростанням або спаданням, SortByColumns можна сортувати дані за однією стовпчастою таблицею значень. Наприклад, можна відсортувати запис на основі назви дня тижня, ввівши ["Понеділок", "Вівторок", "Середа", "Четвер", "П'ятниця", "Субота", "Неділя"] як порядок сортування. Усі записи, що мають Понеділок, будуть відображатися першими, а потім Вівторок тощо. Знайдені записи, які не відображаються в таблиці сортування, буде розташовано в кінці списку.
Таблиці - це значення Power Apps, так само як рядок або число. Їх можна передавати в функції та повертати від функцій. Sort і SortByColumn не змінюють таблицю; замість цього вони беруть таблицю як аргумент і повертають нову таблицю, відсортовану. Додаткові відомості див. в розділі Робота з таблицями.
Делегування
За можливості Power Apps делегуватимуть операції фільтрування й сортування джерелу даних і розбиватимуть результати на сторінки за запитом. Наприклад, якщо ви запустите програму, яка показує Галерею даних, на пристрій спочатку буде завантажено лише перший набір записів. Додаткова інформація завантажуватиметься з джерела даних, коли користувач прокручуватиме галерею. Це прискорює запуск програм і доступ до дуже великих наборів даних.
Утім, делегування не завжди можливе. Джерела даних відрізняються за наборами функцій і операторів, які вони підтримують під час делегування. Якщо повністю делегувати формулу неможливо, неделеговану частину буде виділено в редакторі з попередженням. Якщо можливо, спробуйте змінити формулу, відмовившись від функцій і операторів, які не можна делегувати. У списку делегування перелічено всі джерела даних і операції, які можна делегувати.
Якщо делегування неможливе, Power Apps завантажить лише невеликий набір записів для локальної обробки. Функції фільтрування й сортування працюватимуть з обмеженим набором записів. Тобто в Галереї може відображатися не вся історія, що може спантеличити користувачів.
Додаткову інформацію див. у статті Огляд делегування.
Синтаксис
Sort( Table, Formula [, SortOrder ] )
- Таблиця - обов’язковий. Таблицю, яку потрібно відсортувати.
- Формула - Обов’язкова. Ця формула виконується для кожного запису таблиці, а результати використовуються для сортування таблиці. В таблиці можна посилатися на стовпці.
- SortOrder - необов’язковий. Укажіть Порядок сортування.За спаданням, щоб відсортувати таблицю за спаданням. SortOrder.Ascending є значенням за замовчуванням.
SortByColumns( Table, ColumnName1 [, SortOrder1, ColumnName2, SortOrder2, ... ] )
Таблиця - обов’язковий. Таблицю, яку потрібно відсортувати.
ColumnNames- обов’язковий . Імена стовпців можна сортувати як рядки.
SortOrders- Необов’язковий . SortOrder.Ascending або SortOrder.Descending. SortOrder.За зростанням використовується за замовчуванням. Якщо додаються кілька Імен стовпців, усі окрім останнього стовпця мають містити значення Порядок сортування.
Нотатка
Для джерел даних SharePoint і Excel, які містять імена стовпців із пробілами, укажіть кожен пробіл як "_x0020_". Наприклад, укажіть "Ім’я стовпця" як "Ім’я_x0020_стовпця".
SortByColumns( Table, ColumnName, SortOrderTable )
Таблиця - обов’язковий. Таблицю, яку потрібно відсортувати.
ColumnName - обов’язковий. Ім’я стовпця, який потрібно сортувати як рядки.
SortOrderTable - обов’язковий. Таблиця з одним стовпцем значень, яку потрібно відсортувати.
Нотатка
Для джерел даних SharePoint і Excel, які містять імена стовпців із пробілами, укажіть кожен пробіл як "_x0020_". Наприклад, укажіть "Ім’я стовпця" як "Ім’я_x0020_стовпця".
Приклади
Для наступних прикладів ми будемо використовувати джерело данихIceCream («Морозиво»), в якому містяться дані в цій таблиці:
| Формула | Опис | Результат |
|---|---|---|
|
Sort( IceCream, Flavor ) SortByColumns( IceCream, "Flavor" ) |
Сортує Морозиво за її стовпцем Смак. У стовпці Смак містяться рядки, тому таблицю можна відсортувати в алфавітному порядку. Значення за замовчуванням: за зростанням. |
|
|
Sort( IceCream, Quantity ) SortByColumns( IceCream, "Кількість" ) |
Сортує Морозиво за її стовпцем Кількість. У стовпці Кількість містяться числа, тому таблицю можна відсортувати за числовими значеннями. Значення за замовчуванням: за зростанням. |
|
|
Sort( IceCream, Quantity, SortOrder.Descending ) SortByColumns( IceCream, "Кількість", SortOrder.Descending ) |
Сортує Морозиво за її стовпцем Кількість. У стовпці Кількість містяться числа, тому сортування виконується за числовими значеннями. Порядок сортування вибрано за спаданням. |
|
| Sort(IceCream, Quantity + OnOrder ) | Сортує Морозиво за сумою його стовпців Кількість та Замовлення для кожного запису окремо. Сума — це число, тому таблиця сортується за числовими значеннями. Значення за замовчуванням: за зростанням. Оскільки ми сортуємо дані за формулою, а не за необробленими значеннями стовпців, еквіваленту з використанням SortByColumns. |
|
|
Sort( SortIceCream, OnOrder ), Кількість ) SortByColumns( IceCream, "OnOrder", SortOrder.Ascending, "Кількість", SortOrder.Ascending ) |
Сортує Морозивоспочатку за його стовпцем Замовлення, а потім за стовпцем Кількість. Зверніть увагу, що "Фісташки" відображається вище "Ваніль" у першому сортуванні на основі стовпця Замовлення, а потім разом вони переносяться у відповідне місце на основі стовпця Кількість. |
|
| SortByColumns( IceCream, "Flavor", [ "Фісташковий", "Полуниця" ] ) | Сортує Морозиво за його стовпцем Смак на основі таблиці з одним стовпцем, що містить "Фісташки" і "Полуниця". Записи, які мають Смак "Фісташки", відображатимуться першими в результаті, а потім записи, що містять "Полуниця". Значення у стовпці Смак, які не відповідають умовам, наприклад "Ваніль", відобразяться після елементів, які відповідають умовам пошуку. |
|
Покрокові інструкції
Щоб виконати ці приклади самостійно, створіть джерело даних Морозиво в колекції:
- Додайте кнопку та налаштуйте її властивість OnSelect відповідно до нижченаведеної формули.
ClearCollect (морозиво, { смак: "Шоколад", кількість: 100, під замовлення: 150 }, { аромат: "Ваніль", кількість: 200, під замовлення: 20 }, { аромат: "Полуниця", кількість: 300, під замовлення: 0 }, { смак: "М’ятний шоколад", кількість: 60, під замовлення: 100 }, { аромат: "Фісташки", кількість: 200, під замовлення: 10) } - Перегляньте програму, натисніть кнопку, а потім натисніть клавішу Esc, щоб повернутися до робочої області за замовчуванням.
- Виберіть Колекції в меню Файл, щоб відобразити щойно створену колекцію, а потім натисніть клавішу Esc, щоб повернутися до робочої області за замовчуванням.
Sort
Додайте іншу кнопку та налаштуйте для її властивості Замовлення нижченаведену формулу.
ClearCollect( SortByFlavor, Sort( IceCream, Flavor )У попередній формулі створюється друга колекція з назвою Сортувати за смаком, яка містить ті ж дані, що й Морозиво. Проте нова колекція містить дані, відсортовані в алфавітному порядку за стовпцем Смак у порядку зростання.
Натисніть клавішу F5, натисніть нову кнопку, а потім натисніть клавішу Esc.
Виберіть Колекції в меню Файл, щоб відобразити обидві колекції, а потім натисніть клавішу ESC, щоб повернутися до робочої області за замовчуванням.
Повторіть останні три кроки, але змініть ім'я колекції, яку потрібно створити, і замініть Sort формулу на іншу формулу в таблиці прикладів, наведеній вище в цьому розділі.Sort
SortByColumns
Додайте іншу кнопку та налаштуйте для її властивості Замовлення нижченаведену формулу.
ClearCollect( SortByQuantity, SortByColumns( IceCream, "Кількість", SortOrder.Ascending, "Flavor", SortOrder.Descending )У попередній формулі створюється третя колекція з назвою Сортувати за кількістю, яка містить ті ж дані, що й Морозиво. Проте нова колекція містить дані, відсортовані за числами за стовпцем Кількість у порядку зростання, а потім за стовпцем Смак у порядку спадання.
Натисніть клавішу F5, натисніть нову кнопку, а потім натисніть клавішу Esc.
Виберіть Колекції в меню Файл, щоб відобразити всі три колекції, а потім натисніть клавішу ESC, щоб повернутися до робочої області за замовчуванням.
Повторіть останні три кроки, але змініть ім'я колекції, яку потрібно створити, і замініть SortByColumns формулу на іншу формулу в таблиці прикладів, наведеній вище в цьому розділі.SortByColumns