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 von einem Benutzer aktiviert wird, erstellt die Formel eine Sammlung namens collectDigitalAssets, die alle Zeilen aus YourDataSource enthält, und fügt die Spalte UserSelected hinzu. Der Spaltenwert ist für alle Zeilen false.

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

collectDigitalAssets

In dem Katalog-Steuerelement hätte Ihre Spalte UserSelected einen Anfangswert als false. Anschließend können in Ihrem Katalog ein Schaltfläche-Steuerelement hinzufügen, sodass OnSelect die Spalte auf patchen würde.

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

Mit dieser Formel können Sie die Zeilen verfolgen, die Ihr Benutzer in der Sammlung collectDigitalAssets auswählt, ohne die Spalten in Ihrer Datenquelle anzupassen.

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 hinzugefügte 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 Funktion DropColumns benötigt, um hinzugefügte Spalten vor 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 zu Ihrer Datenquelle. 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. Wenn Sie versuchen, Ihre Daten mit diesen Spalten zu patchen, wird ein Fehler angezeigt. Mit DropColumns können Sie diese Spalten aus Ihrer Sammlung entfernen und nur die entsprechenden Spalten an die Datenquelle übermitteln.

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 wurden. 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 diese 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 dies tun, indem Sie die Formel wie folgt aktualisieren:

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

Sie haben dieselbe Datenzeile. Nun trägt die mit Datum benannte Spalte in Ihrer Sammlung stattdessen den Namen ProjectDate. Diese Funktion 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 mit dem 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, um das Steuerelement weiterzuleiten, das 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 CustomerName 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. Sie können dem Bildschirm ein Beschriftung-Steuerelement hinzufügen, und legen Sie für den Text-Wert Folgendes fest. Wenn Ihre Dropdownliste nicht „Dropdown1“ heißt, können Sie die Formel entsprechend bearbeiten.

Dropdown1.Selected.ID

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