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

Застосовується до: Програми Canvas Copilot Studio Desktop flows Model-driven apps Power Platform CLI Dataverse functions

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

Функцію 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( TableOrRecord, ColumnName1, Formula1 [, ColumnName2, Formula2, ... ] )

  • TableOrRecord – обов'язковий аргумент. Таблиця або запис для роботи.
  • ColumnNames- обов’язковий . Назви стовпців, які потрібно додати.
  • Формули- обов’язкові . Формули для обчислення для кожного запису. Результат додається як значення відповідного нового стовпця. У цій формулі можна посилатися на інші стовпці таблиці або запису.

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

  • TableOrRecord – обов'язковий аргумент. Таблиця або запис для роботи.
  • ColumnNames- обов’язковий . Назви стовпців для скидання.

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

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

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

  • TableOrRecord – обов'язковий аргумент. Таблиця або запис для роботи.
  • ColumnNames- обов’язковий . Назви стовпців, які потрібно включити.

Приклади

Для прикладів у цьому розділі використовується джерело даних 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( IceCreamSales, Ціна за одиницю товару, ціна) Перейменовує стовпець UnitPrice в результаті. Результат — Flavor (Смак), Price (Ціна) і Revenue (Дохід).
RenameColumns(IceCreamSales, UnitPrice, Price, QuantitySold, Number) Перейменовує стовпці UnitPrice та QuantitySold в результаті. Результат із трьома видами морозива та стовпцями Flavor, Price і Revenue.
DropColumns(
RenameColumns(
AddColumns(IceCreamSales, Дохід,
Ціна за одиницю товару * Кількістьпроданих ),
Ціна за одиницю, ціна ),
Кількість )
Виконує перетворення у наведеній нижче таблиці по порядку, починаючи з середини формули:
  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.

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

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