Функції AddColumns, DropColumns, RenameColumns та ShowColumns
Застосовується до: програм Canvas Потоків робочого столу Програм Power Platform CLI на основі моделі
Утворює таблицю за допомогою додавання, видалення, перейменовування та вибирання її стовпців.
Функцію **ForAll також можна використовувати для формування таблиці, повертаючи таблицю нових записів, створених із наявних стовпців.
Зведення
Ці функції утворюють таблицю, регулюючи її стовпці:
- Зменшіть таблицю, яка містить кілька стовпців, до одного стовпця для використання з функціями з одним стовпцем, такими як Lower або Sqrt.
- Додайте обчислюваний стовпець до таблиці (наприклад, стовпець Загальна ціна, у якому відображаються результати множення значень Кількість на Ціна за одиницю).
- Перейменуйте стовпець на щось більш зрозуміле, для відображення для користувачів або використання у формулах.
Таблиця – це значення в Power Apps, подібне до рядка або числа. Таблицю можна вказати як аргумент у формулі, і функції можуть повертати таблицю як результат.
Нотатка
Функції, описані в цьому розділі, не змінюють вихідну таблицю. Натомість, вони беруть цю таблицю як аргумент і повертають нову таблицю із застосованим перетворенням. Докладнішу інформацію дивіться в розділі Робота з таблицями.
За допомогою цих функцій не можна змінити стовпці джерела даних. Дані потрібно змінювати в джерелі. Стовпці можна додати до колекції за допомогою функції Collect. Щоб отримати додаткові відомості, перегляньте статтю Робота з джерелами даних.
Опис
Функція AddColumns додає стовпець до таблиці, а формула визначає значення в цьому стовпці. Наявні стовпці залишаються незмінними.
Формула обчислюється для кожного запису таблиці.
Поля оброблюваного запису доступні у формулі. Використовуйте оператор ThisRecord або просто вкажіть посилання на поля за іменем, як у випадку з будь-яким іншим значенням. Оператор As також можна використовувати для призначення імені оброблюваного запису, що спростить сприймання формули та зробить вкладені записи доступними. Додаткову інформацію див. у прикладах нижче та в статті Робота з областю застосування записів.
Функція DropColumns виключає стовпці з таблиці. Усі інші стовпці залишаються незмінними. DropColumns виключає стовпці, а ShowColumns включає стовпці.
За допомогою функції RenameColumns можна перейменувати один або кілька стовпців таблиці, указавши щонайменше одну пару аргументів, яка задає ім’я стовпця, що міститься в таблиці, (старе ім’я, яке потрібно замінити) та ім’я стовпця, що не міститься в таблиці, (нове ім’я, яке потрібно використовувати). Старе ім’я вже має існувати в таблиці, а нового імені там не має бути. Ім’я кожного стовпця може з’явитися у списку аргументів лише один раз як ім’я старого стовпця або нового стовпця. Щоб перейменувати стовпець на наявне ім’я стовпця, спочатку вилучіть наявний стовпець за допомогою функції DropColumns або перейменуйте наявний стовпець (щоб він не заважав), вклавши одну функцію RenameColumns в іншу.
Функція ShowColumns включає стовпці таблиці та викидає всі інші стовпці. За допомогою функції ShowColumns із таблиці з кількома стовпцями можна створити таблицю з одним стовпцем. ShowColumns включає стовпці, а DropColumns виключає стовпці.
Для всіх цих функцій результатом є нова таблиця з застосованим перетворенням. Вихідна таблиця не змінюється. Формулою не можна змінити наявну таблицю. SharePoint, Microsoft Dataverse, SQL Server та інші джерела даних надають засоби для змінення стовпців списків, таблиць і таблиць, які часто називають схемою. Функції, наведені в цій статті, лише перетворюють таблицю введення, не змінюючи оригінальну, на таблицю виводу для подальшого використання.
Аргументи для цих функцій підтримують делегування. Наприклад, функція Filter використовується як аргумент, щоб виконати пошук пов’язаних записів у всіх входженнях, навіть якщо джерело даних '[dbo].[AllListings]' містить мільйон рядків:
AddColumns( RealEstateAgents,
Listings,
Filter( '[dbo].[AllListings]', ListingAgentName = AgentName )
)
Однак вихідні дані цих функцій залежать від обмеження неделегованих записів. У цьому прикладі повертаються лише 500 записів, навіть якщо джерело даних RealEstateAgents має 501 або більше записів.
Якщо ви використовуєте AddColumns таким чином, фільтр повинен робити окремі виклики до джерела даних для кожного з цих перших записів в RealEstateAgents, що викликає багато мережевих балачок. Якщо [dbo](.[AllListings] досить маленька і змінюється не часто. Ви можете викликати функцію «Збір » в OnStart , щоб кешувати джерело даних у вашому додатку під час його запуску. Або ж можна переструктурувати програму так, щоб ви підтягували пов’язані записи, лише коли користувач запитає їх.
Нотатка
До Power Apps версії 3.24042 назви стовпців вказувалися за допомогою текстового рядка з використанням подвійних лапок, і якщо вони підключені до джерело даних, вони також повинні були бути логічними іменами. Наприклад, замість відображуваного імені Ім’я без лапок використовувалося логічне ім’я "cr43e_name " з подвійними лапками . Для SharePoint джерел даних і джерел даних Excel, які містять імена стовпців із пробілами, кожен пробіл було вказано за допомогою "_x0020_", наприклад "Ім’я стовпця" як "Column_x0020_Name". Після цієї версії всі програми були автоматично оновлені до нового синтаксису, описаного в цій статті.
Синтаксис
AddColumns(Таблиця,ColumnName1,Formula1 [ , ColumnName2,Formula2 , ... ] )
- Таблиця - обов’язковий. Це таблиця, для якої потрібно виконати операцію.
- ColumnNames- Обов’язковий . Назви стовпців, які потрібно додати.
- Формули- обов’язкові . Формули для обчислення для кожного запису. Результат додається як значення відповідного нового стовпця. У цій формулі можна посилатися на інші стовпці таблиці.
DropColumns( Table,ColumnName1 [, ColumnName2, ... ] )
- Таблиця - обов’язковий. Це таблиця, для якої потрібно виконати операцію.
- ColumnNames- Обов’язковий . Назви стовпців для скидання.
RenameColumns(Table,OldColumnName1,NewColumnName1 [ , OldColumnName2,NewColumnName2 , ... ] )
- Таблиця - обов’язковий. Це таблиця, для якої потрібно виконати операцію.
- OldColumnNames- Обов’язковий . Назви стовпців для перейменування з вихідної таблиці. Цей елемент відображається першим у парі аргументів (або першим у кожній парі аргументів, якщо формула містить більше однієї пари).
- NewColumnNames- Обов’язковий . Заміна назв. Цей елемент відображається останнім у парі аргументів (або останнім у кожній парі аргументів, якщо формула містить більше однієї пари).
ShowColumns( Table,ColumnName1 [, ColumnName2, ... ] )
- Таблиця - обов’язковий. Це таблиця, для якої потрібно виконати операцію.
- ColumnNames- Обов’язковий . Назви стовпців, які потрібно включити.
Приклади
Для прикладів у цьому розділі використовується джерело даних IceCreamSales, у якому містяться дані в цій таблиці:
Жоден із цих прикладів не змінює джерело даних IceCreamSales. Кожна функція перетворює значення джерела даних як таблицю та повертає це значення як результат.
Формула | Опис | Результат |
---|---|---|
AddColumns( Продажі морозива, Дохід, Ціна одиниці * КількістьПродано ) | Додає стовпець Revenue до результату. Для кожного запису обчислюється UnitPrice * QuantitySold, і результат розміщається в новому стовпці. | |
DropColumns( Продажі Морозива, Ціна одиниці товару ) | Виключає стовпець UnitPrice з результату. За допомогою цієї функції можна виключити стовпці, а за допомогою функції ShowColumns їх можна включити. | |
ShowColumns( Продажі морозива, Смак ) | У результат включає лише стовпець Flavor. За допомогою цієї функції можна включити стовпці, а за допомогою функції DropColumns їх можна виключити. | |
RenameColumns( Продажі морозива, Ціна за одиницю, Ціна) | Перейменовує стовпець UnitPrice в результаті. | |
RenameColumns( Продажі Морозива, Ціна за одиницю, Ціна, КількістьПродано, Кількість) | Перейменовує стовпці UnitPrice та QuantitySold в результаті. | |
DropColumns( RenameColumns( AddColumns( Продажі морозива, Дохід, UnitPrice * QuantitySold ), Ціна за одиницю, Ціна ), Кількість) |
Виконує перетворення у наведеній нижче таблиці по порядку, починаючи з середини формули:
|
Покрокові інструкції
Давайте розглянемо деякі приклади з наведених раніше в цій статті.
Створіть колекцію, додавши елемент керування Кнопка і встановивши для його властивості OnSelect цю формулу.
ClearCollect( IceCreamSales, Table( { Flavor: "Strawberry", UnitPrice: 1.99, QuantitySold: 20 }, { Flavor: "Chocolate", UnitPrice: 2.99, QuantitySold: 45 }, { Flavor: "Vanilla", UnitPrice: 1.50, QuantitySold: 35 } ) )
Виконайте формулу, натиснувши кнопку, утримуючи натиснутою клавішу Alt.
Додайте другий елемент керування Кнопка, і для його властивості OnSelect укажіть цю формулу, а потім виконайте її:
ClearCollect( FirstExample, AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold ) )
У меню Файл виберіть Колекції, а потім виберіть IceCreamSales, щоб показати цю колекцію.
Згідно з цим зображенням друга формула не змінила цю колекцію. Функція AddColumns використала IceCreamSales як аргумент лише для читання; ця функція не змінила таблицю, на яку посилається її аргумент.
Виберіть FirstExample.
Згідно з цим зображенням друга формула повернула нову таблицю з доданим стовпцем. Функція ClearCollect захопила нову таблицю в колекції FirstExample, додавши щось до оригінальної таблиці під час проходження функцією, не змінюючи джерела:
Зіставлення стовпців у компоненті компонента
Див. Зіставлення стовпців.