Funkcije AddColumns, DropColumns, RenameColumns i ShowColumns

Odnosi se na: Aplikacije od gotovih gradivnih elemenata Tokovi radne površine CLI aplikacije stvorene prema Power Platform modelu

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

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

Pretpregled

Ove funkcije oblikuju tablicu podešavanjem njezinih stupaca:

  • Smanjite tablicu koja sadrži više stupaca na jedan stupac za korištenje s funkcijama s jednim stupcem, kao što su Donji ili Sqrt.
  • Dodajte izračunati stupac u tablicu (npr. stupac Total Price koji prikazuje rezultate množenja Quantity s Unit Price).
  • 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, a formula definira vrijednosti u tom stupcu. Postojeći stupci ostaju nepromijenjeni.

Formula se procjenjuje za svaki zapis 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. Svi ostali stupci ostaju nepromijenjeni. DropColumns isključuje, a ShowColumns uključuje stupce.

Upotrijebite funkciju RenameColumns kako biste preimenovali jedan ili više stupaca neke tablice unosom najmanje jednog para argumenata koji određuje naziv nekog stupca u toj tablici (staro ime, koje želite zamijeniti) i naziv nekog stupca koji ta tablica ne sadrži (novo ime, koje želite koristiti). Stari naziv mora već postojati u tablici, a novi ne smije postojati. Svaki naziv stupca može se pojaviti samo jednom na popisu argumenata kao stari naziv stupca ili novi naziv stupca. Da biste preimenovali stupac u neki postojeći naziv stupca, prvo ispustite postojeći stupac pomoću funkcije DropColumns ili preimenujte postojeći stupac u nešto drugo ugnježđavanjem jedne funkcije RenameColumns u drugu.

Funkcija ShowColumns uključuje stupce neke tablice i ispušta sve ostale stupce. Možete koristiti funkciju ShowColumns kako biste stvorili jednostupčanu tablicu iz višestupčane. ShowColumns uključuje, a DropColumns isključuje stupce.

Za sve ove funkcije rezultat je nova tablica s primijenjenom transformacijom. Izvorna tablica se ne mijenja. Ne možete mijenjati postojeću tablicu nekom formulom. SharePoint, Microsoft Dataverse, SQL Server i ostali izvori podataka pružaju alate za izmjenu stupaca popisa i tablica koji se često nazivaju shemom. Funkcije u ovom članku pretvaraju ulaznu tablicu, bez izmjene izvornika, u izlaznu tablicu 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 AddColumns na ovaj način, Filter mora uputiti zasebne pozive izvor podataka za svaki od tih prvih zapisa u RealEstateAgents, što uzrokuje mnogo mrežnih brbljanja. Ako [dbo](.[AllListings] dovoljno je mali i ne mijenja se često. Možete nazvati funkciju Collect u OnStartu 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

Prije Power Apps verzije 3.24042 nazivi stupaca navedeni su tekstnim nizom pomoću dvostrukih navodnika, a ako su povezani s izvor podataka također su trebali biti logički nazivi. Na primjer, umjesto zaslonsko ime Ime bez navodnika korišten je logički naziv "cr43e_name" s dvostrukim navodnicima. Za SharePoint i Excelove izvore podataka koji sadrže nazive stupaca s razmacima, svaki je razmak određen sa" _x0020_", na primjer "Naziv stupca" kao "Column_x0020_Name". Afer ovu verziju, sve su aplikacije automatski ažurirane na novu sintaksu opisanu u ovom članku.

Sintaksa

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

  • Table – obavezno. Tablica na kojoj treba raditi.
  • ColumnName(s) – obavezno. Nazivi stupaca koje treba dodati.
  • Formula(s) – obavezno. Formule za procjenu za svaki zapis. Rezultat se dodaje kao vrijednost odgovarajućeg novog stupca. Možete referencirati druge stupce tablice u ovoj formuli.

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

  • Table – obavezno. Tablica na kojoj treba raditi.
  • ColumnName(s) – obavezno. Nazivi stupaca koje treba ispustiti.

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

  • Table – obavezno. Tablica na kojoj treba raditi.
  • OldColumnNames - obavezno. Nazivi stupaca koje treba preimenovati iz izvorne tablice. 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( Table, ColumnName1 [, ColumnName2, ... ] )

  • Table – obavezno. Tablica na kojoj treba raditi.
  • ColumnName(s) – 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činaProdana ) 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, UnitPrice ) Isključuje stupac UnitPrice iz rezultata. Koristite ovu funkciju da isključite stupce, a ShowColumns da ih uključite. Rezultat s jagodom, čokoladom i vanilijom koji ima samo stupac QuantitySold.
ShowColumns( IceCreamSales, Flavor ) U rezultat uključuje samo stupac Flavor. Koristite ovu funkciju da uključite stupce, a DropColumns da ih isključite. Stupac Samo okus.
RenameColumns( IceCreamSales, JediničnaCijena, Cijena) Preimenuje stupac UnitPrice u rezultatu. Rezultat s okusom, cijenom i prihodom.
RenameColumns( IceCreamSales, JediničnaCijena, Cijena, ProdanoKoličina, Broj) Preimenuje stupce UnitPrice i QuantitySold u rezultatu. Rezultat s 3 sladoleda i stupcima kao okus, cijena, prihod.
DropColumns(
RenameColumns(
AddColumns( IceCreamSales, Prihod,
UnitPrice * QuantitySold ),
JediničnaCijena, Cijena ),
Količina )
Izvodi sljedeće transformacije tablice redom, počevši od unutrašnjosti formule:
  1. Dodaje stupac Prihod na temelju izračuna JediničnaCijena x Količina.
  2. Preimenuje UnitPrice u Price.
  3. Isključuje stupac Quantity.
Narudžba je važna, na primjer ne možemo izračunati s JediničnomCijenom nakon što je preimenovana.
Primjer sladoleda za jediničnu cijenu.

Korak po korak

Pokušajmo neke od primjera iz ranijeg dijela 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 koristila je IceCreamSales kao argument samo za čitanje; funkcija nije izmijenila tablicu na koju upućuje taj argument.

    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.