Поділитися через


Функції AddColumns, DropColumns, RenameColumns і ShowColumns

Застосовується до: програм Canvas Потоків робочого столу Програм, Power Platform керованих моделлю, CLI

Утворює таблицю за допомогою додавання, видалення, перейменовування та вибирання її стовпців.

Функцію «Для **всього » також можна використовувати для формування таблиці, повертаючи таблицю нових записів, створених із наявних стовпців.

Зведення

Ці функції утворюють таблицю, регулюючи її стовпці:

  • Зменшіть таблицю, яка містить кілька стовпців, до одного стовпця для використання з функціями з одним стовпцем, наприклад 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, що спричиняє багато мережевих балачок. If [dbo](.[AllListings] досить маленька і змінюється не часто. Ви можете викликати функцію збору в OnStart , щоб кешувати джерело даних у вашому додатку під час його запуску. Або ж можна переструктурувати програму так, щоб ви підтягували пов’язані записи, лише коли користувач запитає їх.

Нотатка

До Power Apps версії 3.24042 назви стовпців вказувалися текстовим рядком з використанням подвійних лапок, і якщо вони були підключені до джерело даних, вони також повинні були бути логічними іменами. Наприклад, замість відображуваного імені Ім’я без лапок було використано логічне ім’я "cr43e_name" з подвійними лапками . Для SharePoint джерел даних і джерел даних Excel, які містять імена стовпців із пробілами, кожен пробіл указувався за допомогою «_x0020_», наприклад «Ім’я стовпця» як «Column_x0020_Name». Після цієї версії всі програми були автоматично оновлені до нового синтаксису, описаного в цій статті.

Синтаксис

AddColumns( Table, ColumnName1, Formula1 [, ColumnName2, Formula2, ... ] )

  • Table – обов’язковий аргумент. Це таблиця, для якої потрібно виконати операцію.
  • ColumnName(s) — обов'язковий аргумент. Назви стовпців, які потрібно додати.
  • Formula(s) – обов’язковий аргумент. Формули для оцінки для кожного запису. Результат додається як значення відповідного нового стовпця. У цій формулі можна посилатися на інші стовпці таблиці.

DropColumns( Table, ColumnName1 [, ColumnName2, ... ] )

  • Table – обов’язковий аргумент. Це таблиця, для якої потрібно виконати операцію.
  • ColumnName(s) — обов'язковий аргумент. Назви стовпчиків, які потрібно скинути.

RenameColumns( Table, OldColumnName1, NewColumnName1 [, OldColumnName2, NewColumnName2, ... ] )

  • Table – обов’язковий аргумент. Це таблиця, для якої потрібно виконати операцію.
  • OldColumnNames - обов’язковий. Імена стовпців, які потрібно перейменувати з вихідної таблиці. Цей елемент відображається першим у парі аргументів (або першим у кожній парі аргументів, якщо формула містить більше однієї пари).
  • NewColumnNames- обов’язковий . Заміна назв. Цей елемент відображається останнім у парі аргументів (або останнім у кожній парі аргументів, якщо формула містить більше однієї пари).

ShowColumns( Table, ColumnName1 [, ColumnName2, ... ] )

  • Table – обов’язковий аргумент. Це таблиця, для якої потрібно виконати операцію.
  • ColumnName(s) — обов'язковий аргумент. Назви стовпців, які потрібно включити.

Приклади

Для прикладів у цьому розділі використовується джерело даних IceCreamSales, у якому містяться дані в цій таблиці:

Приклад Iceсream.

Жоден із цих прикладів не змінює джерело даних IceCreamSales. Кожна функція перетворює значення джерела даних як таблицю та повертає це значення як результат.

Формула Опис Результат
AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold ) Додає стовпець Revenue до результату. Для кожного запису обчислюється UnitPrice * QuantitySold, і результат розміщається в новому стовпці. Результат — Strawberry (Полуниця), Chocolate (Шоколад) та Vanilla (Ваніль).
DropColumns( IceCreamSales, UnitPrice ) Виключає стовпець UnitPrice з результату. За допомогою цієї функції можна виключити стовпці, а за допомогою функції ShowColumns їх можна включити. Результат — Strawberry, Chocolate, Vanilla лише із одним стовпцем QuantitySold.
ShowColumns( Продажі морозива, Смак ) У результат включає лише стовпець Flavor. За допомогою цієї функції можна включити стовпці, а за допомогою функції DropColumns їх можна виключити. Лише стовпець Flavor (Смак).
RenameColumns( Продажі морозива, Ціна за одиницю, Ціна) Перейменовує стовпець UnitPrice в результаті. Результат — Flavor (Смак), Price (Ціна) і Revenue (Дохід).
RenameColumns( IceCreamSales, UnitPrice, Price, QuantitySold, Number) Перейменовує стовпці UnitPrice та QuantitySold в результаті. Результат із трьома видами морозива та стовпцями Flavor, Price і Revenue.
DropColumns(
RenameColumns(
AddColumns( IceCreamSales, Revenue,
UnitPrice * QuantitySold ),
UnitPrice, Price ),
Кількість)
Виконує перетворення у наведеній нижче таблиці по порядку, починаючи з середини формули:
  1. Додає стовпець «Дохід » на основі обчислення за записом параметра «Ціна одиниці товару * Кількість».
  2. Перейменовує UnitPrice на Price.
  3. Виключає стовпець Quantity.
Ордер важливий, наприклад, ми не можемо обчислити за допомогою UnitPrice після його перейменування.
Приклад IceCream для ціни за одиницю.

Покрокові інструкції

Давайте розглянемо деякі приклади з попередніх прикладів у цій статті.

  1. Створіть колекцію, додавши елемент керування Кнопка і встановивши для його властивості 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 }
       )
    )
    
  2. Виконайте формулу, натиснувши кнопку, утримуючи натиснутою клавішу Alt.

  3. Додайте другий елемент керування Кнопка, і для його властивості OnSelect укажіть цю формулу, а потім виконайте її:

    ClearCollect( FirstExample,
       AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold )
    )
    
  4. У меню Файл виберіть Колекції, а потім виберіть IceCreamSales, щоб показати цю колекцію.

    Згідно з цим зображенням друга формула не змінила цю колекцію. Функція AddColumns використала IceCreamSales як аргумент лише для читання; ця функція не змінила таблицю, на яку посилається її аргумент.

    У засобі перегляду колекції відображаються три записи колекції Ice Cream Sales, яка не містить стовпця Revenue.

  5. Виберіть FirstExample.

    Згідно з цим зображенням друга формула повернула нову таблицю з доданим стовпцем. Функція ClearCollect захопила нову таблицю в колекції FirstExample, додавши щось до оригінальної таблиці під час проходження функцією, не змінюючи джерела:

    У засобі перегляду колекції відображаються три записи колекції First Example, яка містить новий стовпець Revenue.

Зіставлення стовпців у компоненті компонента

Див. Зіставлення стовпців.