AddColumns, DropColumns, RenameColumns, и ShowColumns функции

Отнася се за: Приложения за платно Copilot Studio Работен плот потоци Модел-управлявани приложения Power Platform CLI Dataverse функции

Оформя таблица или запис , като добавя, пуска, преименува и избира своите колони.

Функцията 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] е достатъчно малък и не се променя често. Можете да извикате функцията Collect в 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 източник на данни, който съдържа данните в тази таблица:

Пример за сладолед.

Нито един от тези примери не променя IceCreamSales източник на данни. Всяка функция преобразува стойността на източник на данни като таблица и връща тази стойност като резултат.

Формула Описание Result
AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold ) Добавя колона приход към резултата. За всеки запис, UnitPrice * QuantitySold се оценява и резултатът се поставя в новата колона. Резултат с ягода, шоколад и ванилия.
DropColumns( IceCreamSales, UnitPrice ) Изключва колоната UnitPrice от резултата. Използвайте тази функция, за да изключите колони и да ги използвате ShowColumns , за да ги включите. Резултат с ягода, шоколад, ванилия, имащ само колона QuantitySold.
ShowColumns( Леденопродажби, вкус) Включва само Flavor колона в резултата. Използвайте тази функция, за да включите колони, и ги използвайте DropColumns , за да ги изключите. Само колона „Аромат“.
RenameColumns( IceCreamSales, UnitPrice, Price) Преименува колоната UnitPrice в резултата. Резултат с вкус, цена и приходи.
RenameColumns( IceCreamSales, UnitPrice, Price, QuantitySold, Number) Преименува колоните UnitPrice и QuantitySold в резултата. Резултат с 3 сладоледа и колони като вкус, цена, приходи.
DropColumns(
RenameColumns(
AddColumns( IceCreamSales, Revenue,
Единичнацена * КоличествоСтарт ),
Единична цена, цена ),
Количество )
Извършва следните преобразувания на таблицата в ред, като се започне от вътрешността на формулата:
  1. Добавя колона Приходи въз основа на изчислението на запис на Единична цена * Количество.
  2. преименува UnitPrice на Цена
  3. Изключва колоната количество.
Поръчката е важна, например не можем да изчислим с UnitPrice , след като е преименувана.
Пример за сладолед за единична цена.

Стъпка по стъпка

Нека опитаме някои от примерите от по-рано в тази статия.

  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 като аргумент само за четене; функцията не модифицира таблицата, към която препраща този аргумент.

    Визуализатор на колекция, показващ три записа от колекцията „Продажби на сладолед”, която не включва графа „Приходи”.

  5. Изберете FirstExample.

    Както показва тази графика, втората формула върна нова таблица с добавената колона. Функцията ClearCollect улови новата таблица в колекция FirstExample, добавяйки нещо към оригиналната таблица, докато преминава през функцията, без да променя източника:

    Визуализатор на колекция, показващ три записа от колекцията „Първи пример”, която включва нова колона „Приходи”.

Карта на колони в компонент

Вижте Съпоставяне на колони.