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( Tabelle, Spaltenname1, Formel1 [, Spaltenname2, Formel2, ... ] )
- Tabelle – Erforderlich. Die zu verarbeitende Tabelle.
- ColumnNames – Erforderlich. Namen der hinzuzufügenden Spalten.
- Formeln – 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( Tabelle, Spaltenname1 [, Spaltenname2, ... ] )
- Tabelle – Erforderlich. Die zu verarbeitende Tabelle.
- ColumnNames – Erforderlich. Namen der zu verwerfenden Spalten.
Spalten umbenennen( Tabelle, AlterSpaltenname1, NeuerSpaltenname1 [, AlterSpaltenname2, NeuerSpaltenname2, ... ] )
- Tabelle – Erforderlich. Die zu verarbeitende Tabelle.
- OldColumnNames – 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).
- NewColumnNames – 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).
Spalten anzeigen( Tabelle, Spaltenname1 [, Spaltenname2, ... ] )
- Tabelle – Erforderlich. Die zu verarbeitende Tabelle.
- ColumnNames – 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:
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( Eiscremeverkäufe, Umsatz, Stückpreis * Verkaufte Menge ) | 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. | |
DropColumns( Eiscremeverkauf, Einzelpreis ) | Schließt die Spalte UnitPrice aus dem Ergebnis aus. Mit dieser Funktion können Spalten ausgeschlossen und mit ShowColumns eingeschlossen werden. | |
Spalten anzeigen (Eiscremeverkauf, Geschmack) | 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. | |
Spalten umbenennen (Eiscremeverkauf, Stückpreis, Preis) | Benennt die Spalte UnitPrice im Ergebnis um. | |
Spalten umbenennen (Eiscremeverkauf, Stückpreis, Preis, Verkaufte Menge, Zahl) | Benennt die Spalten UnitPrice und QuantitySold im Ergebnis um. | |
Spalten ablegen( RenameColumns( AddColumns( IceCreamSales, Revenue, UnitPrice * verkaufte Menge ), UnitPrice, Price ), Quantity ) |
Führt der Reihe nach die folgenden Tabellentransformationen aus, beginnend im Kern der Formel:
|
Schritt für Schritt
Versuchen wir einige der vorherigen Beispiele aus diesem Artikel.
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 } ) )
Führen Sie die Formel aus, indem Sie die Schaltfläche auswählen und die ALT-Taste gedrückt halten.
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 ) )
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.
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:
Ordnen Sie Spalten in einer Komponente zu
Siehe Spalten zuordnen