Делите путем


Функције АддЦолумнс, ДропЦолумнс, РенамеЦолумнс и СховЦолумнс

Односи се на: Апликације платна Токови на радној површини Апликације Power Platform засноване на моделу ЦЛИ

Обликује табелу додавањем, спуштањем, преименовањем и одабиром њених колона.

Функција ** ФорАлл се такође може користити за обликовање табеле, враћањем табеле нових записа креираних из постојећих колона.

Преглед

Ове функције обликују табелу подешавањем њених колона:

  • Смањите табелу која садржи више колона до једне колоне за употребу са функцијама са једном колоном, као што су Доњи или Скрт.
  • Додајте израчунату колону у табелу (на пример, колона Укупна цена која приказује резултате множења Количине са Ценом по јединици).
  • Преименујте колону у нешто значајније, за приказ корисницима или за употребу у формулама.

Табела је вредност у Power Apps, баш као ниска или број. Можете одредити табелу као аргумент у формули, а функције могу вратити табелу као резултат.

Белешка

Функције које ова тема описује не мењају оригиналну табелу. Уместо тога, оне узимају ту табелу као аргумент и враћају нову табелу са примењеном трансформацијом. За више информација, погледајте рад са табелама.

Не можете да мењате колоне извора података помоћу ових функција. Морате модификовати податке у њиховом извору. Можете додати колоне у збирку помоћу функције Collect. За више информација, погледајте рад са изворима података.

Опис

Функција AddColumns додаје колону у табелу, а формула дефинише вредности у тој колони. Постојеће колоне остају непромењене.

Формула се процењује за сваки запис табеле.

Поља записа који се тренутно обрађује су доступна у формули. Користите оператор ThisRecord или једноставно референцирајте поља по називу као и било коју другу вредност. Оператор As такође може да се користи за именовање записа који се обрађује што може да помогне вашој формули да лакше разуме и учини угнежђене записе доступнима. Више информација потражите у примерима у наставку и чланку о раду са опсегом записа.

Функција DropColumns искључује колоне из табеле. Све друге колоне остају непромењене. ДропЦолумнс искључује колоне, а СховЦолумнс укључује колоне.

Користите функције RenameColumns за преименовање једне или више колона табеле пружањем најмање једног пара аргумената који одређује име колоне које табела садржи (старо име, које желите заменити) и назив колоне које табела не садржи (ново име које желите да користите). Старо име мора већ да постоји у табели, а ново име не сме да постоји. Свако име колоне може се појавити само једном у листи аргумената као име старе колоне или као ново име колоне. Да бисте преименовали колону у постојеће име колоне, прво спустите постојећу колону помоћу функције DropColumns или преименујте постојећу колону ван пута угнежђавањем једне функције RenameColumns унутар друге.

Функција ShowColumns функција укључује колоне табеле и спушта све остале колоне. ShowColumns можете да користите за креирање табеле са једном колоном из табеле са више колона. СховЦолумнс укључује колоне, а ДропЦолумнс искључује колоне.

За све ове функције резултат је нова табела са примењеном трансформацијом. Оригинална табела није модификована. Не можете модификовати постојећу табелу формулом. SharePoint, Microsoft Dataverse, SQL Server и други извори података обезбеђују алате за измену колона листи и табела, које се често називају шемом. Функције у овом чланку само трансформишу улазну табелу, без модификовања оригинала, у излазну табелу за даљу употребу.

Аргументи ових функција подржавају делегирање. На пример, функција Filter се користи као аргумент за увлачење у повезане записе претраживања кроз све листе, чак и ако извор података '[dbo].[AllListings]' садржи милион редова:

AddColumns( RealEstateAgents,
   Listings,
   Filter(  '[dbo].[AllListings]', ListingAgentName = AgentName )
)

Међутим, излаз ових функција подлеже ограничењу неделегирању записа. У овом примеру се враћа само 500 записа чак и ако извор података Агенти за некретнине има 501 или више записа.

Ако користите АддЦолумнс на овај начин, Филтер мора да направи одвојене позиве на < ДИЦТ__извор података > дата соурце за сваки од тих првих записа у РеалЕстатеАгентс , што узрокује пуно мрежног брбљања. Иф [дбо](.[AllListings] је довољно мали и не мења се често. Можете позвати функцију Цоллецт у ОнСтарт-у да бисте кеширали < ДИЦТ__извор података > дата соурце у вашој апликацији када се покрене. Као алтернативу, можете реструктурирати апликацију тако што ћете повлачити у њу повезане записе само када их корисник затражи.

Белешка

У Power Apps претходној верзији #пии_ајхфххгјз, имена колона су специфицирана текстуалним низом користећи двоструке наводнике, а ако су повезана са < ДИЦТ__извор података > дата соурце такође су морала да буду логичка имена. На пример, логичко име "cr43e_наме" са двоструким наводницима је коришћено уместо < ДИЦТ__име за приказ > дисплаy наме Име без наводника. За SharePoint и Екцел изворе података који садрже имена колона са размацима, сваки простор је наведен са "_x0020_", на пример "Име колоне" као "Цолумн_x0020_Наме ". Након ове верзије, све апликације су аутоматски ажуриране на нову синтаксу описану у овом чланку.

Синтакса

АддЦолумнс ( Табела , ColumnName1 , Formula1 [, ColumnName2 , Formula2 , ... ] )

  • Табела - Обавезно. Табела на којој се ради.
  • ЦолумнНамес - Обавезно. Имена колона које треба додати.
  • Формуле - Обавезно. Формуле за процену за сваки запис. Резултат се додаје као вредност одговарајуће нове колоне. Можете референцирати колоне табеле у овој формули.

ДропЦолумнс ( Табела,ColumnName1 [, ColumnName2 , ... ] )

  • Табела - Обавезно. Табела на којој се ради.
  • ЦолумнНамес - Обавезно. Имена колона које треба испустити.

РенамеЦолумнс (Табле,OldColumnName1,NewColumnName1 [ , OldColumnName2,NewColumnName2 , ... ] )

  • Табела - Обавезно. Табела на којој се ради.
  • ОлдЦолумнНамес - Обавезно. Имена колона за преименовање из оригиналне табеле. Овај елемент се прво појављује у пару аргумената (или прво у сваком пару аргумената ако формула укључује више од једног пара).
  • НевЦолумнНамес - Обавезно. Замена имена. Овај елемент се појављује последњи у пару аргумената (или последњи у сваком пару аргумената ако формула укључује више од једног пара).

СховЦолумнс (Табела,ColumnName1 [, ColumnName2 , ... ] )

  • Табела - Обавезно. Табела на којој се ради.
  • ЦолумнНамес - Обавезно. Имена колона које треба укључити.

Примери

Примери у овом одељку користе извор података IceCreamSales који садржи податке у овој табели:

IceCream пример.

Ниједан од ових примера не модификује извор података IceCreamSales. Свака функција трансформише вредност извора података као табелу и враћа ту вредност као резултат.

Формула Опис Резултат
АддЦолумнс ( ИцеЦреамСалес, Приход, УнитПрице * QуантитyСолд ) Додаје колону Приход у резултат. За сваки запис се процењује UnitPrice * QuantitySold и резултат се поставља у нову колону. Резултат са јагодом, чоколадом и ванилијом.
ДропЦолумнс ( ИцеЦреамСалес, УнитПрице ) Искључује колону UnitPrice из резултата. Овом функцијом искључите колоне и користите ShowColumns да бисте их укључили. Резултат је да јагода, чоколада, ванилија имају само колону QuantitySold.
СховЦолумнс ( ИцеЦреамСалес, Флавор ) Укључује само колону Flavor у резултат. Овом функцијом укључите колоне и користите DropColumns да бисте их искључили. Само колона „Укус“.
РенамеЦолумнс ( ИцеЦреамСалес, УнитПрице, Прице) Преименује колону UnitPrice у резултату. Резултат са колонама Укус, Цена и Приход.
РенамеЦолумнс ( ИцеЦреамСалес, УнитПрице, Прице, QуантитyСолд, Нумбер) Преименује колоне UnitPrice и QuantitySold у резултату. Резултат са 3 сладоледа и колоне Укус, Цена, Приход.
ДропЦолумнс(
RenameColumns(
АддЦолумнс ( ИцеЦреамСалес, приход,
UnitPrice * QuantitySold ),
УнитПрице, Цена ),
Количина )
Изводи следеће трансформације табеле по редоследу, почевши од унутрашњости формуле:
  1. Додаје колону прихода на основу обрачуна по запису УнитПрице * Количина.
  2. Преименује UnitPrice у Price.
  3. Искључује колону Quantity.
Ред је важан, на пример, не можемо израчунати са УнитПрице након што је преименован.
Пример сладоледа за јединичну цену.

Корак по корак

Хајде да пробамо неке од примера из раније у овом чланку.

  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.

Мапирање колона у компоненти

Погледајте Мапирање колона.