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

Отнася се за: Canvas apps Desktop flows Model-driven apps Power Platform CLI

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

Преглед

Тези функции оформят таблица, като коригират нейните колони:

  • Намалете таблица, която съдържа множество колони, до една колона за използване с функции на една колона, като например Lower или Abs.
  • Добавете изчислена колона към таблица (например колона Обща цена, която показва резултатите от умножението количество от Единична цена).
  • Преименувайте колона на нещо по-смислено, за показване на потребителите или за използване във формули.

Таблицата е стойност в 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 да кешира източник на данни в приложението ви, когато се стартира. Като алтернатива бихте могли да преструктурирате приложението си така, че да дърпате съответните записи само когато потребителят ги поиска.

Синтаксис

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

  • Table – Задължително. Таблица за работа.
  • ColumnName(s) - Задължително. Имена на колони за добавяне. Трябва да посочите низ (например, "Име" с включени двойни кавички) за този аргумент. Трябва да зададете имената на колоните, като използвате логическото й име. Intellisense ще предложи само логически имена. Логическото име е чувствително към малки и главни букви.
  • Formula(s) - Задължително. Формули за оценка за всеки запис. Резултатът се добавя като стойността на съответната нова колона. Можете да посочите други колони от таблицата в тази формула.

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

  • Table – Задължително. Таблица за работа.
  • ColumnName(s) - Задължително. Имена на колони за изпускане. Трябва да посочите низ (например, "Име" с включени двойни кавички) за този аргумент. Трябва да зададете имената на колоните, като използвате логическото й име. Intellisense ще предложи само логически имена. Логическото име е чувствително към малки и главни букви.

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

  • Table – Задължително. Таблица за работа.
  • OldColumnName - Задължително. Име на колона, която да преименувате от оригиналната таблица. Този елемент се появява първо в двойката аргументи (или първо във всяка двойка аргументи, ако формулата включва повече от една двойка). Това име трябва да е низ (например "Име" с включени двойни кавички). Трябва да зададете имената на колоните, като използвате логическото й име. Intellisense ще предложи само логически имена. Логическото име е чувствително към малки и главни букви.
  • NewColumnName - Задължително. Заместващо име. Този елемент се появява последно в двойката аргументи (или последно във всяка двойка аргументи, ако формулата включва повече от една двойка). Трябва да посочите низ (например, "Име на клиент" с включени двойни кавички) за този аргумент. Трябва да зададете имената на колоните, като използвате логическото й име. Intellisense ще предложи само логически имена. Логическото име е чувствително към малки и главни букви.

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

  • Table – Задължително. Таблица за работа.
  • ColumnName(s) - Задължително. Имена на колони за включване. Трябва да посочите низ (например, "Име" с включени двойни кавички) за този аргумент. Трябва да зададете имената на колоните, като използвате логическото й име. Intellisense ще предложи само логически имена. Логическото име е чувствително към малки и главни букви.

Примери

Примерите в този раздел използват IceCreamSales източник на данни, който съдържа данните в тази таблица:

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

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

Формула Описание Резултат
AddColumns( IceCreamSales, "Revenue", UnitPrice * QuantitySold ) Добавя колона приход към резултата. За всеки запис, UnitPrice * QuantitySold се оценява и резултатът се поставя в новата колона. Резултат с ягода, шоколад и ванилия.
DropColumns( IceCreamSales, "UnitPrice" ) Изключва колоната UnitPrice от резултата. Използвайте тази функция, за да изключите колоните и да използвате ShowColumns да ги включва. Резултат с ягода, шоколад, ванилия, имащ само колона QuantitySold.
ShowColumns( IceCreamSales, "Flavor" ) Включва само Flavor колона в резултата. Използвайте тази функция, за да включите колоните и да използвате DropColumns, за да ги изключите. Само колона „Аромат“.
RenameColumns( IceCreamSales, "UnitPrice", "Price") Преименува колоната UnitPrice в резултата. Резултат с вкус, цена и приходи.
RenameColumns( IceCreamSales, "UnitPrice", "Price", "QuantitySold", "Number") Преименува колоните UnitPrice и QuantitySold в резултата. Резултат с 3 сладоледа и колони като вкус, цена, приходи.
DropColumns(
RenameColumns(
AddColumns( IceCreamSales, "Revenue",
UnitPrice * QuantitySold ),
"UnitPrice", "Price" ),
"Quantity" )
Извършва следните преобразувания на таблицата в ред, като се започне от вътрешността на формулата:
  1. Добавя колона приход въз основа на изчислението на запис на UnitPrice * Quantity.
  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, добавяйки нещо към оригиналната таблица, докато преминава през функцията, без да променя източника:

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

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

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