Funkcijas AddColumns, DropColumns, RenameColumns un ShowColumns

Attiecas uz: Audekla programmām Darbvirsmas plūsmas Modeļa vadītas programmas Power Platform CLI

Veido tabulu, pievienojot, nometot, pārdēvējot un atlasot tās kolonnas.

Pārskats

Šīs funkcijas veido tabulu, pielāgojot tās kolonnas:

  • Samaziniet tabulu, kura satur vairākas kolonnas, uz vienu kolonnu, lai to izmantotu ar vienas kolonnas funkcijām, piemēram Lower vai Abs.
  • Tabulai pievienojiet aprēķinātu kolonnu (piemēram, Kopējās cenas kolonnu, kas rāda rezultātu Daudzuma reizināšanai ar Vienības cenu).
  • Pārdēvējiet kolonnu uz kaut ko jēgpilnāku, lai to varētu rādīt lietotājiem vai izmantot formulās.

Tabula ir vērtība programmā Power Apps, gluži kā virkne vai skaitlis. Varat konkretizēt tabulu kā formulas argumentu, un funkcijas var atgriezt tabulu kā rezultātu.

Note

Šajā tēmā aprakstītās funkcijas nepārveido sākotnējo tabulu. Tā vietā tās izmanto šo tabulu kā argumentu un atgriež jaunu tabulu ar piemērotajām izmaiņām. Papildinformāciju skatiet tēmā Darbs ar tabulām

Jūs nevarat modificēt datu avota kolonnas, izmantojot šīs funkcijas. Dati ir jāmodificē to avotā. Varat pievienot kolonnas kolekcijai ar funkciju Collect. Papildinformāciju skatiet tēmā Darbs ar datu avotiem

Apraksts

Funkcija AddColumns pievieno kolonnu tabulai, un formula šajā kolonnā definē vērtības. Esošās kolonnas netiek modificētas.

Formula tiek novērtēta katram tabulas ierakstam.

Formulā ir pieejami pašlaik apstrādātie ieraksta lauki. Izmantojiet operatoru ThisRecord vai vienkārši norādiet uz laukiem pēc nosaukuma, kā to darītu ar jebkuru citu vērtību. Operatoru As var izmantot arī, lai apstrādājamajam ierakstam piešķirtu nosaukumu, kas var palīdzēt padarīt formulu saprotamāku, bet ligzdotos ierakstus — pieejamus. Papildinformāciju skatiet tālāk sniegtajos piemēros un sadaļā Darbs ar ierakstu tvērumu.

Funkcija DropColumns izslēdz no tabulas kolonnas. Citas kolonnas netiek modificētas. Funkcija DropColumns izslēdz kolonnas, bet funkcija ShowColumns kolonnas iekļauj.

Izmantojiet funkciju RenameColumns, lai pārdēvētu vienu vai vairākas tabulas kolonnas, nodrošinot vismaz vienu argumentu pāri, kurā norādīts šīs tabulas kolonnas nosaukums (vecais nosaukums, kuru vēlaties aizstāt) un tās kolonnas nosaukums, kuru tabula nesatur (jaunais nosaukums, kuru vēlaties lietot). Vecajam nosaukumam ir jau jāpastāv tabulā, bet jaunajam — nē. Katras kolonnas nosaukums argumentu sarakstā var parādīties tikai vienreiz vai nu kā vecais, vai jaunais kolonnas nosaukums. Lai kolonnu pārdēvētu esošā kolonnas nosaukumā, vispirms nometiet esošo kolonnu, izmantojot DropColumns, vai pārdēvējiet esošo kolonnu, ligzdojot vienu RenameColumns funkciju ar citu.

Funkcija ShowColumns ietver tabulas kolonnas un nomet visas pārējās kolonnas. Varat izmantot ShowColumns, lai no vairāku kolonnu tabulas izveidotu vienas kolonnas tabulu. ShowColumns iekļauj kolonnas, bet DropColumns kolonnas izslēdz.

Visu šo funkciju rezultāts ir jauna tabula ar piemērotajām izmaiņām. Sākotnējā tabula netiek modificēta. Ar formulu nevar modificēt esošu tabulu. SharePoint, Microsoft Dataverse, SQL Server un citi datu avoti nodrošina rīkus sarakstu, tabulu un tabulu kolonnu modificēšanai, kuras bieži dēvē par shēmu. Šīs tēmas funkcijas var pārveidot vienīgi ievades tabulu, nepārveidojot oriģinālu, izvades tabulā, kuru izmantot turpmāk.

Šo funkciju argumenti atbalsta deleģēšanu. Piemēram, funkcija Filter, ko izmanto kā argumentu saistīto ierakstu ievilkšanai, meklē visos sarakstos pat, ja datu avots '[dbo].[AllListings]' satur miljons rindas:

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

Taču uz šo funkciju izvadi attiecas nedeleģēšanas ieraksta ierobežojumi. Šajā piemērā tiek atgriezti tikai 500 ieraksti pat, ja datu avotā RealEstateAgents ir 501 vai vairāk ierakstu.

Ja funkciju AddColumns izmantojat šādā veidā, funkcijai Filter ir jāveic atsevišķi izsaukumi uz datu avotu par katru no šiem pirmajiem ierakstiem kolonnā RealEstateAgents, līdz ar to saziņas apjoms tīklā ir liels. Ja [dbo](.[AllListings] ir pietiekami maza un ja tā nemainās bieži, funkciju Collect jūs varētu izsaukt ar OnStart, lai datu avotu saglabātu savas programmas kešatmiņā pēc programmas ieslēgšanas. Varat arī pārstrukturizēt programmu, lai ievilktu saistītos ierakstus vienīgi tad, ja lietotājs tos pieprasa.

Sintakse

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

  • Tabula — Obligāti. Tabula, ar kuru strādāt.
  • ColumnName(s) — Obligāti. Pievienojamās kolonnas(-u) nosaukums(-i). Šim argumentam ir jānorāda virkne (piemēram, "Virkne" ar pēdiņām). Jums ir jānorāda kolonnu nosaukumi, izmantojot tās loģisko nosaukumu. Intellisense ieteiks tikai loģiskus nosaukumus. Loģiskais nosaukums ir reģistrjutīgs.
  • Formula(s) — Obligāti. Formula(-s), kuru novērtēt katram ierakstam. Rezultāts tiek pievienots kā atbilstošās jaunās kolonnas vērtība. Varat šajā formulā atsaukties uz citām tabulas kolonnām.

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

  • Tabula — Obligāti. Tabula, ar kuru strādāt.
  • ColumnName(s) — Obligāti. Nometamās kolonnas(-u) nosaukums(-i). Šim argumentam ir jānorāda virkne (piemēram, "Virkne" ar pēdiņām). Jums ir jānorāda kolonnu nosaukumi, izmantojot tās loģisko nosaukumu. Intellisense ieteiks tikai loģiskus nosaukumus. Loģiskais nosaukums ir reģistrjutīgs.

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

  • Tabula — Obligāti. Tabula, ar kuru strādāt.
  • OldColumnName — Obligāti. Nosaukums kolonnai, kura jāpārdēvē no sākotnējās tabulas. Šis elements argumentu pārī parādās pirmais (vai pirmais katrā argumentu pārī, ja formulā ir vairāk par vienu pāri). Šim nosaukumam ir jābūt virknei (piemēram, "Nosaukums" ar pēdiņām). Jums ir jānorāda kolonnu nosaukumi, izmantojot tās loģisko nosaukumu. Intellisense ieteiks tikai loģiskus nosaukumus. Loģiskais nosaukums ir reģistrjutīgs.
  • NewColumnName — Obligāti. Aizstāšanas nosaukums. Šis elements argumentu pārī parādās pēdējais (vai pēdējais katrā argumentu pārī, ja formulā ir vairāk par vienu pāri). Šim argumentam ir jānorāda virkne (piemēram, "Klienta vārds" ar pēdiņām). Jums ir jānorāda kolonnu nosaukumi, izmantojot tās loģisko nosaukumu. Intellisense ieteiks tikai loģiskus nosaukumus. Loģiskais nosaukums ir reģistrjutīgs.

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

  • Tabula — Obligāti. Tabula, ar kuru strādāt.
  • ColumnName(s) — Obligāti. Iekļaujamās kolonnas(-u) nosaukums(-i). Šim argumentam ir jānorāda virkne (piemēram, "Virkne" ar pēdiņām). Jums ir jānorāda kolonnu nosaukumi, izmantojot tās loģisko nosaukumu. Intellisense ieteiks tikai loģiskus nosaukumus. Loģiskais nosaukums ir reģistrjutīgs.

Piemēri

Šīs sadaļas piemēros izmantots datu avots IceCreamSales, kas satur šīs tabulas datus:

Piemērs ar saldējumu.

Neviens no šiem piemēriem nepārveido datu avotu IceCreamSales. Katra funkcija pārveido datu avota vērtību kā tabulu un atgriež šo vērtību kā rezultātu.

Formula Apraksts Rezultāts
AddColumns( IceCreamSales, "Revenue", UnitPrice * QuantitySold ) Rezultātam pievieno kolonnu Ieņēmumi. Katram ierakstam tiek novērtēts UnitPrice * QuantitySold, un rezultāts tiek novietots jaunajā kolonnā. Rezultāts ar zemeņu, šokolādes un vaniļas.
DropColumns( IceCreamSales, "UnitPrice" ) No rezultāta izslēdz kolonnu UnitPrice. Izmantojiet šo funkciju, lai izslēgtu kolonnas, un izmantojiet funkciju ShowColumns, lai tās iekļautu. Rezultāts ar zemeņu, šokolādes un vaniļas, kam ir tikai kolonna QuantitySold.
ShowColumns( IceCreamSales, "Garša" ) Rezultātā iekļauj tikai kolonnu Garša. Izmantojiet šo funkciju, lai iekļautu kolonnas, un izmantojiet DropColumns, lai tās izslēgtu. Tikai kolonna Garša.
RenameColumns( IceCreamSales, "UnitPrice", "Price") Rezultātā pārdēvē kolonnu UnitPrice. Rezultāts, izmantojot Garša, Cena un Ieņēmumi.
RenameColumns( IceCreamSales, "UnitPrice", "Price", "QuantitySold", "Number") Rezultātā pārdēvē kolonnas UnitPrice un QuantitySold. Rezultāts ar 3 saldējumiem un kolonnām kā Garša, Cena, Ieņēmumi.
DropColumns(
RenameColumns(
AddColumns( IceCreamSales, "Ieņēmumi",
UnitPrice * QuantitySold ),
"UnitPrice", "Cena" ),
"Daudzums" )
Veic šīs tabulas pārveidi secībā, sākot no formulas iekšpuses:
  1. Pievieno kolonnu Ieņēmumi, pamatojoties uz katra ieraksta aprēķinu UnitPrice * Quantity.
  2. Pārdēvē UnitPrice par Price.
  3. Izslēdz kolonnu Daudzums.
Ņemiet vērā, ka ir svarīga secība. Piemēram, mēs nevarat aprēķināt ar UnitPrice pēc tās pārdēvēšanas.
Saldējuma piemērs vienības cenai.

Pakāpeniskas darbības

Izmēģināsim dažus iepriekš šajā tēmā minētos piemērus.

  1. Izveidojiet kolekciju, pievienojot Button vadīklu un iestatot tās rekvizītu OnSelect uz šo 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. Palaidiet formulu, atlasot pogu un turot nospiestu Alt taustiņu.

  3. Pievienojiet otro Pogas vadīklu, iestatiet tās rekvizītu OnSelect uz šo formulu un pēc tam to palaidiet:

    ClearCollect( FirstExample,
       AddColumns( IceCreamSales, "Revenue", UnitPrice * QuantitySold )
    )
    
  4. Izvēlnē Fails atlasiet Kolekcijas un pēc tam atlasiet IceCreamSales, lai parādītu šo kolekciju.

    Kā redzams šajā grafikā, otrā formula šo kolekciju nemodificēja. Funkcija AddColumns izmantoja IceCreamSales kā tikai lasāmu argumentu; funkcija nepārveidoja tabulu, uz kuru atsaucas šis arguments.

    Kolekcijas skatītājs, kas rāda trīs kolekcijas Ice Cream Sales ierakstus, kuri neietver Ieņēmumu kolonnu.

  5. Atlasiet FirstExample.

    Kā parādīts šajā grafikā, otrā formula atgrieza jaunu tabula ar pievienoto kolonnu. Funkcija ClearCollect notvēra jauno tabulu kolekcijā FirstExample, pievienojot kaut ko sākotnējai tabulai, kad tā virzījās cauri funkcijai, nemodificējot avotu:

    Kolekcijas skatītājs, kas tāda kolekcijas First Example trīs ierakstus, kuri ietver jaunu kolonnu Ieņēmumi.

Kolonnu kartēšana komponentā

Skatīt Kartēt kolonnas.