Share via


Funkcije AddColumns, DropColumns, RenameColumns in ShowColumns

Velja za: Aplikacije Canvas Namizne tokove Aplikacije, ki temeljijo na modelu Power Platform CLI

Oblikuje tabelo z dodajanjem, spuščanjem, preimenovanjem in izbiranjem njenih stolpcev.

Funkcijo **ForAll lahko uporabite tudi za oblikovanje tabele, tako da vrnete tabelo novih zapisov, ustvarjenih iz obstoječih stolpcev.

Pregled

Te funkcije oblikujejo tabelo s prilagajanjem njenih stolpcev:

  • Zmanjšajte tabelo, ki vsebuje več stolpcev, na en sam stolpec za uporabo s funkcijami z enim stolpcem, kot je Lower ali Sqrt.
  • Dodajte izračunani stolpec v tabelo (na primer stolpec Skupna cena, ki prikazuje rezultate množenja količine s ceno na enoto).
  • Za prikaz uporabnikom ali za uporabo v formulah preimenujte stolpec v nekaj bolj smiselnega.

Tabela je vrednost v rešitvi Power Apps, tako kot niz ali številka. Tabelo lahko določite kot argument v formuli in funkcije lahko vrnejo tabelo kot rezultat.

opomba,

Funkcije, ki jih opisuje ta tema, ne spremenijo prvotne tabele. Namesto tega vzamejo tabelo kot argument in vrnejo novo tabelo z uporabljeno pretvorbo. Za več informacij glejte delo s tabelami.

S temi funkcijami ne morete spremeniti stolpcev vira podatkov. Podatke morate spremeniti v viru. Stolpce lahko dodate v zbirko s funkcijo Collect. Za več informacij glejte delo z viri podatkov.

Description

Funkcija AddColumns doda stolpec v tabelo in formula določi vrednosti v tem stolpcu. Obstoječi stolpci ostanejo nespremenjeni.

Formula se ovrednoti za vsak zapis tabele.

Polja zapisa, ki je trenutno v obdelavi, so na voljo v okviru formule. Uporabite operator ThisRecord ali pa polja preprosto navedite poimensko, kot bi storili za katero koli drugo vrednost. Operator As lahko uporabite tudi za poimenovanje zapisa, ki se obdeluje, s čimer bo formulo lažje razumeti in bodo dostopni ugnezdeni zapisi. Več informacij je v spodnjih primerih in razdelku delo z obsegom zapisov.

Funkcija DropColumns izključi stolpce iz tabele. Vsi drugi stolpci ostanejo nespremenjeni. DropColumn izključi stolpce, ShowColumns pa jih vključi.

Uporabite funkcijo RenameColumns in preimenujte enega ali več stolpcev tabele tako, da navedete vsaj en par argumentov, ki določa ime stolpca v tabeli (staro ime, ki ga želite zamenjati) in ime stolpca, ki ga tabela ne vsebuje (novo ime, ki ga želite uporabiti). Staro ime mora že obstajati v tabeli, novo ime pa ne sme obstajati. Vsako ime stolpca se lahko pojavi samo enkrat na seznamu argumentov kot staro ime stolpca ali novo ime stolpca. Če želite stolpec preimenovati v obstoječe ime stolpca, najprej s funkcijo DropColumns opustite obstoječi stolpec ali pa obstoječi stolpec umaknite tako, da ugnezdite eno funkcijo RenameColumns znotraj druge.

Funkcija ShowColumns vključi stolpce tabele in izpusti vse druge stolpce. Funkcijo ShowColumns lahko uporabite za ustvarjanje tabele z enim stolpcem iz tabele z več stolpci. Funkcija ShowColumns izključi stolpce, funkcija DropColumns pa jih izključi.

Pri vseh teh funkcijah je rezultat nova tabela z uporabljeno pretvorbo. Izvirna tabela se ne spremeni. Obstoječe tabele ne morete spremeniti s formulo. SharePoint, Microsoft Dataverse, SQL Server in drugi viri podatkov zagotavljajo orodja za spreminjanje stolpcev seznamov, tabel in tabel, ki jih pogosto imenujemo shema. Funkcije v tem članku samo pretvorijo vhodno tabelo brez spreminjanja izvirnika v izhodno tabelo za nadaljnjo uporabo.

Argumenti za te funkcije podpirajo dodelitev. Funkcija Filter, ki se uporablja kot argument za vključitev povezanih zapisov, na primer išče po vseh seznamih, tudi če vir podatkov '[dbo].[AllListings]' vsebuje milijon vrstic:

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

Vendar za rezultat teh funkcij velja omejitev števila zapisov brez dodeljevanja. V tem primeru je vrnjenih samo 500 zapisov, tudi če ima vir podatkov RealEstateAgents 501 zapis ali več.

Če uporabite AddColumns na ta način, mora Filter izvesti ločene klice vir podatkov za vsakega od teh prvih zapise v RealEstateAgents, kar povzroča veliko klepetanja v omrežju. Če [dbo](.[AllListings] je dovolj majhen in se ne spreminja pogosto. Funkcijo Collect lahko pokličete v OnStart za predpomnilnik vir podatkov v vaši aplikaciji, ko se zažene. Namesto tega lahko svojo aplikacijo prestrukturirate tako, da vključite povezane zapise le, ko jih uporabnik zahteva.

opomba,

V Power Apps pred različico 3.24042 so bila imena stolpcev podana z besedilnim nizom v dvojnih narekovajih, in če so bili povezani z vir podatkov, so morala biti tudi logična imena. Na primer, logično ime "cr43e_name" z dvojnimi narekovaji je bilo uporabljeno namesto prikazno ime Ime brez narekovajev. Za SharePoint in izvore podatkov Excel, ki vsebujejo imena stolpcev s presledki, je bil vsak presledek določen z "_x0020_", na primer "Ime stolpca" kot "Ime_stolpca_x0020". Po tej različici so bile vse aplikacije samodejno posodobljene na novo sintakso, opisano v tem članku.

Sintaksa

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

  • Table – obvezno. Tabela za obdelavo.
  • ColumnName(s) – obvezno. Imena stolpcev, ki jih želite dodati.
  • Formula(s) – obvezno. Formule za vrednotenje za vsak zapis. Rezultat je dodan kot vrednost ustreznega novega stolpca. V tej formuli se lahko sklicujete na druge stolpce v tabeli.

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

  • Table – obvezno. Tabela za obdelavo.
  • ColumnName(s) – obvezno. Imena stolpcev, ki jih želite izpustiti.

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

  • Table – obvezno. Tabela za obdelavo.
  • OldColumnNames - obvezno. Imena stolpcev, ki jih želite preimenovati iz izvirne tabele. Ta element se prikaže prvi v paru argumentov (ali prvi v vsakem paru argumentov, če formula vključuje več parov).
  • NovaImenaStolpcev - Zahtevano. Nadomestna imena. Ta element se prikaže zadnji v paru argumentov (ali zadnji v vsakem paru argumentov, če formula vključuje več parov).

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

  • Table – obvezno. Tabela za obdelavo.
  • ColumnName(s) – obvezno. Imena stolpcev, ki jih je treba vključiti.

Primeri

Primeri v tem razdelku uporabljajo vir podatkov IceCreamSales, ki vsebuje podatke v tej tabeli:

Primer Icecream.

Noben od teh primerov ne spremeni vira podatkov IceCreamSales. Vsaka funkcija pretvori vrednost vira podatkov kot tabelo in vrne to vrednost kot rezultat.

Formula Description Rezultat
Dodaj stolpce (prodaja sladoleda, prihodek, cena na enoto * prodana količina) Rezultatu doda stolpec Revenue. Pri vsakem zapisu se ovrednoti formula UnitPrice * QuantitySold in rezultat je vnesen v nov stolpec. Rezultat z jagodo, čokolado in vanilijo.
DropColumns( IceCreamSales, UnitPrice) Izključi stolpec UnitPrice iz rezultata. S to funkcijo izključite stolpce, s funkcijo ShowColumns pa jih vključite. Rezultat: jagoda, čokolada, vanilija imajo samo stolpec »QuantitySold«.
Pokaži stolpce (IceCreamSales, Flavor) V rezultat vključi samo stolpec Flavor. S to funkcijo vključite stolpce, s funkcijo DropColumns pa jih izključite. Samo stolpec »Flavor«.
Preimenuj stolpce (IceCreamSales, UnitPrice, Price) Preimenuje stolpec UnitPrice v rezultatu. Rezultat s stolpci »Flavor«, »Price« in »Revenue«.
Preimenuj stolpce (IceCreamSales, UnitPrice, Price, QuantitySold, Number) Preimenuje stolpca UnitPrice in QuantitySold v rezultatu. Rezultat s 3 sladoledi in stolpci »Flavor«, »Price« in »Revenue«.
DropColumns(
RenameColumns(
AddColumns( IceCreamSales, Revenue,
UnitPrice * QuantitySold ),
Cena enote, cena ),
količina)
Izvede spodnje pretvorbe tabele v vrstnem redu, pri čerem začne znotraj formule:
  1. Doda stolpec Prihodek na podlagi izračuna na zapis UnitPrice * Količina.
  2. Preimenuje UnitPrice v Price.
  3. Izključi stolpec Quantity.
Vrstni red je pomemben, na primer ne moremo izračunati z UnitPrice po preimenovanju.
Primer sladoleda za ceno na enoto.

Korak za korakom

Poskusimo nekaj primerov iz prejšnjega članka.

  1. Ustvarite zbirko, tako da dodate kontrolnik Button in nastavite njegovo lastnost OnSelect na to formulo:

    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. Medtem ko držite tipko Alt, izberite gumb, da zaženete formulo.

  3. Dodajte še en kontrolnik Button in nastavite njegovo lastnost OnSelect na spodnjo formulo ter jo nato zaženite:

    ClearCollect( FirstExample,
       AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold )
    )
    
  4. V meniju Datoteka izberite Zbirke in nato še IceCreamSales, da jo prikažete.

    Kot prikazuje slika, druga formula ni spremenila te zbirke. Funkcija AddColumns je uporabila IceCreamSales kot argument samo za branje; funkcija ni spremenila tabele, na katero se nanaša ta argument.

    Pregledovalnik zbirk prikazuje tri zapise zbirke »IceCreamSales«, ki ne vključuje stolpca »Revenue«.

  5. Izberite FirstExample.

    Kot prikazuje ta slika, je druga formula vrnila novo tabelo z dodanim stolpcem. Funkcija ClearCollect je zajela novo tabelo v zbirki FirstExample in dodala nekaj izvirni tabeli med pomikanjem po funkciji, ne da bi spremenila vir:

    Pregledovalnik zbirk prikazuje tri zapise zbirke »FirstExample«, ki vključuje nov stolpec »Revenue«.

Preslikava stolpcev v komponenti

Glejte Preslikava stolpcev.