Funkcije AddColumns, DropColumns, RenameColumns i ShowColumns u aplikaciji Power Apps

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

Pregled

Ove funkcije oblikuju tablicu podešavanjem njezinih stupaca:

  • Smanjite tablicu koja sadrži više stupaca na jedan stupac kako biste je koristili s funkcijama za jednostupčane tablice, poput Lower ili Abs.
  • 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 odjeljku 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 odjeljku 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. Naziv svakog stupca može se pojaviti samo jednom na popisu argumenata – ili kao stari naziv stupca ili kao 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 ovoj temi samo pretvaraju ulaznu tablicu, ne mijenjajući izvornik, 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 tako koristite funkciju AddColumns, funkcije Filter mora razdvojiti pozive izvoru podataka za svaki od tih prvih zapisa u RealEstateAgents, što uzrokuje puno komunikacije na mreži. Ako je [dbo].[AllListings] dovoljno mala i ne mijenja se često, mogli biste pozvati funkciju Collect u OnStart da biste predmemorirali izvor podataka u svojoj aplikaciji kada se pokrene. Alternativno, možete restrukturirati aplikaciju povlačenjem povezanih zapisa samo onda kad ih korisnik zatraži.

Sintaksa

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

  • Tablica – Required. Tablica na kojoj treba raditi.
  • ColumnName – Required. Naziv(i) stup(a)ca za dodavanje. Za ovaj argument morate navesti niz (npr. "Name", zajedno s navodnicima).
  • Formula – Required. Formule koje treba procijeniti 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, ... ] )

  • Tablica – Required. Tablica na kojoj treba raditi.
  • ColumnName – Required. Naziv(i) stup(a)ca za ispuštanje. Za ovaj argument morate navesti niz (npr. "Name", zajedno s navodnicima).

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

  • Tablica – Required. Tablica na kojoj treba raditi.
  • OldColumnName – Required. Naziv stupca koji se preimenuje 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). Ovaj naziv mora biti niz (npr. "Name", zajedno s navodnicima).
  • NewColumnName – Required. Zamjenski naziv. Ovaj se element zadnji pojavljuje u paru argumenata (ili zadnji u svakom paru argumenata ako formula sadrži više od jednog para). Za ovaj argument morate navesti niz (npr. "Customer Name", zajedno s navodnicima).

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

  • Tablica – Required. Tablica na kojoj treba raditi.
  • ColumnName – Required. Naziv(i) stup(a)ca za uključivanje. Za ovaj argument morate navesti niz (npr. "Name", zajedno s navodnicima).

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, "Revenue", UnitPrice * QuantitySold ) 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, "UnitPrice", "Price") Preimenuje stupac UnitPrice u rezultatu. Rezultat s okusom, cijenom i prihodom.
RenameColumns( IceCreamSales, "UnitPrice", "Price", "QuantitySold", "Number") Preimenuje stupce UnitPrice i QuantitySold u rezultatu. Rezultat s 3 sladoleda i stupcima kao okus, cijena, prihod.
DropColumns(
RenameColumns(
AddColumns( IceCreamSales, "Revenue",
UnitPrice * QuantitySold ),
"UnitPrice", "Price" ),
"Quantity" )
Izvodi sljedeće transformacije tablice redom, počevši od unutrašnjosti formule:
  1. Dodaje stupac Revenue na temelju izračuna prema zapisu UnitPrice * Quantity.
  2. Preimenuje UnitPrice u Price.
  3. Isključuje stupac Quantity.
Imajte na umu da je redoslijed važan. Na primjer, ne možemo računati pomoću UnitPrice nakon što se preimenuje.
Primjer sladoleda za jediničnu cijenu.

Korak po korak

Pokušajmo nekoliko primjera navedenih ranije u ovoj temi.

  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.