Funkcije AddColumns, DropColumns, RenameColumns i ShovColumns
Odnosi se na: Aplikacije platna Tokovi na radnoj površini Aplikacije Power Platform zasnovane na modelu CLI
Oblikuje tabelu dodavanjem, odlaganjem, preimenovanjem i odabirom njenih kolona.
Funkcija **ForAll se takođe može koristiti za oblikovanje tabele, vraćanjem tabele novih zapisa kreiranih iz postojećih kolona.
+Pregled
Ove funkcije oblikuju tabelu podešavanjem njenih kolona:
- Smanjite tabelu koja sadrži više kolona do jedne kolone za upotrebu sa funkcijama sa jednom kolonom, kao što su Donji ili Skrt.
- Dodajte izračunatu kolonu u tabelu (na primer, kolona Ukupna cena koja prikazuje rezultate množenja Količine 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, a formula definiše vrednosti u toj koloni. Postojeće kolone ostaju nepromenjene.
Formula se izračunava za svaki zapis 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. Sve druge kolone ostaju nepromenjene. DropColumns isključuje kolone, a ShovColumns uključuje kolone.
Koristite funkcije RenameColumns za preimenovanje jedne ili više kolona tabele pružanjem najmanje jednog para argumenata koji određuje ime kolone koje tabela sadrži (staro ime, koje želite zameniti) i naziv kolone koje tabela ne sadrži (novo ime koje želite da koristite). Staro ime mora već da postoji u tabeli, a novo ime ne sme da postoji. Svako ime kolone može se pojaviti samo jednom u listi argumenata kao ime stare kolone ili kao novo ime kolone. Da biste preimenovali kolonu u postojeće ime kolone, prvo spustite postojeću kolonu pomoću funkcije DropColumns ili preimenujte postojeću kolonu van puta ugnežđivanjem jedne funkcije RenameColumns unutar druge.
Funkcija ShowColumns funkcija uključuje kolone tabele i spušta sve ostale kolone. ShowColumns možete da koristite za kreiranje tabele sa jednom kolonom iz tabele sa više kolona. ShovColumns uključuje kolone, a DropColumns isključuje kolone.
Za sve ove funkcije rezultat je nova tabela sa primenjenom transformacijom. Originalna tabela nije izmenjena. Ne možete menjati postojeću tabelu formulom. SharePoint, Microsoft Dataverse, SQL Server i drugi izvori podataka obezbeđuju alate za izmenu kolona listi i tabela, koje se često nazivaju šemom. Funkcije u ovom članku samo transformišu ulaznu tabelu, bez modifikovanja originala, u izlaznu tabelu za dalju upotrebu.
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 izvrši odvojene pozive na izvor podataka za svaki od tih prvih zapisa u RealEstateAgents, što uzrokuje puno mrežnog brbljanja. 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( Tabela, ColumnName1, Formula1 [, ColumnName2, Formula2 , ... ] )
- Tabela - Obavezno. Tabela na kojoj se radi.
- ColumnNames - Obavezno. Imena kolona koje treba dodati.
- Formule - Obavezno. Formule za procenu za svaki zapis. Rezultat se dodaje kao vrednost odgovarajuće nove kolone. Možete referencirati kolone tabele u ovoj formuli.
DropColumns( Tabela,ColumnName1 [, ColumnName2, ... ] )
- Tabela - Obavezno. Tabela na kojoj se radi.
- ColumnNames - Obavezno. Imena kolona koje treba ispustiti.
RenameColumns(Table,OldColumnName1,NewColumnName1 [ , OldColumnName2,NewColumnName2 , ... ] )
- Tabela - Obavezno. Tabela na kojoj se radi.
- OldColumnNames - Obavezno. Imena kolona za preimenovanje iz originalne tabele. 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).
ShovColumns(Tabela,ColumnName1 [, ColumnName2 , ... ] )
- Tabela - Obavezno. Tabela na kojoj se radi.
- ColumnNames - Obavezno. Imena kolona koje treba uključiti.
Primeri
Primeri u ovom odeljku koriste izvor podataka IceCreamSales koji sadrži podatke u ovoj tabeli:
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( IceCreamSales, Prihod, UnitPrice * QuantitySold ) | Dodaje kolonu Prihod u rezultat. Za svaki zapis se izračunava UnitPrice * QuantitySold i rezultat se postavlja u novu kolonu. | |
DropColumns( IceCreamSales, UnitPrice ) | Isključuje kolonu UnitPrice iz rezultata. Ovom funkcijom isključite kolone i koristite ShowColumns da biste ih uključili. | |
ShovColumns( IceCreamSales, Flavor ) | Uključuje samo kolonu Flavor u rezultat. Ovom funkcijom uključite kolone i koristite DropColumns da biste ih isključili. | |
RenameColumns( IceCreamSales, UnitPrice, Price) | Preimenuje kolonu UnitPrice u rezultatu. | |
RenameColumns( IceCreamSales, UnitPrice, Price, QuantitySold, Number) | Preimenuje kolone UnitPrice i QuantitySold u rezultatu. | |
DropColumns( RenameColumns( AddColumns( IceCreamSales, prihod, UnitPrice * QuantitySold ), UnitPrice, Цena ), Količina ) |
Izvodi sledeće transformacije tabele po redosledu, počevši od unutrašnjosti formule:
|
Korak po korak
Hajde da probamo neke od primera iz ranije u ovom članku.
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 } ) )
Pokrenite formulu tako što ćete izabrati dugme dok držite taster Alt.
Dodajte drugu kontrolu Dugme i podesite njeno svojstvo OnSelect prema ovoj formuli, a zatim je pokrenite:
ClearCollect( FirstExample, AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold ) )
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 taj argument odnosi.
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:
Mapiranje kolona u komponenti
Pogledajte Mapiranje kolona.