Funktionerna AddColumns, DropColumns, RenameColumns och ShowColumns i PowerAppsAddColumns, DropColumns, RenameColumns, and ShowColumns functions in PowerApps

Utformar en tabell genom att lägga till, släppa, byta namn på och markera dess kolumner.Shapes a table by adding, dropping, renaming, and selecting its columns.

ÖversiktOverview

Dessa funktioner utformar en tabell genom att justera dess kolumner:These functions shape a table by adjusting its columns:

  • Reducera en tabell som innehåller flera kolumner till en kolumn för användning med funktioner för en enda kolumn, exempelvis Lower eller Abs .Reduce a table that contains multiple columns down to a single column for use with single-column functions, such as Lower or Abs.
  • Lägg till en beräknad kolumn i en tabell (till exempel en kolumn för Totalpris som visar resultatet av att multiplicera Kvantitet med Enhetspris).Add a calculated column to a table (for example, a Total Price column that shows the results of multiplying Quantity by Unit Price).
  • Byt namn på en kolumn till ett mer beskrivande, för att visa för användare eller för användning i formler.Rename a column to something more meaningful, for display to users or for use in formulas.

En tabell är ett värde i PowerApps, precis som en sträng eller ett tal.A table is a value in PowerApps, just like a string or a number. Du kan ange en tabell som ett argument i en formel och funktioner kan returnera en tabell som ett resultat.You can specify a table as an argument in a formula, and functions can return a table as a result.

Anteckning

De funktioner som beskrivs i det här avsnittet ändrar inte den ursprungliga tabellen.The functions that this topic describes don't modify the original table. De tar i stället den tabellen som ett argument och returnerar en ny tabell med en transformering tillämpad.Instead, they take that table as an argument and return a new table with a transform applied. Mer information finns i Arbeta med tabeller.See working with tables for more details.

Du kan inte ändra kolumner i en datakälla genom att använda dessa funktioner.You can't modify the columns of a data source by using these functions. Du måste ändra data vid dess källa.You must modify the data at its source. Du kan lägga till kolumner i en samling med funktionen Collect .You can add columns to a collection with the Collect function. Du hittar mer information i arbeta med datakällor.See working with data sources for more details.

BeskrivningDescription

Funktionen AddColumns lägger till en kolumn i en tabell, och en formel definierar värdena i kolumnen.The AddColumns function adds a column to a table, and a formula defines the values in that column. Befintliga kolumner förblir oförändrade.Existing columns remain unmodified.

Formeln utvärderas för varje post i tabellen.The formula is evaluated for each record of the table.

Fält i en aktuella posten är tillgängliga i formeln. Du bara referera till dem med deras namn, precis som ett annat värde. Du kan också referera till kontrollegenskaper och andra värden i hela din app. Mer information finns i exemplen nedan och arbeta med postomfång.

Funktionen DropColumns utesluter kolumner från en tabell.The DropColumns function excludes columns from a table. Alla andra kolumner förblir oförändrade.All other columns remain unmodified. DropColumns utesluter kolumner och ShowColumns inkluderar kolumner.DropColumns excludes columns, and ShowColumns includes columns.

Med funktionen RenameColumns kan du byta namn på en eller flera kolumner i en tabell. Du anger minst ett argumentpar som anger namnet på en kolumn som finns i tabellen (det gamla namnet som du vill byta ut) och namnet på kolumnen som inte finns i tabellen (det nya namnet som du vill använda).Use the RenameColumns function to rename one or more columns of a table by providing at least one argument pair that specifies the name of a column that the table contains (the old name, which you want to replace) and the name of a column that the table doesn't contain (the new name, which you want to use). Det gamla namnet måste finnas i tabellen och det nya namnet får inte finnas i tabellen.The old name must already exist in the table, and the new name must not exist. Varje kolumnnamn får bara visas en gång i argumentlistan som antingen ett gammalt kolumnnamn eller ett nytt kolumnnamn.Each column name may appear only once in the argument list as either an old column name or a new column name. Om du vill byta namn på en befintlig kolumn släpper du först den befintliga kolumnen med DropColumns, eller så byter du namn på den befintliga kolumnen genom att kapsla en RenameColumns-funktion i en annan.To rename a column to an existing column name, first drop the existing column with DropColumns, or rename the existing column out of the way by nesting one RenameColumns function within another.

Funktionen ShowColumns innehåller kolumner för en tabell och släpper alla andra kolumner.The ShowColumns function includes columns of a table and drops all other columns. Du kan använda ShowColumns för att skapa en tabell med en kolumn från en tabell med flera kolumner.You can use ShowColumns to create a single-column table from a multi-column table. ShowColumns inkluderar kolumner, och DropColumns utesluter kolumner.ShowColumns includes columns, and DropColumns excludes columns.

För alla dessa funktioner är resultatet en ny tabell med transformering tillämpad.For all these functions, the result is a new table with the transform applied. Den ursprungliga tabellen ändras inte.The original table isn't modified. Du kan inte ändra en befintlig tabell med en formel.You can't modify an existing table with a formula. SharePoint, Common Data Service, SQL Server och andra data källor innehåller verktyg för att ändra kolumnerna i listor, entiteter och tabeller, som ofta kallas för schemat.SharePoint, Common Data Service, SQL Server, and other data sources provide tools for modifying the columns of lists, entities, and tables, which are often referred to as the schema. Funktionerna i det här avsnittet transformerar bara en inmatnings tabell, utan att ändra originalet, till en utdataparameter för ytterligare användning.The functions in this topic only transform an input table, without modifying the original, into an output table for further use.

Argumenten till dessa funktioner stöder delegering.The arguments to these functions support delegation. En filter funktion som exempelvis används som ett argument för att hämta relaterade poster söker igenom alla listor, även om [dbo]. [ AllListings] -data källan innehåller en miljon rader:For example, a Filter function used as an argument to pull in related records searches through all listings, even if the '[dbo].[AllListings]' data source contains a million rows:

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

Utdata från dessa funktioner är dock föremål för den icke-Delegerings post gränsen.However, the output of these functions is subject to the non-delegation record limit. I det här exemplet returneras bara 500 poster även om data källan RealEstateAgents har 501 eller flera poster.In this example, only 500 records are returned even if the RealEstateAgents data source has 501 or more records.

Om du använder AddColumns på det här sättet måste filtret ringa separata anrop till data källan för var och en av de första posterna i RealEstateAgents, vilket orsakar en stor del av nätverks-Chatter.If you use AddColumns in this manner, Filter must make separate calls to the data source for each of those first records in RealEstateAgents, which causes a lot of network chatter. Om [dbo]. [ AllListings] är tillräckligt litet och ändras inte ofta, du kan anropa funktionen Collect i OnStart för att cachelagra data källan i din app när den startas.If [dbo].[AllListings] is small enough and doesn't change often, you could call the Collect function in OnStart to cache the data source in your app when it starts. Som ett alternativ kan du omstrukturera appen så att du bara hämtar relaterade poster när användaren ber om dem.As an alternative, you could restructure your app so that you pull in the related records only when the user asks for them.

SyntaxSyntax

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

  • Table – obligatoriskt.Table - Required. Tabell som ska användas.Table to operate on.
  • ColumnName(s) – obligatoriskt.ColumnName(s) - Required. Namnen på kolumnerna som du lägger till.Name(s) of the column(s) to add. Du måste ange en sträng (till exempel "Namn" med dubbla citattecken inkluderade) för det här argumentet.You must specify a string (for example, "Name" with double quotes included) for this argument.
  • Formula(s) – obligatoriskt.Formula(s) - Required. Formler ska utvärderas för varje post.Formula(s) to evaluate for each record. Resultatet läggs till som värdet för den nya motsvarande kolumnen.The result is added as the value of the corresponding new column. Du kan referera till andra kolumner i tabellen i den här formeln.You can reference other columns of the table in this formula.

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

  • Table – obligatoriskt.Table - Required. Tabell som ska användas.Table to operate on.
  • ColumnName(s) – obligatoriskt.ColumnName(s) - Required. Namnen på kolumnerna som du släpper.Name(s) of the column(s) to drop. Du måste ange en sträng (till exempel "Namn" med dubbla citattecken inkluderade) för det här argumentet.You must specify a string (for example, "Name" with double quotes included) for this argument.

RenameColumns( tabell; OldColumnName1; NewColumnName1 [; OldColumnName2; NewColumnName2;...])RenameColumns( Table; OldColumnName1; NewColumnName1 [; OldColumnName2; NewColumnName2; ... ] )

  • Table – obligatoriskt.Table - Required. Tabell som ska användas.Table to operate on.
  • OldColumnName – obligatoriskt.OldColumnName - Required. Namnet på en kolumn vars namn ska ändras från den ursprungliga tabellen.Name of a column to rename from the original table. Det här elementet visas först i argumentparet (eller först i varje argumentpar om formeln innehåller fler än ett par).This element appears first in the argument pair (or first in each argument pair if the formula includes more than one pair). Det här namnet måste vara en sträng (till exempel "Namn" med dubbla citattecken).This name must be a string (for example "Name" with double quotation marks included).
  • NewColumnName – obligatoriskt.NewColumnName - Required. Ersättningsnamn.Replacement name. Det här elementet visas sist i argumentparet (eller sist i varje argumentpar om formeln innehåller mer än ett par).This element appears last in the argument pair (or last in each argument pair if the formula includes more than one pair). Du måste ange en sträng (till exempel "Kundens namn" med dubbla citattecken) i det här argumentet.You must specify a string (for example, "Customer Name" with double quotation marks included) for this argument.

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

  • Table – obligatoriskt.Table - Required. Tabell som ska användas.Table to operate on.
  • ColumnName(s) – obligatoriskt.ColumnName(s) - Required. Namnen på kolumnerna som ska ingå.Name(s) of the column(s) to include. Du måste ange en sträng (till exempel "Namn" med dubbla citattecken inkluderade) för det här argumentet.You must specify a string (for example, "Name" with double quotes included) for this argument.

ExempelExamples

Exemplen i det här avsnittet använder datakällan IceCreamSales som innehåller data i den här tabellen:The examples in this section use the IceCreamSales data source, which contains the data in this table:

Inget av de här exemplen ändrar datakällan IceCreamSales.None of these examples modify the IceCreamSales data source. Varje funktion transformerar värdet för datakällan som en tabell och returnerar värdet som ett resultat.Each function transforms the value of the data source as a table and returns that value as the result.

FormelFormula BeskrivningDescription ResultatResult
AddColumns( IceCreamSales; "Intäkt"; UnitPrice * QuantitySold )AddColumns( IceCreamSales; "Revenue"; UnitPrice * QuantitySold ) Lägger till en kolumn med Intäkter till resultatet.Adds a Revenue column to the result. För varje post utvärderas UnitPrice * QuantitySold och resultatet placeras i den nya kolumnen.For each record, UnitPrice * QuantitySold is evaluated, and the result is placed in the new column.
DropColumns (IceCreamSales, "Enhetspris")DropColumns( IceCreamSales; "UnitPrice" ) Omfattar inte kolumnen Enhetspris från resultatet.Excludes the UnitPrice column from the result. Använd den här funktionen för att utesluta kolumner och använd ShowColumns för att inkludera dem.Use this function to exclude columns, and use ShowColumns to include them.
ShowColumns (IceCreamSales "Flavor")ShowColumns( IceCreamSales; "Flavor" ) Innehåller endast kolumnen Flavor i resultatet.Includes only the Flavor column in the result. Använd den här funktionen för att inkludera kolumner och använd DropColumns för att exkludera dem.Use this function include columns, and use DropColumns to exclude them.
RenameColumns (IceCreamSales, "Enhetspris", "Pris")RenameColumns( IceCreamSales; "UnitPrice"; "Price") Byter namn på kolumnen enhets pris i resultatet.Renames the UnitPrice column in the result.
RenameColumns( IceCreamSales; "Enhetspris"; "Pris"; "KvantitetSåld"; "Antal")RenameColumns( IceCreamSales; "UnitPrice"; "Price"; "QuantitySold"; "Number") Detta ändrar namn på kolumnerna Enhetspris och KvantitetSåld i resultatet.Renames the UnitPrice and QuantitySold columns in the result.
DropColumns(
RenameColumns(
AddColumns( IceCreamSales; "Intäkt";
UnitPrice * QuantitySold );
"Enhetspris"; "Pris" );
"Kvantitet" )
DropColumns(
RenameColumns(
AddColumns( IceCreamSales; "Revenue";
UnitPrice * QuantitySold );
"UnitPrice"; "Price" );
"Quantity" )
Utför följande tabelltransformeringar i ordning. Starta inuti formeln:Performs the following table transforms in order, starting from the inside of the formula:
  1. Lägger till en kolumn med Intäkter baserat på beräkning per post av UnitPrice * Antal.Adds a Revenue column based on the per-record calculation of UnitPrice * Quantity.
  2. Byter namn på Enhetspris till Pris.Renames UnitPrice to Price.
  3. Omfattar inte kolumnen Kvantitet.Excludes the Quantity column.
Observera att ordningen är viktig.Note that order is important. Vi kan till exempel inte beräkna med Enhetspris när den har bytt namn.For example, we can't calculate with UnitPrice after it has been renamed.

Steg för stegStep by step

Nu ska vi prova några av exemplen tidigare i det här avsnittet.Let's try some of the examples from earlier in this topic.

  1. Skapa en samling genom att lägga till en knapp kontroll och Ställ in dess OnSelect -egenskap enligt följande formel:Create a collection by adding a Button control and setting its OnSelect property to this formula:

    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 formeln genom att välja knappen när du håller ned Alt-tangenten.Run the formula by selecting the button while holding down the Alt key.

  3. Lägg till en andra knapp kontroll, Ställ in dess egenskap OnSelect till den här formeln och kör den:Add a second Button control, set its OnSelect property to this formula, and then run it:

    ClearCollect( FirstExample; 
        AddColumns( IceCreamSales; "Revenue"; UnitPrice * QuantitySold )
    ) 
    
  4. Välj samlingarArkiv -menyn och välj sedan IceCreamSales för att Visa samlingen.On the File menu, select Collections, and then select IceCreamSales to show that collection.

    Som den här bilden visar, ändra den andra formeln inte den här samlingen.As this graphic shows, the second formula didn't modify this collection. Funktionen AddColumns används IceCreamSales som ett skrivskyddat argument. funktionen modifierade inte den tabell som argumentet refererar till.The AddColumns function used IceCreamSales as a read-only argument; the function didn't modify the table to which that argument refers.

    Samlings visaren visar tre poster i försäljnings samlingen Ice grädde som inte innehåller någon kolumnen intäkt

  5. Välj FirstExample.Select FirstExample.

    Som bilden visar, returnerade den andra formeln en ny tabell med kolumnen tillagd.As this graphic shows, the second formula returned a new table with the added column. Funktionen ClearCollect hämtade den nya tabellen i FirstExample -samlingen och lägger till något i den ursprungliga tabellen som den flödade genom funktionen utan att ändra källan:The ClearCollect function captured the new table in the FirstExample collection, adding something to the original table as it flowed through the function without modifying the source:

    Samlings visaren visar tre poster i den första exempel samlingen som innehåller en ny kolumn med intäkter