AddColumns, DropColumns, RenameColumns и ShowColumns функции
Отнася се за: Приложения за платно Потоци на работния плот Приложения, управлявани 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 по този начин, Filter трябва да извършва отделни извиквания към източник на данни за всеки от тези първи записи в RealEstateAgents, което причинява много мрежови бърборения. Ако [dbo](.[AllListings] е достатъчно малък и не се променя често. Можете да извикате функцията Collect в OnStart , за да кеширате източника на данни във вашето приложение, когато се стартира. Като алтернатива бихте могли да преструктурирате приложението си така, че да дърпате съответните записи само когато потребителят ги поиска.
Бележка
Преди Power Apps версия 3.24042 имената на колоните се задават с текстов низ с помощта на двойни кавички и ако са свързани с източник на данни те също трябва да бъдат логически имена. Например логическото име "cr43e_name" с двойни кавички е използвано вместо показваното име Име без кавички. За SharePoint и източници на данни на Excel, които съдържат имена на колони с интервали, всяко пространство е посочено с "_x0020_", например "Име на колона" като "Column_x0020_Name". След тази версия всички приложения бяха автоматично актуализирани до новия синтаксис, описан в тази статия.
Синтаксис
AddColumns( Таблица; Име на колона1; Формула1 [, Име на колона2; Формула2, ... ] )
- Таблица - Задължително. Таблица за работа.
- ColumnNames - Задължително. Имена на колоните за добавяне.
- Формули - Задължително. Формули за оценка за всеки запис. Резултатът се добавя като стойността на съответната нова колона. Можете да посочите други колони от таблицата в тази формула.
DropColumns( Таблица; Име на колона1 [, Име на колона2, ... ] )
- Таблица - Задължително. Таблица за работа.
- ColumnNames - Задължително. Имена на колоните, които трябва да отпаднат.
RenameColumns( Таблица; OldColumnName1; NewColumnName1 [, OldColumnName2; NewColumnName2, ... ] )
- Таблица - Задължително. Таблица за работа.
- OldColumnNames - Задължително. Имена на колоните за преименуване от първоначалната таблица. Този елемент се появява първо в двойката аргументи (или първо във всяка двойка аргументи, ако формулата включва повече от една двойка).
- NewColumnNames - Задължително. Заместващи имена. Този елемент се появява последно в двойката аргументи (или последно във всяка двойка аргументи, ако формулата включва повече от една двойка).
ShowColumns( Таблица; Име на колона1 [, Име на колона2;... ] )
- Таблица - Задължително. Таблица за работа.
- ColumnNames - Задължително. Имената на колоните, които трябва да бъдат включени.
Примери
Примерите в този раздел използват IceCreamSales източник на данни, който съдържа данните в тази таблица:
Нито един от тези примери не променя IceCreamSales източник на данни. Всяка функция преобразува стойността на източник на данни като таблица и връща тази стойност като резултат.
Формула | Описание | Result |
---|---|---|
AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold ) | Добавя колона приход към резултата. За всеки запис, UnitPrice * QuantitySold се оценява и резултатът се поставя в новата колона. | |
DropColumns( IceCreamSales, Единична цена) | Изключва колоната UnitPrice от резултата. Използвайте тази функция, за да изключите колоните и да използвате ShowColumns да ги включва. | |
ShowColumns( СладоледПродажби, Вкус ) | Включва само Flavor колона в резултата. Използвайте тази функция, за да включите колоните и да използвате DropColumns, за да ги изключите. | |
RenameColumns( IceCreamSales, Единична цена, Цена) | Преименува колоната UnitPrice в резултата. | |
RenameColumns( IceCreamSales, Единична цена, Цена, КоличествоПродадено, Число) | Преименува колоните UnitPrice и QuantitySold в резултата. | |
DropColumns( RenameColumns( AddColumns( IceCreamSales, Revenue, 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, добавяйки нещо към оригиналната таблица, докато преминава през функцията, без да променя източника:
Карта на колони в компонент
Вижте Съпоставяне на колони.