Die Spalten aus Ihrer Datenquelle ändern

Abgeschlossen

Beim Arbeiten mit Datenzeilen in Power Apps helfen Funktionen wie Filter und Search dabei, die Zeilen selbst zu verfeinern. Es gibt jedoch Szenarien, in denen Sie die Spalten in diesen Zeilen bearbeiten müssen, ohne die ursprüngliche Datenquelle anzupassen.

Stellen Sie sich vor, Sie erstellen eine Shopping Cart-App, in der Sie den Überblick über ausgewählte Artikel behalten möchten. In solchen Fällen wird es entscheidend, eine temporäre Spalte ausschließlich innerhalb Power Apps zu haben, ohne die ursprüngliche Datenquelle zu beeinträchtigen.

Zum Glück stellt Power Apps hierfür eine Reihe von maßgeschneiderten Funktionen bereit. Mit diesen Funktionen können Sie Spalten in Ihrer App-Umgebung ändern und so beeinflussen, wie die Daten verarbeitet oder dargestellt werden, ohne Änderungen an der grundlegenden Datenquelle vorzunehmen. So wird sichergestellt, dass Ihre Änderungen, wie beispielsweise die Verfolgung ausgewählter Artikel in einem Shopping Cartszenario, auf die App beschränkt sind und keinen Einfluss auf die tatsächliche Datenquelle haben. Dabei handelt es sich um diese Funktionen:

  • AddColumns

  • DropColumns

  • RenameColumns

  • ShowColumns

AddColumns

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

Für das vorherige Beispiel einer Einkaufskorb-App würden Sie die AddColumns-Funktion verwenden, um eine Spalte für die Nachverfolgung hinzuzufügen, wenn der Benutzer die Spalte auswählen würde. Dazu würden Sie die folgende Formel für die OnSelect-Eigenschaft für ein Schaltfläche-Steuerelement festlegen.

ClearCollect(collectDigitalAssets, AddColumns(YourDataSource,"UserSelected", false))

Wenn diese Schaltfläche aktiviert ist, erstellt die Formel eine Sammlung namens collectDigitalAssets, die alle Zeilen aus YourDataSource enthält, und fügt die Spalte Benutzerauswahl hinzu. Der Spaltenwert ist für alle Zeilen false.

Legen Sie nun in Ihrem Katalog-Steuerelement die Items-Eigenschaft wie folgt fest.

collectDigitalAssets

Im Katalog-Steuerelement hätten Sie Zugriff auf eine Spalte namens UserSelected und der Wert wäre „false“. Anschließend können Ihrem Katalog Sie eine Schaltfläche hinzufügen, sodass OnSelect die Spalte auf „true“ patchen würde.

Patch(collectDigitalAssets, ThisItem, {UserSelected: true})

In der Sammlung collectDigitalAssets verfolgen Sie jetzt die Zeilen nach, die der Benutzer in Ihrer App ausgewählt hat, ohne die Spalten in Ihrer Datenquelle zu ändern.

DropColumns

Die DropColumns-Funktion ist das Gegenteil von „AddColumns“. Mit der Funktion werden Spalten aus der Tabelle in Power Apps entfernt. Diese Funktion wird verwendet, wenn Sie in Power Apps eine Sammlung erstellen möchten, die mehrere Spalten für die App-Funktionalität umfasst. Da diese Spalten nur in der Sammlung für App-Funktionalität hinzugefügt und nicht an die Datenquelle gesendet werden, wird die DropColumns-Funktion benötigt, um die Spalte nach der Übermittlung an die Datenquelle zu entfernen.

Sie erstellen beispielsweise den Sammlungsnamen collectTimeTracking zur Verwendung in einer Zeitverfolgungsanwendung. Die Sammlung verfügt über die folgenden fünf Spalten: „Name“, „Arbeitsstunden“, „Arbeitsdatum“, „LetzterBildschirm“ und „Status“. Die Spalten Name, Arbeitsstunden und Arbeitsdatum verfolgen die Daten basierend auf den Arbeitsstunden eines Mitarbeiters zum Speichern in YourDataSource nach. Die Spalten LastScreen und Status speichern Daten zum Bereitstellen der App-Funktionalität, während der Benutzer die App verwendet.

Wenn der Benutzer fertig ist, ist die Verwendung der Collect-Funktion eine Möglichkeit, die Informationen wieder in einer Datenquelle zu speichern. Wenn die Spalten mit der Datenquelle übereinstimmen, schreibt die Funktion Collect alle Zeilen in Ihre Sammlung. In diesem Beispiel sind Name, HoursWorked, und DateWorked die einzigen Spalten in der Datenquelle. LastScreen und Status sind in der Datenquelle nicht vorhanden und müssen nicht gespeichert werden. Sie können mit DropColumns die entsprechenden Spalten ausschließlich an die Datenquelle senden.

Collect(YourDataSource, DropColumns(collectTimeTracking, "LastScreen","Status"))

Diese Funktion schreibt den Inhalt der Sammlung, CollectTimeTracking, in die Datenquelle, YourDataSource, nachdem die Spalten LastScreen und Status gelöscht sind. Beachten Sie, dass DropColumns Ihre Sammlung CollectTimeTracking nicht geändert hat. Die Spalten LastScreen und Status sind in der Sammlung weiterhin verfügbar.

RenameColumns

Verwenden Sie die RenameColumns-Funktion, wenn Sie den Namen der Spalte in Ihrer App, aber nicht innerhalb der Datenquelle bearbeiten müssen. Ein häufiger Grund zur Verwendung liegt vor, wenn Schwierigkeiten beim Verweis der Datenquelle, die Sie nicht bearbeiten können, auf den Spaltennamen auftreten, oder im Spaltennamen reservierte Wörter wie „Date“ verwendet werden.

Sie können die Funktion beim Speichern von Daten in einer Sammlung verwenden. Die Collect-Funktion kann den Inhalt der Datenquelle in einer Sammlung speichern.

Collect(collectProjectData, ProjectDataSource)

Diese Formel würde eine Sammlung mit dem Namen collectProjectData erstellen, die alle Zeilen von Daten aus der Datenquelle ProjectDataSource speichert. Wenn die Datenquelle eine Spalte mit dem Namen Datum aufweist, können Sie sich die Arbeit in Power Apps vereinfachen, indem Sie diese Spalte in Projektdatum umbenennen. Sie können hierzu statt des vorherigen Beispiels die folgende Formel verwenden.

Collect(collectProjectData, RenameColumns(ProjectDataSource, "Date","ProjectDate"))

Sie haben dieselbe Zeile. Nun trägt die mit Datum benannte Spalte in Ihrer Sammlung stattdessen den Namen ProjectDate. Dies bietet Ihnen die Flexibilität, Spalten so zu benennen, dass bei der Arbeit in der App keine Verwirrung entsteht.

ShowColumns

Mit ShowColumns werden eine oder mehrere Spalten aus Ihrer Datenquelle angezeigt. Verwenden Sie diese Funktion mit Steuerelementen, bei denen nur eine einzelne Spalte zurückgegeben werden soll. Ein gängiges Beispiel ist das Dropdown-Steuerelement.

Mit dem Dropdown-Steuerelement wird üblicherweise eine Datenquelle verwendet, z. B. eine Microsoft Dataverse-Tabelle, um die Optionen bereitzustellen. Wenn Sie die Items-Eigenschaft auf eine Datenquelle setzen, wählt Power Apps die anzuzeigende Spalte aus, sofern mehrere Spalten vorhanden sind. Sie können mit der ShowColumns-Funktion die Spalte auswählen, die Sie anzeigen möchten.

Nehmen wir an, Sie möchten eine Datenquelle mit dem Namen Customers zum Anzeigen der Namen der Kunden aus der Spalte Kundenname verwenden. Sie würden die folgende Formel in der Items-Eigenschaft des Dropdown-Steuerelements verwenden.

ShowColumns(Customers, "CustomerName")

Mit dieser Formel zeigt die Dropdown-Spalte die Werte aus der Kundenname-Spalte an.

ShowColumns kann auch mehrere Spalten zurückgeben. Das Dropdown-Steuerelement zeigt nur die erste Spalte an, aber Sie haben Zugriff auf alle abgerufenen Spalten. Das folgende Beispiel veranschaulicht das Hinzufügen der ID-Spalte zu Ihrem Dropdown-Steuerelement.

ShowColumns(Customers, "CustomerName", "ID")

Die Dropdownliste zeigt nur den Wert aus der CustomerName-Spalte im Dropdown-Steuerelement an, aber mit dieser Formel haben Sie nun Zugriff auf den Wert der ID-Spalte. Fügen Sie dem Bildschirm ein Beschriftung-Steuerelement hinzu, und legen Sie für den Text-Wert Folgendes fest. Wenn Ihre Dropdownliste nicht „Dropdown1“ heißt, bearbeiten Sie die Formel entsprechend.

Dropdown1.Selected.ID

Die Formel gibt den Wert aus der ID-Spalte für die ausgewählte Zeile in Ihrem Dropdown-Steuerelement zurück.