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

Односи се на: Цанвас апликације Цопилот Студио Десктоп токови Апликације засноване на моделу Повер Платформ ЦЛИ Датаверсе функције

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

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

Преглед

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

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

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

Белешка

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

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

Опис

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

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

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

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

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

Функција ShowColumns укључује колоне табеле или записа и испушта све остале колоне. Можете користити ShowColumns за креирање табеле са једном колоном или записа из табеле или записа са више колона. ShowColumns Укључује колоне и DropColumns искључује колоне.

За све ове функције, резултат је нова табела или запис са примењеном трансформацијом. Оригинална табела или запис се не мења. Не можете модификовати постојећу табелу или запис са формулом. СхареПоинт , Мицрософт Датаверсе, СКЛ Сервер и други извори података пружају алате за модификовање колона листа и табела, које се често називају шемом. Функције у овој теми само трансформишу улазну табелу или запис, без модификовања оригинала, у излазну табелу или запис за даљу употребу.

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

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

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

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

Белешка

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

Синтакса

AddColumns( ТаблеОрРецорд , ColumnName1 , Formula1 [, ColumnName2 , Formula2 , ... ] )

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

DropColumns( ТаблеОрРецорд , ColumnName1 [, ColumnName2 , ... ] )

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

RenameColumns( ТаблеОрРецорд , OldColumnName1 , NewColumnName1 [, OldColumnName2 , NewColumnName2 , ... ] )

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

ShowColumns( ТаблеОрРецорд , ColumnName1 [, ColumnName2 , ... ] )

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

Примери

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

IceCream пример.

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

Формула Опис Резултат
AddColumns( СладоледПродаја, приход, Јединична цена * КоличинаПродато ) Додаје колону Приход у резултат. За сваки запис се процењује UnitPrice * QuantitySold и резултат се поставља у нову колону. Резултат са јагодом, чоколадом и ванилијом.
DropColumns(ИцеЦреамСалес , УнитПрице) Искључује колону UnitPrice из резултата. Користите ову функцију да бисте искључили колоне и користили ShowColumns их да бисте их укључили. Резултат је да јагода, чоколада, ванилија имају само колону QuantitySold.
ShowColumns(СладоледПродаја , Укус) Укључује само колону Flavor у резултат. Користите ову функцију укључивања колона и користите DropColumns их да их искључите. Само колона „Укус“.
RenameColumns(ИцеЦреамСалес , УнитПрице, Прице) Преименује колону UnitPrice у резултату. Резултат са колонама Укус, Цена и Приход.
RenameColumns(ИцеЦреамСалес , УнитПрице, Цена, КоличинаПродато, Број) Преименује колоне UnitPrice и QuantitySold у резултату. Резултат са 3 сладоледа и колоне Укус, Цена, Приход.
DropColumns(
RenameColumns(
AddColumns( ИцеЦреамСалес, Приход,
Јединична цена * КоличинаПродато ),
УнитПрице, Цена ),
Количина )
Изводи следеће трансформације табеле по редоследу, почевши од унутрашњости формуле:
  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 је користила ИцеЦреамСалес као аргумент само за читање; функција није модификовала табелу на коју се тај аргумент односи.

    Прегледач колекције који приказује три записа колекције Ice Cream Sales која не садржи колону Revenue.

  5. Оуаберите FirstExample.

    Као што показује овај графикон, друга формула је вратила нову табелу са доданом колоном. Функција ClearCollect је снимила нову табелу у колекцији FirstExample, додајући нешто оригиналној табели док је пролазила кроз функцију без модификације извора:

    Прегледач колекције који приказује три записа колекције First Example која садржи нову колону Revenue.

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

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