Funktionen "AddColumns", "dropcolumns", "renamecolumns" und "showcolumns" in powerappsAddColumns, DropColumns, RenameColumns, and ShowColumns functions in Power Apps

Formen eine Tabelle durch Hinzufügen, Verwerfen, Umbenennen und Auswählen der SpaltenShapes a table by adding, dropping, renaming, and selecting its columns.

ÜbersichtOverview

Diese Funktionen formen eine Tabelle, indem sie deren Spalten anpassen:These functions shape a table by adjusting its columns:

  • Verringern Sie mehreren Spalten in einer Tabelle auf eine einige Spalte, um sie mit Funktionen wie Lower oder Abs zu verwenden, die sich nur auf einzelne Spalten beziehen.Reduce a table that contains multiple columns down to a single column for use with single-column functions, such as Lower or Abs.
  • Fügen Sie einer Tabelle eine berechnete Spalte hinzu (z.B. die Spalte Gesamtpreis, die das Ergebnis der Multiplikation von Quantität und Stückpreis anzeigt).Add a calculated column to a table (for example, a Total Price column that shows the results of multiplying Quantity by Unit Price).
  • Geben Sie einer Spalte für die Benutzer oder die Verwendung in Formeln einen aussagekräftigeren Namen.Rename a column to something more meaningful, for display to users or for use in formulas.

Eine Tabelle ist ein Wert in Power apps, wie z. b. eine Zeichenfolge oder eine Zahl.A table is a value in Power Apps, just like a string or a number. Sie können eine Tabelle als Argument in einer Formel angeben, und Formeln können eine Tabelle als Ergebnis zurückgeben.You can specify a table as an argument in a formula, and functions can return a table as a result.

Hinweis

In den Funktionen, die in diesem Thema beschrieben werden, wird die ursprüngliche Tabelle nicht geändert.The functions that this topic describes don't modify the original table. Stattdessen nehmen Sie diese Tabelle als Argument und geben eine neue Tabelle mit angewendeter Transformation zurück.Instead, they take that table as an argument and return a new table with a transform applied. Weitere Details erfahren Sie unter Arbeiten mit Tabellen.See working with tables for more details.

Die Spalten einer Datenquelle können durch diese Funktionen nicht geändert werden.You can't modify the columns of a data source by using these functions. Daten müssen an ihrer Quelle geändert werden.You must modify the data at its source. Sie können einer Sammlung mit der Collect -Funktion Spalten hinzufügen.You can add columns to a collection with the Collect function. Weitere Informationen finden Sie unter Arbeiten mit Datenquellen.See working with data sources for more details.

BeschreibungDescription

Die Funktion AddColumns fügt einer Tabelle eine Spalte hinzu, und eine Formel definiert die Werte in dieser Spalte.The AddColumns function adds a column to a table, and a formula defines the values in that column. Vorhandene Spalten bleiben unverändert.Existing columns remain unmodified.

Die Formel wird für jeden Datensatz der Tabelle ausgewertet.The formula is evaluated for each record of the table.

Die Felder des aktuell verarbeiteten Datensatzes, sind in der Formel verfügbar.Fields of the record currently being processed are available within the formula. Sie wenden, wie bei einem beliebigen anderen Wert, einfach per Name verwiesen.You simply reference them by name as you would any other value. Sie können auch Eigenschaften von Steuerelementen und andere Werte aus Ihrer App verweisen.You can also reference control properties and other values from throughout your app. Weitere Details finden Sie in den folgenden Beispielen und unter Arbeiten mit Datensatzumfang.For more details, see the examples below and working with record scope.

Die Funktion DropColumns schließt Spalten aus einer Tabelle aus.The DropColumns function excludes columns from a table. Alle anderen Spalten bleiben unverändert.All other columns remain unmodified. DropColumns schließt Spalten aus, und ShowColumns schließt Spalten ein.DropColumns excludes columns, and ShowColumns includes columns.

Verwenden Sie die Funktion RenameColumns, um eine oder mehrere Spalten einer Tabelle mithilfe von mindestens einem Argumentpaar, das den Namen einer in der Tabelle enthaltenen Spalte (der alte Name, den Sie ersetzen möchten) und den Namen einer in der Tabelle nicht enthaltenen Spalte (der neue Name, den Sie verwenden möchten) angibt.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). Der alte Name muss bereits in der Tabelle vorhanden sein, und der neue Name darf noch nicht vorhanden sein.The old name must already exist in the table, and the new name must not exist. Jeder Spaltenname darf nur einmal in der Argumentliste angezeigt werden, entweder als alter Spaltenname oder als neuer Spaltenname.Each column name may appear only once in the argument list as either an old column name or a new column name. Um eine Spalte in eine vorhandene Spalte umzubenennen, verwerfen Sie zuerst die vorhandene Spalte mit einem Klick auf DropColumns, oder benennen Sie die vorhandene Spalte separat um, indem Sie eine Funktion RenameColumns innerhalb einer anderen schachteln.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.

Die Funktion ShowColumns schließt Spalten einer Tabelle ein und verwirft alle anderen Spalten.The ShowColumns function includes columns of a table and drops all other columns. Sie können ShowColumns verwenden, um eine einspaltige Tabelle aus einer Tabelle mit mehreren Spalten zu erstellen.You can use ShowColumns to create a single-column table from a multi-column table. ShowColumns schließt Spalten ein, und DropColumns schließt Spalten aus.ShowColumns includes columns, and DropColumns excludes columns.

Das Ergebnis all dieser Funktionen ist eine neue Tabelle mit angewendeter Transformation.For all these functions, the result is a new table with the transform applied. Die ursprüngliche Tabelle wird nicht geändert.The original table isn't modified. Eine vorhandene Tabelle kann nicht mit einer Formel geändert werden.You can't modify an existing table with a formula. SharePoint, Common Data Service, SQL Server und andere Datenquellen bieten Tools zum Ändern der Spalten von Listen, Entitäten und Tabellen, die häufig als Schema bezeichnet werden.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. Die Funktionen in diesem Thema transformieren nur eine Eingabe Tabelle, ohne den ursprünglichen in eine Ausgabe Tabelle zu ändern, um Sie weiter zu verwenden.The functions in this topic only transform an input table, without modifying the original, into an output table for further use.

Die Argumente für diese Funktionen unterstützen die Delegierung.The arguments to these functions support delegation. Eine Filter Funktion, die als Argument zum Abrufen verknüpfter Datensätze verwendet wird, durchsucht beispielsweise alle Auflistungen, auch wenn "[dbo]. [ Allnotierungen] ' die Datenquelle enthält eine Million Zeilen: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 ) 
)

Die Ausgabe dieser Funktionen unterliegt jedoch dem Grenzwert für nicht Delegierungs Datensätze.However, the output of these functions is subject to the non-delegation record limit. In diesem Beispiel werden nur 500-Datensätze zurückgegeben, auch wenn die realestateagents -Datenquelle über 501 oder mehr Datensätze verfügt.In this example, only 500 records are returned even if the RealEstateAgents data source has 501 or more records.

Wenn Sie AddColumns auf diese Weise verwenden, muss der Filter separate Aufrufe an die Datenquelle für jeden dieser ersten Datensätze in realestateagentsdurchführen, wodurch viele netzwerkchatter verursacht werden.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. Wenn [dbo]. [ Allcollect] ist klein genug und ändert sich nicht häufig, Sie können die Collect -Funktion in OnStart aufrufen, um die Datenquelle in der APP beim Start zwischenzuspeichern.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. Als Alternative können Sie Ihre APP so strukturieren, dass Sie die zugehörigen Datensätze nur dann abrufen, wenn Sie vom Benutzer angefordert werden.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( Tabelle; Spaltenname1; Formel1 [; Spaltenname2; Formel2; ... ] )AddColumns( Table; ColumnName1; Formula1 [; ColumnName2; Formula2; ... ] )

  • Table: erforderlich.Table - Required. Die zu verarbeitende Tabelle.Table to operate on.
  • ColumnName(s) : erforderlich.ColumnName(s) - Required. Name(n) der hinzuzufügenden Spalte(n).Name(s) of the column(s) to add. Sie müssen für dieses Argument eine Zeichenfolge angeben (z.B. "Name" in doppelten Anführungszeichen)You must specify a string (for example, "Name" with double quotes included) for this argument.
  • Formel(n) (erforderlich):Formula(s) - Required. Die für jeden Datensatz der Tabelle auszuwertende(n) Formel(n).Formula(s) to evaluate for each record. Das Ergebnis wird als der Wert der entsprechenden neuen Spalte hinzugefügt.The result is added as the value of the corresponding new column. Sie können in dieser Formel auf andere Spalten der Tabelle verweisen.You can reference other columns of the table in this formula.

DropColumns( Tabelle; Spaltenname1 [; Spaltenname2; ... ] )DropColumns( Table; ColumnName1 [; ColumnName2; ... ] )

  • Table: erforderlich.Table - Required. Die zu verarbeitende Tabelle.Table to operate on.
  • ColumnName(s) : erforderlich.ColumnName(s) - Required. Name(n) der zu verwerfenden Spalte(n).Name(s) of the column(s) to drop. Sie müssen für dieses Argument eine Zeichenfolge angeben (z.B. "Name" in doppelten Anführungszeichen)You must specify a string (for example, "Name" with double quotes included) for this argument.

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

  • Table: erforderlich.Table - Required. Die zu verarbeitende Tabelle.Table to operate on.
  • AlterSpaltenname: erforderlich.OldColumnName - Required. Name einer umzubenennenden Spalte aus der ursprünglichen Tabelle.Name of a column to rename from the original table. Dieses Element wird als erstes in dem Argumentpaar angezeigt (oder als erstes in jedem Argumentpaar, wenn die Formel mehr als ein Paar enthält).This element appears first in the argument pair (or first in each argument pair if the formula includes more than one pair). Der Name muss eine Zeichenfolge sein (z.B. "Name" in doppelten Anführungszeichen).This name must be a string (for example "Name" with double quotation marks included).
  • NeuerSpaltenname: erforderlich.NewColumnName - Required. Der neue Name.Replacement name. Dieses Element wird als letztes in dem Argumentpaar angezeigt (oder als letztes in jedem Argumentpaar, wenn die Formel mehr als ein Paar enthält).This element appears last in the argument pair (or last in each argument pair if the formula includes more than one pair). Sie müssen für dieses Argument eine Zeichenfolge angeben (z.B. "Customer Name" (Kundenname) in doppelten Anführungszeichen).You must specify a string (for example, "Customer Name" with double quotation marks included) for this argument.

ShowColumns( Tabelle; Spaltenname1 [; Spaltenname2; ... ] )ShowColumns( Table; ColumnName1 [; ColumnName2; ... ] )

  • Table: erforderlich.Table - Required. Die zu verarbeitende Tabelle.Table to operate on.
  • ColumnName(s) : erforderlich.ColumnName(s) - Required. Name(n) der einzuschließenden Spalte(n).Name(s) of the column(s) to include. Sie müssen für dieses Argument eine Zeichenfolge angeben (z.B. "Name" in doppelten Anführungszeichen)You must specify a string (for example, "Name" with double quotes included) for this argument.

BeispieleExamples

In den Beispielen in diesem Abschnitt wird die Datenquelle IceCreamSales (Eiscremeverkäufe) verwendet, die die Daten in dieser Tabelle enthält:The examples in this section use the IceCreamSales data source, which contains the data in this table:

Keines dieser Beispiele verändert die Datenquelle IceCreamSales.None of these examples modify the IceCreamSales data source. Jede Funktion transformiert den Wert der Datenquelle in eine Tabelle und gibt den Wert als Ergebnis zurück.Each function transforms the value of the data source as a table and returns that value as the result.

FormelFormula BeschreibungDescription ErgebnisResult
AddColumns( IceCreamSales; "Revenue"; UnitPrice * QuantitySold )AddColumns( IceCreamSales; "Revenue"; UnitPrice * QuantitySold ) Fügt dem Ergebnis die Spalte Revenue (Umsatz) hinzu.Adds a Revenue column to the result. UnitPrice * QuantitySold (Stückpreis * verkaufte Menge) wird für jeden Datensatz ausgewertet, und das Ergebnis wird in die neue Spalte eingefügt.For each record, UnitPrice * QuantitySold is evaluated, and the result is placed in the new column.
DropColumns( IceCreamSales; "UnitPrice" )DropColumns( IceCreamSales; "UnitPrice" ) Schließt die Spalte UnitPrice aus dem Ergebnis aus.Excludes the UnitPrice column from the result. Mit dieser Funktion können Spalten ausgeschlossen und mit ShowColumns eingeschlossen werden.Use this function to exclude columns, and use ShowColumns to include them.
ShowColumns( IceCreamSales; "Flavor" )ShowColumns( IceCreamSales; "Flavor" ) Schließt nur die Spalte Flavor (Geschmack) im Resultset ein.Includes only the Flavor column in the result. Mithilfe dieser Funktion können Sie Spalten einschließen und mithilfe der Funktion DropColumns ausschließen.Use this function include columns, and use DropColumns to exclude them.
RenameColumns( IceCreamSales; "UnitPrice"; "Price")RenameColumns( IceCreamSales; "UnitPrice"; "Price") Benennt die Spalte UnitPrice im Ergebnis um.Renames the UnitPrice column in the result.
RenameColumns( IceCreamSales; "UnitPrice"; "Price"; "QuantitySold"; "Number")RenameColumns( IceCreamSales; "UnitPrice"; "Price"; "QuantitySold"; "Number") Benennt die Spalten UnitPrice und QuantitySold im Ergebnis um.Renames the UnitPrice and QuantitySold columns in the result.
DropColumns(
RenameColumns(
AddColumns( IceCreamSales; "Revenue";
UnitPrice * QuantitySold );
"UnitPrice"; "Price" );
"Quantity" )
DropColumns(
RenameColumns(
AddColumns( IceCreamSales; "Revenue";
UnitPrice * QuantitySold );
"UnitPrice"; "Price" );
"Quantity" )
Führt der Reihe nach die folgenden Transformationen aus, beginnend im Kern der Formel:Performs the following table transforms in order, starting from the inside of the formula:
  1. Fügt eine Revenue-Spalte basierend auf der Berechnung von UnitPrice * Quantity (Stückpreis * Menge) pro Datensatz hinzu.Adds a Revenue column based on the per-record calculation of UnitPrice * Quantity.
  2. Benennt UnitPrice in Price (Preis) um.Renames UnitPrice to Price.
  3. Schließt die Spalte Quantity aus.Excludes the Quantity column.
Beachten Sie, dass diese Reihenfolge wichtig ist.Note that order is important. Angenommen, UnitPrice kann nach der Umbenennung nicht berechnet werden.For example, we can't calculate with UnitPrice after it has been renamed.

Schritt für SchrittStep by step

Probieren wir einige Beispiele aus, die in diesem Thema erwähnt wurden.Let's try some of the examples from earlier in this topic.

  1. Erstellen Sie eine Sammlung, indem Sie ein Schalt Flächen-Steuerelement hinzufügen und dessen Eigenschaft onselect auf diese Formel festlegen: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. Wenn Sie die Alt-Taste gedrückt halten, klicken Sie auf die Schaltfläche.Run the formula by selecting the button while holding down the Alt key.

  3. Fügen Sie ein zweites Button -Steuerelement hinzu, legen Sie dessen onselect -Eigenschaft auf diese Formel fest, und führen Sie es aus:Add a second Button control, set its OnSelect property to this formula, and then run it:

    ClearCollect( FirstExample; 
        AddColumns( IceCreamSales; "Revenue"; UnitPrice * QuantitySold )
    ) 
    
  4. Wählen Sie im Menü Datei die Option Sammlungenaus, und wählen Sie dann icecreamsales aus, um diese Sammlung anzuzeigen.On the File menu, select Collections, and then select IceCreamSales to show that collection.

    Wie diese Abbildung zeigt, hat die zweite Formel diese Auflistung nicht geändert.As this graphic shows, the second formula didn't modify this collection. Die AddColumns -Funktion hat icecreamsales als Schreib geschütztes Argument verwendet. die-Funktion hat die Tabelle, auf die dieses Argument verweist, nicht geändert.The AddColumns function used IceCreamSales as a read-only argument; the function didn't modify the table to which that argument refers.

    Sammlungs-Viewer mit drei Datensätzen der Eiskrem Sales-Sammlung, die keine Umsatz Spalte enthält

  5. Wählen Sie firstexampleaus.Select FirstExample.

    Wie diese Abbildung zeigt, hat die zweite Formel eine neue Tabelle mit der hinzugefügten Spalte zurückgegeben.As this graphic shows, the second formula returned a new table with the added column. Die clearcollect -Funktion hat die neue Tabelle in der firstexample -Auflistung aufgezeichnet und der ursprünglichen Tabelle etwas hinzugefügt, während Sie durch die Funktion fließt, ohne die Quelle zu ändern: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:

    Sammlungs Anzeige mit drei Datensätzen der ersten Beispiel Sammlung, die eine neue Umsatz Spalte enthält