Deli putem


AddColumns, DropColumns, RenameColumnsi funkcije ShowColumns

Odnosi se na: Canvas aplikacije Copilot Studio Desktop teku aplikacije zasnovane na modelima Power Platform CLI Dataverse funkcije

Oblikuje tabelu ili zapis dodavanjem , otpuštanjem, preimenovanjem i izborom kolona.

Funkcija ForAll može da se koristi i za oblikovanje tabele vraćanjem tabele novih zapisa kreiranih od postojećih kolona.

+Pregled

Ove funkcije oblikuju tabelu ili zapis prilagođavanjem kolona:

  • Smanjite tabelu ili zapis koji sadrže više kolona na samo jednu kolonu za korišćenje sa funkcijama sa jednom kolonom, kao što su Donja ili Sqrt.
  • Dodajte izračunatu kolonu u tabelu ili zapis (na primer, kolonu Ukupna cena koja prikazuje rezultate množenja Količina sa cenom po jedinici).
  • Preimenujte kolonu u nešto značajnije, za prikaz korisnicima ili za upotrebu u formulama.

Tabela je vrednost u Power Apps, baš kao niska ili broj. Možete odrediti tabelu kao argument u formuli, a funkcije mogu vratiti tabelu kao rezultat.

Belešku

Funkcije koje ova tema opisuje ne menjaju originalnu tabelu. Umesto toga, one uzimaju tu tabelu kao argument i vraćaju novu tabelu sa primenjenom transformacijom. Za više informacija, pogledajte rad sa tabelama.

Ne možete da menjate kolone izvora podataka pomoću ovih funkcija. Podatke morate menjati na njihovom izvoru. Možete dodati kolone u zbirku pomoću funkcije Collect. Za više informacija, pogledajte rad sa izvorima podataka.

Opis

Funkcija AddColumns dodaje kolonu u tabelu ili zapis, a formula definiše vrednosti u toj koloni. Postojeće kolone ostaju nepromenjene.

Formula se procenjuje za dati zapis ili za svaki zapis navedene tabele.

Polja zapisa koji se trenutno obrađuje su dostupna u formuli. Koristite operator ThisRecord ili jednostavno stavite referencu na polja po nazivu kao i bilo koju drugu vrednost. Možete i da koristite operator As za imenovanje zapisa koji se obrađuje što može da pomogne da vaša formula bude lakša za razumevanje i učini ugnežđene zapise dostupnima. Više informacija potražite u primerima u nastavku i članku o radu sa opsegom zapisa.

Funkcija DropColumns isključuje kolone iz tabele ili zapisa. Sve druge kolone ostaju nepromenjene. DropColumns isključuje kolone i ShowColumns uključuje kolone.

RenameColumns Koristite funkciju da biste preimenovali jednu ili više kolona tabele ili zapisa tako što ćete obezbediti bar jedan par argumenata koji navodi ime kolone koju tabela ili zapis sadrže (staro ime, koje želite da zamenite) i ime kolone koju tabela ili zapis ne sadrže (novo ime, koju želite da koristite). Staro ime mora već da postoji u tabeli ili zapisu i novo ime ne sme da postoji. Svako ime kolone može da se pojavi samo jednom na listi argumenata kao staro ime kolone ili novo ime kolone. Da biste kolonu preimenovali u postojeće ime kolone, DropColumnsprvo otpustite postojeću kolonu sa ili RenameColumns preimenujte postojeću kolonu tako što ćete ugnezdite jednu funkciju unutar druge.

Funkcija ShowColumns uključuje kolone tabele ili zapisa i otpušta sve ostale kolone. Možete da koristite ShowColumns za kreiranje tabele sa jednom kolonom ili zapisa iz tabele sa više kolona ili zapisa. ShowColumns uključuje kolone i isključuje DropColumns kolone.

Za sve ove funkcije, rezultat je nova tabela ili zapis sa primenjenim transformacjom. Originalna tabela ili zapis nisu izmenjeni. Ne možete da izmenite postojeću tabelu ili zapis pomoću formule. SharePoint, Microsoft Dataverse, SQL Server i drugi izvori podataka pružaju alatke za izmenu kolona lista i tabela, koje se često nazivaju šemom. Funkcije u ovoj temi transformišu samo ulaznu tabelu ili zapis bez izmene originala u izlaznu tabelu ili zapis radi dalje upotrebe.

Argumenti ovih funkcija podržavaju delegiranje. Na primer, funkcija Filter se koristi kao argument za uvlačenje u povezane zapise pretraživanja kroz sve liste, čak i ako izvor podataka '[dbo].[AllListings]' sadrži milion redova:

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

Međutim, izlaz ovih funkcija podleže ograničenju nedelegiranja zapisa. U ovom primeru se vraća samo 500 zapisa čak i ako izvor podataka Agenti za nekretnine ima 501 ili više zapisa.

Ako koristite AddColumns na ovaj način, Filter mora da upućuje zasebne pozive izvoru podataka za svaki od tih prvih zapisa u realEstateAgents, što dovodi do mnogo mrežnog ćaskanja. If [dbo](.[AllListings] je dovoljno mali i ne menja se često. Možete pozvati funkciju Collect u OnStart-u da biste keširali izvor podataka u vašoj aplikaciji kada se pokrene. Kao alternativu, možete restrukturirati aplikaciju tako što ćete povlačiti u nju povezane zapise samo kada ih korisnik zatraži.

Belešku

U Power Apps prethodnoj verziji 3.24042, imena kolona su specificirana tekstualnim nizom koristeći dvostruke navodnike, a ako su povezana sa izvor podataka takođe su morala da budu logička imena. Na primer, logičko ime "cr43e_name" sa dvostrukim navodnicima je korišćeno umesto ime za prikaz Ime bez navodnika. Za SharePoint i Ekcel izvore podataka koji sadrže imena kolona sa razmacima, svaki prostor je naveden sa "_x0020_", na primer "Ime kolone" kao "Column_x0020_Name". Nakon ove verzije, sve aplikacije su automatski ažurirane na novu sintaksu opisanu u ovom članku.

Sintaksa

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

  • TableOrRecord – Obavezno. Tabela ili zapis na kojima će se upravljati.
  • ColumnNames - Obavezno. Imena kolona koje treba dodati.
  • Formule - Obavezno. Formule za procenu za svaki zapis. Rezultat se dodaje kao vrednost odgovarajuće nove kolone. U ovoj formuli možete da ukažete na druge kolone tabele ili zapisa.

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

  • TableOrRecord – Obavezno. Tabela ili zapis na kojima će se upravljati.
  • ColumnNames - Obavezno. Imena kolona koje treba ispustiti.

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

  • TableOrRecord – Obavezno. Tabela ili zapis na kojima će se upravljati.
  • OldColumnNames - Obavezno. Imena kolona za preimenovanje iz originalne tabele ili zapisa. Ovaj element se prvo pojavljuje u paru argumenata (ili prvo u svakom paru argumenata ako formula uključuje više od jednog para).
  • NevColumnNames - Obavezno. Zamena imena. Ovaj element se pojavljuje poslednji u paru argumenata (ili poslednji u svakom paru argumenata ako formula uključuje više od jednog para).

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

  • TableOrRecord – Obavezno. Tabela ili zapis na kojima će se upravljati.
  • ColumnNames - Obavezno. Imena kolona koje treba uključiti.

Primeri

Primeri u ovom odeljku koriste izvor podataka IceCreamSales koji sadrži podatke u ovoj tabeli:

IceCream primer.

Nijedan od ovih primera ne menja izvor podataka IceCreamSales. Svaka funkcija transformiše vrednost izvora podataka kao tabelu i vraća tu vrednost kao rezultat.

Formula Opis rezultat
AddColumns( Prodaja leda, prihod, Cena Po jedinici * KoličinaSold ) Dodaje kolonu Prihod u rezultat. Za svaki zapis se izračunava UnitPrice * QuantitySold i rezultat se postavlja u novu kolonu. Rezultat sa jagodom, čokoladom i vanilijom.
DropColumns( LedKreamSeales, Cena Po jedinici ) Isključuje kolonu UnitPrice iz rezultata. Koristite ovu funkciju da biste izuzeli kolone i uključili ShowColumns ih. Rezultat je da jagoda, čokolada, vanilija imaju samo kolonu QuantitySold.
ShowColumns( LedKreams, ukus ) Uključuje samo kolonu Flavor u rezultat. Koristite ovu funkciju da biste uključili kolone i da biste DropColumns ih izuzeli. Samo kolona „Ukus“.
RenameColumns( Prodaja leda, Cena Po jedinici, cena) Preimenuje kolonu UnitPrice u rezultatu. Rezultat sa kolonama Ukus, Cena i Prihod.
RenameColumns( Prodaja leda, Cena Po jedinici, Cena, KoličinaSold, Broj) Preimenuje kolone UnitPrice i QuantitySold u rezultatu. Rezultat sa 3 sladoleda i kolone Ukus, Cena, Prihod.
DropColumns(
RenameColumns(
AddColumns( Prodaje leda, prihod,
Cena po jedinici * KoličinaSold ),
UnitPrice, Цena ),
Količina )
Izvodi sledeće transformacije tabele po redosledu, počevši od unutrašnjosti formule:
  1. Dodaje kolonu prihoda na osnovu obračuna po zapisu UnitPrice * Količina.
  2. Preimenuje UnitPrice u Price.
  3. Isključuje kolonu Quantity.
Red je važan, na primer, ne možemo izračunati sa UnitPrice nakon što je preimenovan.
Primer sladoleda za jediničnu cenu.

Korak po korak

Hajde da probamo neke od primera iz ranije u ovom članku.

  1. Kreirajte kolekciju dodavanjem kontrole Dugme i podešavanjem svojstva OnSelect prema ovoj formuli:

    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 tako što ćete izabrati dugme dok držite taster Alt.

  3. Dodajte drugu kontrolu Dugme i podesite njeno svojstvo OnSelect prema ovoj formuli, a zatim je pokrenite:

    ClearCollect( FirstExample,
       AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold )
    )
    
  4. U meniju Datoteka izaberite Kolekcije, a zatim izaberite IceCreamSales da biste prikazali tu kolekciju.

    Kao što prikazuje ova grafika, druga formula nije izmenila ovu kolekciju. Funkcija AddColumns je koristila IceCreamSales kao argument samo za čitanje. Funkcija nije izmenila tabelu na koju se odnosi taj argument.

    Pregledač kolekcije koji prikazuje tri zapisa kolekcije Ice Cream Sales koja ne sadrži kolonu Revenue.

  5. Izaberite FirstExample.

    Kao što pokazuje ovaj grafikon, druga formula je vratila novu tabelu sa dodatom kolonom. Funkcija ClearCollect je snimila novu tabelu u kolekciji FirstExample, dodajući nešto originalnoj tabeli dok je prolazila kroz funkciju bez izmene izvora:

    Pregledač kolekcije koji prikazuje tri zapisa kolekcije First Example koja sadrži novu kolonu Revenue.

Mapiranje kolona u komponenti

Pogledajte Mapiranje kolona.