Share via


Funktionerne AddColumns, DropColumns, RenameColumns og ShowColumns

Gælder for: Lærredsapps Skrivebordsflows Modeldrevne apps Power Platform CLI

Opretter en tabel ved at tilføje, placere, omdøbe og markere dens kolonner.

Funktionen **ForAll kan også bruges til at udforme en tabel ved at returnere en tabel med nye poster, der er oprettet ud fra eksisterende kolonner.

Oversigt

Disse funktioner danner en tabel ved at justere dens kolonner:

  • Reducer en tabel, der indeholder flere kolonner, til en tabel med én kolonne, som skal bruges med funktioner til én kolonne, f.eks. Lower eller Sqrt.
  • Tilføj en beregnet kolonne i en tabel (f.eks. en kolonne for Samlet pris, der viser resultatet af at multiplicere Antal med Enhedspris).
  • Omdøb en kolonne til noget mere sigende, som vises til brugerne eller anvendes i formler.

En tabel er en værdi i Power Apps, ligesom en streng eller et tal. Du kan angive en tabel som et argument i en formel, og funktionerne kan returnere en tabel som et resultat.

Bemærk

De funktioner, der beskrives under dette emne, ændrer ikke den oprindelige tabel. I stedet for tager de denne tabel som et argument og returnerer en ny tabel, der er transformeret. Se Arbejde med tabeller for at få flere oplysninger.

Du kan ikke ændre kolonnerne i en datakilde vha. disse funktioner. Du skal ændre dataene i kilden. Du kan føje kolonner til en samling med funktionen Collect. Se Arbejde med datakilder for at få flere oplysninger.

Description

Funktionen AddColumns føjer en kolonne til en tabel, og en formel definerer værdierne i kolonnen. De eksisterende kolonner forbliver uændrede.

Formlen evalueres for hver post i tabellen.

Felter i den post, der behandles i øjeblikket, er tilgængelige i formlen. Brug ThisRecord-operatoren, eller referer blot til feltet med navn, som du ville gøre med en vilkårlig anden værdi. As-operatoren kan også bruges til at navngive den post, der behandles, hvilket kan hjælpe med at gøre din formel mere forståelig og gøre indlejrede poster tilgængelige. Du kan få flere oplysninger i eksemplerne nedenfor og arbejdet med posternes omfang.

Funktionen DropColumns udelukker kolonner fra en tabel. Alle andre kolonner forbliver uændrede. DropColumns udelukker kolonner, og ShowColumns inkluderer kolonner.

Brug funktionen RenameColumns til at omdøbe en eller flere kolonner i en tabel ved at angive mindst ét argumentpar, der angiver navnet på en kolonne, tabellen indeholder (det gamle navn, du vil erstatte) og navnet på en kolonne, tabellen ikke indeholder (det nye navn, du vil bruge). Det gamle navn skal allerede findes i tabellen, og det nye navn må ikke findes. Hvert kolonnenavn vises muligvis kun én gang på argumentlisten enten som et gammelt kolonnenavn eller som et nyt kolonnenavn. Hvis du vil omdøbe en kolonne til en eksisterende kolonnenavn, skal du først slette den eksisterende kolonne med DropColumns eller omdøbe den eksisterende kolonne ved at indlejre én RenameColumns-funktion i en anden.

Funktionen ShowColumns inkluderer kolonner i en tabel og ekskluderer alle andre kolonner. Du kan bruge ShowColumns til at oprette en tabel med én kolonne på baggrund af en tabel med flere kolonner. ShowColumns inkluderer kolonner, og DropColumns ekskluderer kolonner.

Resultatet for alle disse funktioner er en ny og transformeret tabel. Den oprindelige tabel ikke er ændret. Du kan ikke redigere en eksisterende tabel med en formel. SharePoint, Microsoft Dataverse, SQL Server og andre datakilder har værktøjer til ændring af kolonnerne til lister og tabeller, der ofte kaldes skemaet. Funktionerne i denne artikel transformerer kun en inputtabel til en outputtabel til videre brug uden at ændre den oprindelige tabel.

Argumenterne til disse funktioner understøtter delegering. En Filter-funktion, der f.eks. bruges som argument til at trække i relaterede poster, gennemsøger alle lister, også selvom "[dbo]. [AllListings] "-datakilde indeholder en million rækker:

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

Output fra disse funktioner er dog underlagt postgrænser til ikke-delegering. I dette eksempel returneres kun 500 poster, selvom RealEstateAgents-datakilden har 501 eller flere poster.

Hvis du bruger AddColumns på denne måde, skal Filter foretage separate kald til datakilden for hver af de første poster i RealEstateAgents, hvilket giver meget netværkstrafik. Hvis [dbo](.[AllListings] er lille nok og ændres ikke ofte. Du kan kalde funktionen Collect i OnStart for at cachelagre datakilden i din app, når den startes. Du kan også bruge denne mulighed for at omstrukturere din app, så du kun trækker de relaterede poster ind, når brugeren beder om det.

Bemærk

I Power Apps før version 3.24042 blev kolonnenavne angivet med en tekststreng ved hjælp af dobbelte anførselstegn, og hvis de var knyttet til en datakilde, skulle de også være logiske navne. Det logiske navn "cr43e_name" med dobbelte anførselstegn blev f.eks. brugt i stedet for det viste navn Navn uden anførselstegn. For SharePoint- og Excel-datakilder, der indeholder kolonnenavne med mellemrum, blev hvert mellemrum angivet med "_x0020_", f.eks. "Navn på kolonne" som "Navn_x0020_på_x0020_kolonne". Efter denne version blev alle apps automatisk opdateret til den nye syntaks, der er beskrevet i denne artikel.

Syntaks

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

  • Table – påkrævet. Tabel, der skal arbejdes med.
  • ColumnName(s) – påkrævet. Navnene på de kolonner, der skal tilføjes.
  • Formler – påkrævet. Formler, der skal evalueres for hver post. Resultatet tilføjes som værdien af den tilsvarende nye kolonne. Du kan henvise til andre kolonner i tabellen i denne formel.

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

  • Table – påkrævet. Tabel, der skal arbejdes med.
  • ColumnName(s) – påkrævet. Navnene på de kolonner, der skal udelukkes.

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

  • Table – påkrævet. Tabel, der skal arbejdes med.
  • OldColumnName(s) – påkrævet. Navnene på de kolonner, der skal omdøbes fra den oprindelige tabel. Dette element vises først i argumentparret (eller først i hvert argumentpar, hvis formlen indeholder mere end ét par).
  • NewColumnName(s) – påkrævet. Erstatningsnavne. Dette element vises sidst i argumentparret (eller sidst i hvert argumentpar, hvis formlen indeholder mere end ét par).

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

  • Table – påkrævet. Tabel, der skal arbejdes med.
  • ColumnName(s) – påkrævet. Navnene på de kolonner, der skal inkluderes.

Eksempler

Eksemplerne i denne sektion anvender datakilden IceCreamSales, som indeholder dataene i denne tabel:

Eksempel på IceCream.

Ingen af eksemplerne ændrer datakilden IceCreamSales. Hver funktion transformerer værdien af datakilden som en tabel og returnerer denne værdi som resultat.

Formula Description Resultatat
AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold ) Føjer kolonnen Revenue til resultatet. For hver post evalueres UnitPrice * QuantitySold, og resultatet angives i den nye kolonne. Resultat med Strawberry, Chocolate og Vanilla.
DropColumns( IceCreamSales, UnitPrice ) Ekskluderer kolonnen UnitPrice fra resultatet. Brug denne funktion til at ekskludere kolonner, og brug ShowColumns til at inkludere dem. Resultat med Strawberry, Chocolate, Vanilla, der kun har kolonnen QuantitySold.
ShowColumns( IceCreamSales, Flavor ) Inkluderer kun kolonnen Flavor i resultatet. Brug denne funktion til at inkludere kolonner, og brug DropColumns til at ekskludere dem. Kun kolonnen Flavor.
RenameColumns( IceCreamSales, UnitPrice, Price) Omdøber kolonnen UnitPrice i resultatet. Resultat med Flavor, Price og Revenue.
RenameColumns( IceCreamSales, UnitPrice, Price, QuantitySold, Number) Omdøber kolonnerne UnitPrice og QuantitySold i resultatet. Resultat med 3 IceCreams og kolonnerne Flavor, Price, Revenue.
DropColumns(
RenameColumns(
AddColumns( IceCreamSales, Revenue,
UnitPrice * QuantitySold ),
UnitPrice, Price ),
Quantity )
Udfører følgende tabeltransformationer i rækkefølge startende inde i formlen:
  1. Tilføjer kolonnen Revenue baseret på en beregning pr. post af UnitPrice * Quantity.
  2. Omdøber UnitPrice til Price.
  3. Ekskluderer kolonnen Quantity.
Rækkefølgen er vigtig. Vi kan f.eks. ikke beregne med UnitPrice, når den er blevet omdøbt.
IceCream-eksempel på enhedspris.

Trin for trin

Lad os prøve nogle af eksemplerne fra tidligere i denne artikel.

  1. Opret en samling ved at tilføje et Button-kontrolelement og indstille dets OnSelect-egenskab til denne formel:

    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. Kør denne formel ved at vælge knappen, mens du holder Alt-tasten nede.

  3. Tilføj et andet Button-kontrolelement, angiv dets OnSelect-egenskab til denne formel, og kør det:

    ClearCollect( FirstExample,
       AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold )
    )
    
  4. Vælg Samlinger på menuen Filer, og vælg derefter IceCreamSales for at vise denne samling.

    Når dette grafikelement vises, har den anden formel ikke ændret denne samling. Funktionen AddColumns anvendte IceCreamSales som et skrivebeskyttet argument. Funktionen redigerede ikke den tabel, som det pågældende argument refererer til.

    Samlingsfremviser, der viser tre poster for samlingen Cream Sales, som ikke indeholder en Revenue-kolonne.

  5. Vælg FirstExample.

    Når dette grafikelement vises, har den anden formel returneret en ny tabel med den tilføjede kolonne. Funktionen ClearCollect registrerede den nye tabel i samlingen FirstExample og føjer noget til den oprindelige tabel, som den blev gennemført i funktionen uden at ændre kilden:

    Samlingsfremviser, der viser tre poster for samlingen First Example, som indeholder en ny Revenue-kolonne.

Tilknyt kolonner i en komponent

Se Tilknytte kolonner.