Funktionen „AddColumns“, „DropColumns“, „RenameColumns“ und „ShowColumns“

Gilt für: Canvas-Apps Desktop-Flows Modellgesteuerte Apps Power Platform CLI

Formen eine Tabelle durch Hinzufügen, Verwerfen, Umbenennen und Auswählen der Spalten.

Mit der Funktion **ForAll lässt sich auch eine Tabelle gestalten, indem eine Tabelle mit neuen Datensätzen zurückgegeben wird, die aus vorhandenen Spalten erstellt wurde.

Überblick

Diese Funktionen formen eine Tabelle, indem sie deren Spalten anpassen:

  • Verringern Sie mehrere Spalten in einer Tabelle auf eine einzige Spalte, um sie mit Funktionen für einzelne Spalten zu verwenden, wie Lower oder Sqrt.
  • Fügen Sie einer Tabelle eine berechnete Spalte hinzu (z. B. die Spalte Total Price, die das Ergebnis der Multiplikation von Quantity und Unit Price anzeigt).
  • Geben Sie einer Spalte für die Benutzer oder die Verwendung in Formeln einen aussagekräftigeren Namen.

Tabellen stellen in Power Apps einen Wert dar, genau wie Zeichenfolgen oder Zahlen. Sie können eine Tabelle als Argument in einer Formel angeben, und Funktionen können eine Tabelle als Ergebnis zurückgeben.

Notiz

Die in diesem Thema beschriebenen Funktionen ändern die ursprüngliche Tabelle nicht. Stattdessen nehmen sie diese Tabelle als Argument und geben eine neue Tabelle mit einer angewendeten Transformation zurück. Weitere Informationen finden Sie unter Arbeiten mit Tabellen.

Die Spalten einer Datenquelle können durch diese Funktionen nicht geändert werden. Daten müssen an ihrer Quelle geändert werden. Sie können einer Sammlung mit der Collect -Funktion Spalten hinzufügen. Weitere Informationen finden Sie unter Arbeiten mit Datenquellen.

Eigenschaft

Die AddColumns-Funktion fügt einer Tabelle eine Spalte hinzu, und eine Formel definiert die Werte in dieser Spalte. Vorhandene Spalten bleiben unverändert.

Die Formel wird für jeden Datensatz der Tabelle ausgewertet.

Die Felder des aktuell verarbeiteten Datensatzes sind in der Formel verfügbar. Verwenden Sie den ThisRecord-Operator, oder referenzieren Sie Felder einfach namentlich wie jeden anderen Wert. Der As-Operator kann auch verwendet werden, um den zu verarbeitenden Datensatz zu benennen, wodurch Ihre Formel leichter verständlich wird und verschachtelte Datensätze zugänglich werden. Weitere Informationen finden Sie in den folgenden Beispielen und unter Arbeiten mit Datensatzumfang.

Die DropColumns-Funktion schließt Spalten aus einer Tabelle aus. Alle anderen Spalten bleiben unverändert. DropColumns schließt Spalten aus, und ShowColumns schließt Spalten ein.

Verwenden Sie die RenameColumns-Funktion, 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, umzubenennen. Der alte Name muss bereits in der Tabelle vorhanden sein, und der neue Name darf noch nicht vorhanden sein. Jeder Spaltenname darf nur einmal in der Argumentliste angezeigt werden, entweder als alter Spaltenname oder als neuer Spaltenname. 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 RenameColumns-Funktion innerhalb einer anderen schachteln.

Die ShowColumns-Funktion schließt Spalten einer Tabelle ein und verwirft alle anderen Spalten. Sie können ShowColumns verwenden, um eine einspaltige Tabelle aus einer Tabelle mit mehreren Spalten zu erstellen. ShowColumns schließt Spalten ein, und DropColumns schließt Spalten aus.

Das Ergebnis all dieser Funktionen ist eine neue Tabelle mit angewendeter Transformation. Die ursprüngliche Tabelle wird nicht geändert. Sie können eine vorhandene Tabelle nicht mit einer Formel ändern. SharePoint, Microsoft Dataverse, SQL Server und andere Datenquellen bieten Tools zum Ändern der Spalten von Listen, Tabellen und Tabellen, die oft als Schema bezeichnet werden. Die Funktionen in diesem Artikel transformieren nur eine Eingabetabelle, ohne das Original zu ändern, zur weiteren Verwendung in eine Ausgabetabelle.

Die Argumente für diese Funktionen unterstützen die Delegierung. Wenn zum Beispiel eine Filter-Funktion als Argument zum Abrufen verwandter Datensätze verwendet wird, durchsucht sie alle Einträge, auch wenn die '[dbo].[AllListings]'-Datenquelle eine Million Zeilen enthält:

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

Die Ausgabe dieser Funktionen unterliegt jedoch dem Datensatzlimit für Nichtdelegierung. In diesem Beispiel werden nur 500 Datensätze zurückgegeben, selbst wenn die RealEstateAgents-Datenquelle 501 oder mehr Datensätze hat.

Wenn Sie AddColumns auf diese Weise verwenden, muss Filter für jeden dieser ersten Datensätze in RealEstateAgents die Datenquelle separat aufrufen, was viel Datenverkehr verursacht. Wenn [dbo](.[AllListings] klein genug ist und sich nicht oft ändert. Sie können die Funktion Collect in OnStart aufrufen, um die Datenquelle beim Start Ihrer App zwischenzuspeichern. Alternativ können Sie Ihre App so umstrukturieren, dass Sie die zugehörigen Datensätze nur dann abrufen, wenn der Benutzer danach fragt.

Anmerkung

In Power Apps vor Version 3.24042 wurden Spaltennamen mit einer Textzeichenfolge in Anführungszeichen angegeben. Wenn sie mit einer Datenquelle verbunden waren, mussten es auch logische Namen sein. Beispielsweise wurde der logische Name „cr43e_name“ mit Anführungszeichen anstelle des Anzeigenamens Name ohne Anführungszeichen verwendet. Für SharePoint- und Excel-Datenquellen, die Spaltennamen mit Leerzeichen enthalten, wurde jedes Leerzeichen mit „_x0020_“ angegeben, zum Beispiel „Column Name“ als „Column_x0020_Name“. Nach dieser Version wurden alle Apps automatisch auf die in diesem Artikel beschriebene neue Syntax aktualisiert.

Syntax

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

  • Table – Erforderlich. Die zu verarbeitende Tabelle.
  • ColumnName(s) – Erforderlich. Namen der hinzuzufügenden Spalten.
  • Formel(n) – Erforderlich. Die für jeden Datensatz auszuwertenden Formeln. Das Ergebnis wird als der Wert der entsprechenden neuen Spalte hinzugefügt. Sie können in dieser Formel auf andere Spalten der Tabelle verweisen.

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

  • Table – Erforderlich. Die zu verarbeitende Tabelle.
  • ColumnName(s) – Erforderlich. Namen der zu verwerfenden Spalten.

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

  • Table – Erforderlich. Die zu verarbeitende Tabelle.
  • OldColumnName(s): erforderlich. Namen der umzubenennenden Spalten aus der ursprünglichen Tabelle. Dieses Element wird als erstes in dem Argumentpaar angezeigt (oder als erstes in jedem Argumentpaar, wenn die Formel mehr als ein Paar enthält).
  • NewColumnName(s): erforderlich. Die neuen Namen. Dieses Element wird als letztes in dem Argumentpaar angezeigt (oder als letztes in jedem Argumentpaar, wenn die Formel mehr als ein Paar enthält).

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

  • Table – Erforderlich. Die zu verarbeitende Tabelle.
  • ColumnName(s) – Erforderlich. Namen der einzuschließenden Spalten.

Beispiele

In den Beispielen in diesem Abschnitt wird die Datenquelle IceCreamSales verwendet, die die Daten in dieser Tabelle enthält:

Eiscreme-Beispiel

Keines dieser Beispiele verändert die Datenquelle IceCreamSales. Jede Funktion transformiert den Wert der Datenquelle in eine Tabelle und gibt den Wert als Ergebnis zurück.

Formel Eigenschaft Result
AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold ) Fügt dem Ergebnis die Spalte Revenue hinzu. UnitPrice * QuantitySold wird für jeden Datensatz ausgewertet, und das Ergebnis wird in die neue Spalte eingefügt. Ergebnis mit Erdbeere, Schokolade und Vanille
DropColumns( IceCreamSales, UnitPrice ) Schließt die Spalte UnitPrice aus dem Ergebnis aus. Mit dieser Funktion können Spalten ausgeschlossen und mit ShowColumns eingeschlossen werden. Ergebnis mit Erdbeere, Schokolade, Vanille, die nur die Spalte QuantitySold enthält
ShowColumns( IceCreamSales, Flavor ) Schließt nur die Spalte Flavor im Ergebnis ein. Mithilfe dieser Funktion können Sie Spalten einschließen und mithilfe der Funktion DropColumns ausschließen. Nur Geschmacksspalte
RenameColumns( IceCreamSales, UnitPrice, Price) Benennt die Spalte UnitPrice im Ergebnis um. Ergebnis mit Geschmack, Preis und Umsatz
RenameColumns( IceCreamSales, UnitPrice, Price, QuantitySold, Number) Benennt die Spalten UnitPrice und QuantitySold im Ergebnis um. Ergebnis mit 3 Eissorten und Spalten als Geschmack, Preis, Umsatz
DropColumns(
RenameColumns(
AddColumns( IceCreamSales, Revenue,
UnitPrice * verkaufte Menge ),
UnitPrice, Price ),
Quantity )
Führt der Reihe nach die folgenden Tabellentransformationen aus, beginnend im Kern der Formel:
  1. Fügt eine Revenue-Spalte basierend auf der Berechnung von UnitPrice * Quantity pro Datensatz hinzu.
  2. Benennt UnitPrice in Price um.
  3. Schließt die Spalte Quantity aus.
Die Reihenfolge ist wichtig. Zum Beispiel kann UnitPrice nach der Umbenennung nicht mehr berechnet werden.
IceCream-Beispiel für Einzelpreis

Schritt für Schritt

Versuchen wir einige der vorherigen Beispiele aus diesem Artikel.

  1. Erstellen Sie eine Sammlung, indem Sie ein Button-Steuerelement hinzufügen und dessen OnSelect-Eigenschaft auf folgende Formel festlegen:

    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. Führen Sie die Formel aus, indem Sie die Schaltfläche auswählen und die ALT-Taste gedrückt halten.

  3. Fügen Sie ein zweites Button-Steuerelement hinzu, legen Sie dessen OnSelect-Eigenschaft auf diese Formel fest und führen Sie es dann aus:

    ClearCollect( FirstExample,
       AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold )
    )
    
  4. Klicken Sie im Menü Datei auf Sammlungen und wählen Sie dann IceCreamSales aus, um diese Sammlung anzuzeigen.

    Wie diese Grafik zeigt, hat die zweite Formel diese Sammlung nicht geändert. Die AddColumns-Funktion verwendet IceCreamSales als schreibgeschütztes Argument. Die Funktion hat die Tabelle, auf die sich dieses Argument bezieht, nicht geändert.

    Sammlungsbetrachter, der drei Datensätze der Ice Cream Sales-Sammlung anzeigt, die keine Revenue-Spalte enthält

  5. Wählen Sie FirstExample aus.

    Wie diese Grafik zeigt, hat die zweite Formel eine neue Tabelle mit der hinzugefügten Spalte zurückgegeben. Die ClearCollect-Funktion erfasste die neue Tabelle in der FirstExample-Sammlung, die der ursprünglichen Tabelle etwas hinzufügt, während sie durch die Funktion floss, ohne die Quelle zu ändern:

    Sammlungsbetrachter, der drei Datensätze der First Example-Sammlung anzeigt, die eine neue Revenue-Spalte enthält

Ordnen Sie Spalten in einer Komponente zu

Siehe Spalten zuordnen