AddColumns, DropColumns, i RenameColumnsShowColumns funkcije

Odnosi se na: Canvas apps Copilot Studio Desktop flows Model-driven apps Power Platform CLI Dataverse functions

Oblikuje tablicu ili zapis dodavanjem, ispuštanjem, preimenovanjem i odabirom stupaca.

Funkcija ForAll može se koristiti i za oblikovanje tablice vraćanjem tablice novih zapisa stvorenih iz postojećih stupaca.

Pretpregled

Te funkcije oblikuju tablicu ili zapis prilagodbom stupaca:

  • Smanjite tablicu ili zapis koji sadrži više stupaca na jedan stupac da biste ih koristili s funkcijama s jednim stupcem, kao što su Lower ili Sqrt.
  • Dodajte izračunati stupac u tablicu ili zapis (na primjer, stupac Ukupna cijena koji prikazuje rezultate množenja količine s jediničnomcijenom).
  • Preimenujte stupac u nešto smislenije, za prikaz korisnicima ili za upotrebu u formulama.

Tablica predstavlja jednu vrijednost u aplikaciji Power Apps, baš poput nekog niza ili broja. Možete odrediti tablicu kao argument u formuli, a funkcije mogu kao rezultat vratiti tablicu.

Napomena

Funkcije koje ova tema opisuje ne mijenjaju izvornu tablicu. Umjesto toga, uzimaju tu tablicu kao argument i vraćaju novu tablicu s primijenjenom transformacijom. Dodatne informacije potražite u članku Rad s tablicama.

Ovim funkcijama ne možete mijenjati stupce nekog izvora podataka. Morate modificirati podatke na njihovom izvoru. Stupcima možete dodati zbirku funkcijom Collect. Dodatne informacije potražite u članku Rad s izvorima podataka.

Opis

Funkcija AddColumns dodaje stupac u tablicu ili zapis, a formula definira vrijednosti u tom stupcu. Postojeći stupci ostaju nepromijenjeni.

Formula se procjenjuje za navedeni zapis ili za svaki zapis navedene tablice.

Polja zapisa koja se trenutno obrađuju dostupna su unutar formule. Upotrijebite ThisRecord operator ili jednostavno spomenite polja imenom na isti način kao i bilo koju drugu vrijednost. Za imenovanje zapisa koji se obrađuje možete upotrijebiti i As operator, a to vam može pomoći učiniti formulu razumljivijom, a ugniježđene zapise pristupačnijima. Više informacija potražite u primjerima u nastavku i radu u djelokrugu zapisa.

Funkcija DropColumns isključuje stupce iz tablice ili zapisa. Svi ostali stupci ostaju nepromijenjeni. DropColumns isključuje stupce i obuhvaća ShowColumns stupce.

RenameColumns Pomoću funkcije preimenujte jedan ili više stupaca tablice ili zapisa tako da navede barem jedan par argumenata koji određuje naziv stupca koji tablica ili zapis sadrži (stari naziv koji želite zamijeniti) i naziv stupca koji tablica ili zapis ne sadrži (novi naziv, koje želite koristiti). Stari naziv mora već postojati u tablici ili zapisu, a novi naziv ne smije postojati. Naziv svakog stupca može se pojaviti samo jedanput na popisu argumenata kao stari naziv stupca ili novi naziv stupca. Da biste preimenovali stupac u postojeći naziv stupca, DropColumnsnajprije ispustite postojeći stupac ili preimenujte postojeći stupac tako da ugniježđe jednu RenameColumns funkciju unutar druge.

Funkcija ShowColumns obuhvaća stupce tablice ili zapisa i ispušta sve druge stupce. Možete koristiti za ShowColumns stvaranje tablice ili zapisa s jednim stupcem iz tablice ili zapisa s više stupaca. ShowColumns obuhvaća stupce i isključuje DropColumns stupce.

Za sve te funkcije rezultat je nova tablica ili zapis s primijenjenom pretvorbom. Izvorna tablica ili zapis nisu izmijenjeni. Postojeću tablicu ili zapis ne možete izmijeniti formulom. SharePoint, Microsoft Dataverse, SQL Server i drugi izvori podataka nude alate za izmjenu stupaca popisa i tablica, koji se često nazivaju shemom. Funkcije u ovoj temi pretvaraju samo ulaznu tablicu ili zapis, bez izmjene izvornika, u izlaznu tablicu ili zapis za daljnju upotrebu.

Argumenti tih funkcija podržavaju delegiranje. Na primjer, funkcija Filter koja se koristi kao argument za uvlačenje povezanih zapisa pretražuje sve popise čak i ako izvor podataka '[dbo].[AllListings]' sadrži milijun redaka:

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

Ipak, izlazne vrijednosti ovih funkcija podliježu ograničenju zapisa o nedelegiranju. U ovom primjeru vraća se samo 500 zapisa čak i ako izvor podataka RealEstateAgents ima 501 ili više zapisa.

Ako koristite na AddColumns taj način, Filter mora upućivati zasebne pozive izvoru podataka za svaki od tih prvih zapisa u RealEstateAgents, što uzrokuje mnogo mrežnih ćaskanje. Ako [dbo](.[AllListings] dovoljno je malen i ne mijenja se često. Možete pozvati funkciju Collect u aplikaciji OnStart da biste predmemorirali izvor podataka u aplikaciji kada se pokrene. Alternativno, možete restrukturirati aplikaciju povlačenjem povezanih zapisa samo onda kad ih korisnik zatraži.

Napomena

U Power Apps prije verzije 3.24042, nazivi stupaca bili su specificirani tekstualnim nizom koristeći dvostruke navodnike, a ako su povezani s izvor podataka također su morali biti logički nazivi. Na primjer, umjesto zaslonsko ime Ime bez navodnika korišteno je logičko ime "cr43e_name" s dvostrukim navodnicima. Za SharePoint i Excel izvore podataka koji sadrže nazive stupaca s razmacima, svaki je razmak naveden s "_x0020_", na primjer "Naziv stupca" kao "Column_x0020_Name". Nakon ove verzije sve su aplikacije automatski ažurirane na novu sintaksu opisanu u ovom članku.

Sintaksa

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

  • TableOrRecord – obavezno. Tablica ili zapis za rad.
  • ColumnNames - Obavezno. Nazivi stupaca koje treba dodati.
  • Formule - Obavezno. Formule za procjenu za svaki zapis. Rezultat se dodaje kao vrijednost odgovarajućeg novog stupca. U ovoj formuli možete referenciravati druge stupce tablice ili zapisa.

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

  • TableOrRecord – obavezno. Tablica ili zapis za rad.
  • ColumnNames - Obavezno. Nazivi stupaca koje treba ispustiti.

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

  • TableOrRecord – obavezno. Tablica ili zapis za rad.
  • OldColumnNames - Obavezno. Nazivi stupaca koji će se preimenovati iz izvorne tablice ili zapisa. Ovaj se element prvi pojavljuje u paru argumenata (ili prvi u svakom paru argumenata ako formula sadrži više od jednog para).
  • NewColumnNames – obavezno. Zamjenska imena. Ovaj se element zadnji pojavljuje u paru argumenata (ili zadnji u svakom paru argumenata ako formula sadrži više od jednog para).

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

  • TableOrRecord – obavezno. Tablica ili zapis za rad.
  • ColumnNames - Obavezno. Nazivi stupaca koje treba uključiti.

Primjeri

Primjeri u ovom odjeljku koriste izvor podataka IceCream koji sadrži podatke u ovoj tablici:

Primjer za sladoled.

Nijedan od ovih primjera ne modificira izvor podataka IceCreamSales. Svaka funkcija pretvara vrijednost tog izvora podataka kao tablice i vraća tu vrijednost kao rezultat.

Formula Opis Rezultat
AddColumns( IceCreamSales, Prihod, JediničnaCijena * KoličinaStara ) Dodaje stupac Revenue rezultatu. Za svaki zapis izračunava se UnitPrice * QuantitySold, a rezultat postavlja u novi stupac. Rezultat s jagodom, čokoladom i vanilijom.
DropColumns(IceCreamSales, JediničnaCijena) Isključuje stupac UnitPrice iz rezultata. Koristite ovu funkciju da biste izuzeli stupce i koristili ih ShowColumns za uvrštavanje. Rezultat s jagodom, čokoladom i vanilijom koji ima samo stupac QuantitySold.
ShowColumns(IceCreamSales, okus) U rezultat uključuje samo stupac Flavor. Ova funkcija sadrži stupce i pomoću njih ih DropColumns izuzima. Stupac Samo okus.
RenameColumns( IceCreamSales, JediničnaCijena, Cijena) Preimenuje stupac UnitPrice u rezultatu. Rezultat s okusom, cijenom i prihodom.
RenameColumns( IceCreamSales, JediničnaCijena, Cijena, KoličinaStaro, Broj) Preimenuje stupce UnitPrice i QuantitySold u rezultatu. Rezultat s 3 sladoleda i stupcima kao okus, cijena, prihod.
DropColumns(
RenameColumns(
AddColumns( IceCreamSales, Prihod,
JediničnaCijena * KoličinaStara ),
Jedinična cijena, cijena ),
Količina )
Izvodi sljedeće transformacije tablice redom, počevši od unutrašnjosti formule:
  1. Dodaje stupac Prihod na temelju izračuna po zapisu UnitPrice * Količina.
  2. Preimenuje UnitPrice u Price.
  3. Isključuje stupac Quantity.
Redoslijed je važan, na primjer ne možemo izračunati s UnitPrice nakon što se preimenuje.
Primjer sladoleda za jediničnu cijenu.

Korak po korak

Isprobajmo neke od primjera iz ranije ovog članka.

  1. Stvorite zbirku dodavanjem kontrole Button i postavljanjem svojstva OnSelect na ovu formulu:

    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. Pokrenite formulu odabirom gumba dok držite tipku Alt.

  3. Dodajte drugu kontrolu Button i postavite njegovo svojstvo OnSelect na sljedeću formulu, a zatim je pokrenite:

    ClearCollect( FirstExample,
       AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold )
    )
    
  4. U izborniku Datoteka odaberite Zbirke, a zatim odaberite IceCreamSales da biste pokazali tu zbirku.

    Kao što pokazuje ovaj grafikon, druga formula nije modificirala ovu zbirku. Funkcija AddColumns je upotrijebila IceCreamSales kao argument samo za čitanje; funkcija nije izmijenila tablicu na koju se taj argument odnosi.

    Preglednik zbirke prikazuje tri zapisa zbirke Ice Cream Sales koja ne sadrži stupac Revenue.

  5. Odaberite FirstExample.

    Kao što pokazuje ovaj grafikon, druga formula vratila je novu tablicu s dodanim stupcem. Funkcija ClearCollect zabilježila je novu tablicu u zbirku FirstExample, dodajući nešto izvornoj tablici dok je tekla kroz funkciju bez izmjene izvora:

    Preglednik zbirke prikazuje tri zapisa zbirke First Example koja sadrži novi stupac Revenue.

Mapirajte stupce u komponenti

Pogledajte Mapirajte stupce.