Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In Power Apps können Sie eine Canvas-App erstellen, die auf Informationen in Microsoft Excel, SharePoint, SQL Server und mehreren anderen Quellen zugreift, die Daten in Datensätzen und Tabellen speichern. Um mit dieser Art von Daten am effektivsten zu arbeiten, überprüfen Sie die Konzepte, die diese Strukturen zugrunde legen.
- Ein Datensatz enthält eine oder mehrere Kategorien von Informationen zu einer Person, einem Ort oder einer Sache. Beispielsweise kann ein Datensatz den Namen, die E-Mail-Adresse und die Telefonnummer eines einzelnen Kunden enthalten. Andere Tools beziehen sich auf einen Datensatz als "Zeile" oder "Element".
- Eine Tabelle enthält mindestens einen Datensatz, der die gleichen Informationskategorien enthält. Beispielsweise kann eine Tabelle die Namen, die E-Mail-Adressen und die Telefonnummern von 50 Kunden enthalten.
Verwenden Sie in Ihrer App Formeln zum Erstellen, Aktualisieren und Bearbeiten von Datensätzen und Tabellen. Wahrscheinlich lesen und schreiben Sie Daten in eine externe Datenquelle, bei der es sich um eine erweiterte Tabelle handelt. Darüber hinaus können Sie eine oder mehrere interne Tabellen erstellen, die als Sammlungen bezeichnet werden.
Sie können eine Vielzahl von Formeln erstellen, die den Namen einer Tabelle als Argument verwenden, genauso wie eine Formel in Excel einen oder mehrere Zellbezüge als Argumente akzeptiert. Einige Formeln in Power Apps geben eine Tabelle zurück, die die anderen von Ihnen angegebenen Argumente widerspiegelt. Sie können beispielsweise eine Formel erstellen:
- so aktualisieren Sie einen Datensatz in einer Tabelle, indem Sie diese Tabelle als eines von mehreren Argumenten für die Patch-Funktion angeben
- um Spalten in einer Tabelle hinzuzufügen, zu entfernen und umzubenennen, indem Sie diese Tabelle als Argument für die Funktion "AddColumns", "DropColumns" oder "RenameColumns" angeben. Keine dieser Funktionen ändert die ursprüngliche Tabelle. Stattdessen gibt die Funktion eine andere Tabelle basierend auf den anderen von Ihnen angegebenen Argumenten zurück.
Elemente einer Tabelle
Datensätze
Jeder Datensatz enthält mindestens eine Informationskategorie für eine Person, einen Ort oder eine Sache. Das obige Beispiel zeigt einen Datensatz für jedes Produkt (Schokolade, Brot und Wasser) und eine Spalte für jede Informationskategorie (Preis, Menge zur Hand und Menge auf Bestellung).
In einer Formel können Sie mit geschweiften Klammern auf einen Datensatz selbst, außerhalb eines Tabellenkontexts verweisen. Beispielsweise ist dieser Datensatz { Name: "Erdbeeren", Preis: 7,99 } nicht mit einer Tabelle verknüpft. Feldnamen, z. B. Name und Preis in diesem Beispiel, werden nicht in doppelte Anführungszeichen eingeschlossen.
Felder
Ein Feld ist ein einzelnes Informationsstück in einem Datensatz. Sie können diese Art von Feld als Wert in einer Spalte für einen bestimmten Datensatz visualisieren.
Genau wie bei einem Steuerelement verweisen Sie auf ein Feld eines Datensatzes mithilfe des .-Operators am Datensatz. Beispiel: First(Products). Name gibt das Feld "Name " für den ersten Datensatz in der Tabelle "Artikel " zurück.
Ein Feld kann einen anderen Datensatz oder eine andere Tabelle enthalten, wie das Beispiel für die GroupBy-Funktion zeigt. Sie können beliebig viele Ebenen von Datensätzen und Tabellen schachteln.
Columns
Eine Spalte bezieht sich auf dasselbe Feld für einen oder mehrere Datensätze in einer Tabelle. Im vorherigen Beispiel weist jedes Produkt ein Preisfeld auf, und alle Produkte teilen sich dieselbe Spalte für diesen Preis. Die vorstehende Tabelle weist vier Spalten auf, die horizontal über dem oberen Rand angezeigt werden:
- Name
- Preis
- Verfügbarer Bestand
- Menge auf Bestellung
Der Name der Spalte gibt die Felder in dieser Spalte wieder.
Alle Werte in einer Spalte weisen denselben Datentyp auf. Im vorherigen Beispiel enthält die Spalte "Menge auf Lager" immer eine Zahl und darf keine Zeichenfolge enthalten, z. B. "12 Einheiten", bei einem Datensatz. Der Wert eines beliebigen Felds kann auch leer sein.
Möglicherweise haben Sie spalten in anderen Tools als "Felder" bezeichnet.
Hinweis
Bei Datenquellen wie SharePoint-, Excel- oder Power BI-Kacheln, die Spaltennamen mit Leerzeichen enthalten, ersetzt Power Apps die Leerzeichen durch "_x0020_". Beispielsweise wird "Spaltenname" in SharePoint, Excel oder Power BI als "Column_x0020_Name" in Power Apps angezeigt, wenn sie im Datenlayout angezeigt oder in einer Formel verwendet wird.
Table
Eine Tabelle besteht aus einem oder mehreren Datensätzen, die jeweils mehrere Felder mit konsistenten Namen in den Datensätzen enthalten.
Sie verwenden den Tabellennamen, um auf eine beliebige Tabelle zu verweisen, die in einer Datenquelle oder einer Sammlung gespeichert ist. Sie können den Tabellennamen auch an Funktionen übergeben, die Tabellen als Argumente verwenden. Eine Funktion oder Formel kann auch Tabellen zurückgeben.
Wie im folgenden Beispiel gezeigt, können Sie eine Tabelle in einer Formel ausdrücken, indem Sie die Tabellenfunktion mit einer Reihe von Datensätzen verwenden, die Sie in geschweiften Klammern ausdrücken:
Table( { Value: "Strawberry" }, { Value: "Vanilla" } )
Sie können auch eine einspaltige Tabelle mithilfe von eckigen Klammern definieren. Der folgende Ausdruck ist eine gleichwertige Methode zum Schreiben des vorherigen Ausdrucks:
[ "Strawberry", "Vanilla" ]
Tabellenformeln
In Excel und Power Apps verwenden Sie Formeln, um Zahlen und Zeichenfolgen von Text auf ähnliche Weise zu bearbeiten:
- Geben Sie in Excel einen Wert ein, z. B. 42, in Zelle A1, und geben Sie dann eine Formel ein, z. B. A1+2, in einer anderen Zelle, um den Wert 44 anzuzeigen.
- Legen Sie in Power Apps die Standardeigenschaft von Slider1 auf 42 fest, und legen Sie die Text-Eigenschaft einer Beschriftung auf Slider1.Value + 2 fest, um den Wert von 44 anzuzeigen.
In beiden Fällen ändert sich der berechnete Wert automatisch, wenn Sie die Werte der Argumente ändern (z. B. die Zahl in Zelle A1 oder den Wert von Slider1).
Ebenso können Sie Formeln verwenden, um auf Daten in Tabellen und Datensätzen zuzugreifen und sie zu bearbeiten. Sie können Namen von Tabellen als Argumente in einigen Formeln verwenden, z. B. Min(Katalog, Preis), um den niedrigsten Wert in der Spalte "Preis " der Katalogtabelle anzuzeigen. Andere Formeln stellen ganze Tabellen als Rückgabewerte bereit, z. B. RenameColumns(Catalog, "Price", "Cost"), die alle Datensätze aus der Katalogtabelle zurückgibt, aber den Namen der Spalte " Preis " in "Kosten" ändert.
Genau wie bei Zahlen werden Formeln, die Tabellen und Datensätze umfassen, automatisch neu berechnet, wenn sich die zugrunde liegende Tabelle oder der Datensatz ändert. Wenn die Kosten eines Produkts in der Katalogtabelle auf einen Wert reduziert werden, der kleiner als das vorherige Minimum ist, wird der Rückgabewert der Min-Formel automatisch entsprechend geändert.
Sehen wir uns einige einfache Beispiele an.
Erstellen Sie eine leere App für ein Smartphone und fügen Sie ein vertikales Galerie-Steuerelement hinzu, das andere Steuerelemente enthält.
Der Bildschirm zeigt standardmäßig Platzhaltertext aus einer Tabelle mit dem Namen CustomGallerySample an. Die Items-Eigenschaft des Galerie-Steuerelements auf dem Bildschirm wird automatisch auf diese Tabelle festgelegt.
Hinweis
Einige Steuerelemente werden neu angeordnet und zur Veranschaulichung vergrößert.
Statt die Items-Eigenschaft auf den Namen einer Tabelle festzulegen, legen Sie sie auf eine Formel fest, die den Namen der Tabelle als Argument enthält, wie im folgenden Beispiel gezeigt:
Sort(CustomGallerySample, SampleHeading, SortOrder.Descending)Diese Formel enthält die Sortierfunktion , die den Namen einer Tabelle als erstes Argument und den Namen einer Spalte in dieser Tabelle als zweites Argument verwendet. Die Funktion unterstützt auch ein optionales drittes Argument, das angibt, dass Die Daten in absteigender Reihenfolge sortiert werden sollen.
Legen Sie die Items-Eigenschaft auf eine Formel fest, die die Formel aus dem vorherigen Schritt als Argument verwendet und eine Tabelle zurückgibt, wie in diesem Beispiel gezeigt:
FirstN(Sort(CustomGallerySample, SampleHeading, SortOrder.Descending), 2)In dieser Formel verwenden Sie die Funktion "FirstN ", um eine bestimmte Anzahl von Datensätzen in einer Tabelle anzuzeigen. Sie verwenden die Sortierfunktion als erstes Argument für FirstN und eine Zahl (in diesem Fall 2) als zweites Argument, das angibt, wie viele Datensätze angezeigt werden sollen.
Die gesamte Formel gibt eine Tabelle zurück, die die ersten beiden Datensätze der Tabelle CustomGallerySample enthält, sortiert nach der SampleHeading-Spalte in absteigender Reihenfolge.
Tabellenfunktionen und Steuerelementeigenschaften
Betrachten Sie die Untere Funktion. Wenn die Variable willkommen die Textzeichenfolge "Hello, World" enthält, gibt die Formel Lower( willkommen )"hello, world" zurück. Diese Funktion ändert den Wert in dieser Variablen nicht. Lower ist eine reine Funktion, da sie nur Eingaben verarbeitet und Ergebnisse erzeugt. Es hat keine Nebenwirkungen. Alle Funktionen in Excel und die meisten Funktionen in Power Apps sind reine Funktionen, was bedeutet, dass die Arbeitsmappe oder die App automatisch neu berechnet wird.
Power Apps bietet eine Reihe von Funktionen, die auf die gleiche Weise mit Tabellen arbeiten. Diese Funktionen verwenden Tabellen als Eingabe- und Filter-, Sortier-, Transformations-, Reduzierungs- und Zusammenfassungstabellen ganzer Daten. Tatsächlich können untere und viele andere Funktionen, die in der Regel einen einzelnen Wert verwenden, auch eine einspaltige Tabelle als Eingabe verwenden.
- Sortieren, Filtern – Sortieren und Filtern von Datensätzen.
- FirstN, LastN – Gibt die ersten N- oder letzten N-Datensätze der Tabelle zurück.
- Abs, Sqrt, Round, RoundUp, RoundDown – Führen Sie arithmetische Operationen für jeden Datensatz einer einspaltigen Tabelle aus, was zu einer einspaltigen Ergebnistabelle führt.
- Left, Mid, Right, Replace, Substitute, Trim, Lower, Upper, Proper - Zeichenfolgenmanipulationen für jeden Eintrag einer einspaltigen Tabelle ausführen, was in einer einspaltigen Tabelle von Zeichenfolgen resultiert.
- Len – Gibt für eine Spalte mit Zeichenfolgen eine einspaltige Tabelle zurück, die die Länge jeder Zeichenfolge enthält.
- Verketten – Verkettet mehrere Spalten mit Zeichenfolgen, was zu einer einspaltigen Tabelle mit Zeichenfolgen führt.
- AddColumns, DropColumns, RenameColumns, ShowColumns – Durchführen der Spaltenmanipulation der Tabelle, was zu einer neuen Tabelle mit unterschiedlichen Spalten führt.
- Distinct – Entfernt doppelte Datensätze.
- Shuffle - Mische Datensätze in eine zufällige Reihenfolge.
- HashTags – Sucht nach Hashtags in einer Zeichenfolge.
- Fehler – Stellt Fehlerinformationen bereit, wenn Sie mit einer Datenquelle arbeiten.
Viele dieser Funktionen verwenden eine einspaltige Tabelle als Eingabe. Wenn eine gesamte Tabelle nur eine Spalte enthält, können Sie sie anhand des Namens angeben. Wenn eine Tabelle über mehrere Spalten verfügt, können Sie eine dieser Spalten mithilfe der Syntax "Table.Column " angeben. Beispielsweise gibt Products.Name die einspaltige Tabelle mit nur Name-Werten aus der Produkte-Tabelle zurück.
Sie können eine Tabelle jedoch vollständig ändern, indem Sie die Funktion "AddColumns", "RenameColumns", " ShowColumns" oder "DropColumns " verwenden. Auch hier ändern diese Funktionen nur ihre Ausgabe, nicht ihre Quelle.
Eigenschaften von Steuerelementen können auch Tabellen sein:
- Elemente – Gilt für Kataloge, Listenfelder und Kombinationsfelder. Diese Eigenschaft definiert die Tabelle, die der Katalog oder die Liste anzeigt.
- SelectedItems – Gilt für Listenfelder und Kombinationsfelder. Diese Eigenschaft definiert die Tabelle der Elemente, die der Benutzer ausgewählt hat, wenn SelectMultiple aktiviert ist.
Verhaltensformeln
Einige Funktionen sind speziell darauf ausgelegt, Daten zu ändern und Nebenwirkungen zu haben. Da diese Funktionen nicht rein sind, müssen Sie sie sorgfältig entwickeln. Sie können nicht an der automatischen Neuberechnung von Werten in der App teilnehmen. Sie können diese Funktionen nur in Verhaltensformeln verwenden.
- Sammeln, Löschen, ClearCollect – Erstellt Sammlungen, löscht sie und fügt ihnen Daten hinzu.
- Patch – Ändert ein oder mehrere Felder in einem Datensatz.
- Update, UpdateIf – Aktualisiert Datensätze, die einem oder mehreren von Ihnen angegebenen Kriterien entsprechen.
- Remove, RemoveIf – Löscht Datensätze, die einem oder mehreren von angegebenen Kriterien entsprechen.
Aufzeichnen von Formeln
Sie können auch eine Formel erstellen, die Daten für einen einzelnen Datensatz berechnet, einen einzelnen Datensatz als Argument akzeptiert und einen einzelnen Datensatz als Rückgabewert bereitstellt. Wenn Sie zum Katalogbeispiel zurückkehren, verwenden Sie die Gallery1.Selected-Eigenschaft , um Informationen aus dem Datensatz anzuzeigen, den der Benutzer in diesem Katalog auswählt.
Fügen Sie eine Schaltfläche hinzu, und legen Sie die OnSelect-Eigenschaft auf diese Formel fest:
Collect( SelectedRecord, Gallery1.Selected )Wählen Sie die Schaltfläche aus, während Sie die Alt-Taste gedrückt halten.
Wählen Sie im Menü "Datei" die Option "Sammlungen" aus.
Diese Formel gibt einen Datensatz zurück, der nicht nur die Daten aus dem Datensatz enthält, der derzeit im Katalog ausgewählt ist, sondern auch jedes Steuerelement in diesem Katalog. Beispielsweise enthält der Datensatz sowohl eine SampleText-Spalte , die der SampleText-Spalte in der ursprünglichen Tabelle entspricht, als auch eine "Subtitle1 "-Spalte, die die Beschriftung darstellt, die die Daten aus dieser Spalte anzeigt. Wählen Sie das Tabellensymbol in der Spalte "Untertitel1 " aus, um einen Drilldown zu diesen Daten zu erstellen.
Hinweis
Die Spalte "Untertitel1 " kann " Subtitle2" genannt werden oder ähnlich sein, wenn Sie andere Elemente als diejenigen hinzufügen, die in diesem Thema angegeben sind.
Nachdem Sie nun über den ausgewählten Datensatz verfügen, können Sie einzelne Felder daraus extrahieren, indem Sie den Operator . verwenden.
Fügen Sie ein Bezeichnung-Steuerelement hinzu, und verschieben Sie es unter den Katalog und die Schaltfläche.
Legen Sie die Text-Eigenschaft auf den folgenden Ausdruck fest:
"Ausgewählt: " & Gallery1.Selected.SampleHeading
Sie haben die Selected-Eigenschaft verwendet, bei der es sich um einen Datensatz handelt, und die SampleHeading-Eigenschaft daraus extrahiert.
Sie können einen Datensatz auch als allgemeinen Container für verwandte benannte Werte verwenden.
- Wenn Sie eine Formel um die Funktionen UpdateContext und Navigate erstellen, verwenden Sie einen Datensatz, um die Kontextvariablen zu erfassen, die Sie aktualisieren möchten.
- Verwenden Sie die Eigenschaft "Updates" für ein Bearbeitungsformularsteuerelement , um die Änderungen zu erfassen, die der Benutzer in einem Formular vorgibt.
- Verwenden Sie die Patch-Funktion , um eine Datenquelle zu aktualisieren, aber auch zum Zusammenführen von Datensätzen.
In diesen Fällen war der Datensatz nie Teil einer Tabelle.
Datensatzfunktionen und Steuerelementeigenschaften
Funktionen, die Datensätze zurückgeben:
- FirstN, LastN – Gibt den ersten oder letzten Datensatz oder Datensätze der Tabelle zurück.
- Nachschlagen – Gibt den ersten Datensatz aus einer Tabelle zurück, der einem oder mehreren Kriterien entspricht.
- Patch – Aktualisiert eine Datenquelle, oder führt Datensätze zusammen.
- Standardwerte : Gibt die Standardwerte für eine Datenquelle zurück.
Eigenschaften, die Datensätze zurückgeben:
- Ausgewählt – Gilt für Galerien und Listenfelder. Gibt den aktuell ausgewählten Datensatz zurück.
- Updates – Gilt für Galerien. Ruft alle Änderungen zusammen, die ein Benutzer in einem Dateneingabeformular vorgibt.
- Update – Gilt für Eingabesteuerelemente wie Texteingabesteuerelemente und Schieberegler. Richtet einzelne, zusammenzustellende Eigenschaften für den Katalog ein
Erfassungsbereich
Einige Funktionen funktionieren, indem eine Formel für alle Datensätze einer Tabelle ausgewertet wird, jeweils ein Datensatz. Sie verwenden das Ergebnis der Formel auf unterschiedliche Weise für jede Funktion:
- AddColumns – Verwenden Sie die Formel, um den Wert für das neue Feld abzurufen, das Sie hinzufügen.
- Mittelwert, Max, Min, Summe, StdevP, VarP – Verwenden Sie die Formel, um den Wert abzurufen, den Sie aggregieren möchten.
- Filtern, Nachschlagen – Verwenden Sie die Formel, um zu entscheiden, ob der Datensatz in die Ausgabe aufgenommen werden soll.
- Concat – Verwenden Sie die Formel, um zu entscheiden, welche Zeichenfolgen zusammengefügt werden.
- Distinct – Verwenden Sie die Formel, um einen Wert zurückzugeben, der bei der Suche nach doppelten Datensätzen hilft.
- ForAll – Verwenden Sie die Formel, um einen beliebigen Wert zurückzugeben, möglicherweise mit Nebenwirkungen.
- Sortieren – Verwenden Sie die Formel, um den Wert abzurufen, nach dem die Datensätze sortiert werden sollen.
- Mit - Verwenden Sie die Formel, um einen beliebigen Wert zurückzugeben, möglicherweise mit Nebenwirkungen.
Innerhalb dieser Formeln können Sie auf die Felder des Datensatzes verweisen, an dem Sie arbeiten. Jede dieser Funktionen erstellt einen "Datensatzbereich", in dem die Formel ausgeführt wird. Die Felder des Datensatzes werden als Bezeichner der obersten Ebene angezeigt. Sie können auch auf Steuerelementeigenschaften und andere Werte in der gesamten App verweisen.
Betrachten Sie z. B. eine Tabelle mit Produkten:
Um diese Beispieltabelle in Ihrer App zu erstellen, fügen Sie eine Schaltfläche ein, legen Sie die OnSelect-Eigenschaft auf diese Formel fest, und wählen Sie dann die Schaltfläche aus (klicken Sie darauf, während Sie die ALT-TASTE in Power Apps Studio gedrückt halten):
Set( Products,
Table(
{ Product: "Widget", 'Quantity Requested': 6, 'Quantity Available': 3 },
{ Product: "Gadget", 'Quantity Requested': 10, 'Quantity Available': 20 },
{ Product: "Gizmo", 'Quantity Requested': 4, 'Quantity Available': 11 },
{ Product: "Apparatus", 'Quantity Requested': 7, 'Quantity Available': 6 }
)
)
Verwenden Sie die folgende Formel, um zu überprüfen, ob eines dieser Produkte mehr angefordert wurde als verfügbar ist:
Filter( Products, 'Quantity Requested' > 'Quantity Available' )
Das erste Argument für "Filter" ist die Tabelle mit Datensätzen, an denen gearbeitet werden soll. Das zweite Argument ist eine Formel. Filter erstellt einen Datensatzbereich für die Auswertung dieser Formel. Die Felder jedes Datensatzes sind verfügbar, z. B. "Produkt", " Menge angefordert" und "Menge Verfügbar". Das Ergebnis des Vergleichs entscheidet, ob jeder Datensatz Teil des Ergebnisses der Funktion sein soll:
Sie können zu diesem Beispiel hinzufügen, indem Sie berechnen, wie viel von den einzelnen Produkten bestellt werden soll:
AddColumns(
Filter( Products, 'Quantity Requested' > 'Quantity Available' ),
"Quantity To Order", 'Quantity Requested' - 'Quantity Available'
)
Hier fügen Sie dem Ergebnis eine berechnete Spalte hinzu. AddColumns verwendet einen eigenen Datensatzbereich, um den Unterschied zwischen dem angeforderten und dem verfügbaren Datensatz zu berechnen.
Schließlich können Sie die Ergebnistabelle auf die gewünschten Spalten reduzieren:
ShowColumns(
AddColumns(
Filter( Products, 'Quantity Requested' > 'Quantity Available' ),
"Quantity To Order", 'Quantity Requested' - 'Quantity Available'
),
"Product",
"Quantity To Order"
)
Im vorherigen Beispiel haben Sie an einigen Stellen doppelte Anführungszeichen (") und einfache Anführungszeichen (') an anderen Stellen verwendet. Sie benötigen einfache Anführungszeichen, wenn Sie auf den Wert eines Objekts verweisen, z. B. ein Feld oder eine Tabelle, und der Name des Objekts enthält ein Leerzeichen. Verwenden Sie doppelte Anführungszeichen, wenn Sie nicht auf den Wert eines Objekts verweisen, sondern stattdessen darüber sprechen. Verwenden Sie doppelte Anführungszeichen insbesondere in Situationen, in denen das Objekt noch nicht vorhanden ist, wie bei AddColumns.
Mehrdeutigkeitsvermeidung
Feldnamen, die Sie im Geltungsbereich des Datensatzes hinzufügen, setzen die gleichen Namen an anderer Stelle innerhalb der App außer Kraft. In diesem Fall können Sie weiterhin auf Werte außerhalb des Datensatzbereichs zugreifen, indem Sie den @ Mehrdeutigkeitsoperator verwenden:
- Um auf Werte aus geschachtelten Datensatzbereichen zuzugreifen, verwenden Sie den @ Operator mit dem Namen der Tabelle, auf der Sie arbeiten, mithilfe dieses Musters:
Table[@FieldName] - Verwenden Sie zum Zugreifen auf globale Werte, z.B. Datenquellen, Sammlungen und Kontextvariablen, das Muster [@Objektname] (ohne Tabellenbezeichnung).
Wenn es sich bei der Tabelle, auf der Sie arbeiten, um einen Ausdruck handelt, z. B. Filter(Tabelle, ... ), Sie können den Mehrdeutigkeitsoperator nicht verwenden. Nur der innerste Datensatzbereich kann auf Felder aus diesem Tabellenausdruck zugreifen, ohne den Disambiguierungsoperator zu verwenden.
Stellen Sie sich beispielsweise vor, eine Sammlung X zu haben:
Sie erstellen diese Sammlung mithilfe von ClearCollect( X, [1, 2] ).
Und eine weitere Sammlung Y:
Sie erstellen diese Sammlung mithilfe von ClearCollect( Y, ["A", "B"] ).
Definieren Sie außerdem eine Kontextvariable namens "Wert " mit dieser Formel: UpdateContext( {Value: "!"} )
Lassen Sie uns alle Puzzleteile zusammensetzen. In diesem Kontext ergibt die folgende Formel:
Ungroup(
ForAll( X,
ForAll( Y,
Y[@Value] & Text( X[@Value] ) & [@Value]
)
),
"Value"
)
erzeugt diese Tabelle:
Was geht da vor? Die äußerste ForAll-Funktion definiert einen Datensatzbereich für X, sodass der Zugriff auf das Wertfeld jedes Datensatzes während der Prozesse ermöglicht wird. Sie können darauf zugreifen, indem Sie einfach das Wort Wert oder X[@Value]verwenden.
Die innerste ForAll-Funktion definiert einen weiteren Datensatzbereich für Y. Da diese Tabelle auch ein Wertfeld definiert hat, bezieht sich die Verwendung von Value hier auf das Feld im Y-Datensatz und nicht mehr auf das Feld aus X. Um auf das Feld "Wert" von X zuzugreifen, müssen Sie die längere Version mit dem Mehrdeutigkeitsoperator verwenden.
Da Y der innerste Datensatzbereich ist, erfordert der Zugriff auf Felder dieser Tabelle keine Mehrdeutigkeit, sodass Sie diese Formel mit demselben Ergebnis verwenden können:
Ungroup(
ForAll( X,
ForAll( Y,
Value & Text( X[@Value] ) & [@Value]
)
),
"Value"
)
Alle ForAll-Datensatzbereiche überschreiben den globalen Bereich. Die von Ihnen definierte Wertkontext-Variable ist ohne Verwendung des Mehrdeutigkeitsoperators nicht namentlich verfügbar. Verwenden Sie [@Value], um auf diesen Wert zuzugreifen.
Gruppierung aufheben vereinfacht das Ergebnis, da geschachtelte ForAll-Funktionen zu einer geschachtelten Ergebnistabelle führen.
Tabellen mit einer Spalte
Um eine einzelne Spalte aus einer Tabelle zu verwenden, verwenden Sie die ShowColumns-Funktion wie in diesem Beispiel:
ShowColumns( Products, "Product" )
Diese Formel erzeugt diese einspaltige Tabelle:
Geben Sie für eine kürzere Alternative Table.Column an, die die einspaltige Tabelle von nur Säule aus Tabelle extrahiert. Beispielsweise erzeugt diese Formel genau dasselbe Ergebnis wie "ShowColumns".
Products.Product
Inline-Datensätze
Datensätze werden mithilfe von geschweiften Klammern ausgedrückt, die benannte Feldwerte enthalten. Sie können z. B. den ersten Datensatz in der Tabelle am Anfang dieses Themas mithilfe dieser Formel ausdrücken:
{ Name: "Chocolate", Price: 3.95, 'Quantity on Hand': 12, 'Quantity on Order': 10 }
Sie können Formeln auch in andere Formeln einbetten, wie in diesem Beispiel gezeigt:
{ Name: First(Products).Name, Price: First(Products).Price * 1.095 }
Datensätze lassen sich auch schachteln, indem geschweifte Klammern geschachtelt werden, wie in diesem Beispiel gezeigt:
{ 'Quantity': { 'OnHand': ThisItem.QuantOnHand, 'OnOrder': ThisItem.QuantOnOrder } }
Schließen Sie jeden Spaltennamen ein, der ein Sonderzeichen enthält, z. B. ein Leerzeichen oder einen Doppelpunkt, in einfache Anführungszeichen. Um ein einzelnes Anführungszeichen in einem Spaltennamen zu verwenden, verdoppeln Sie es.
Beachten Sie, dass der Wert in der Spalte "Preis " kein Währungssymbol enthält, z. B. ein Dollarzeichen. Diese Formatierung wird angewendet, wenn der Wert angezeigt wird.
Inline-Tabellen
Erstellen Sie eine Tabelle mithilfe der Tabellenfunktion und einer Gruppe von Datensätzen. Mit dieser Formel können Sie die Tabelle am Anfang dieses Themas ausdrücken:
Table(
{ Name: "Chocolate", Price: 3.95, 'Quantity on Hand': 12, 'Quantity on Order': 10 },
{ Name: "Bread", Price: 4.95, 'Quantity on Hand': 34, 'Quantity on Order': 0 },
{ Name: "Water", Price: 4.95, 'Quantity on Hand': 10, 'Quantity on Order': 0 }
)
Sie können tabellen auch verschachteln:
Table(
{ Name: "Chocolate",
'Quantity History': Table( { Quarter: "Q1", OnHand: 10, OnOrder: 10 },
{ Quarter: "Q2", OnHand: 18, OnOrder: 0 } )
}
)
Inline-Wertetabellen
Erstellen Sie einspaltige Tabellen, indem Sie Werte in eckigen Klammern angeben. Die resultierende Tabelle weist eine einzelne Spalte mit dem Namen "Value" auf.
Beispielsweise ist [ 1, 2, 3, 4 ] äquivalent zu Table( { Value: 1 }, { Value: 2 }, { Value: 3 }, { Value: 4 } ) und gibt die folgende Tabelle zurück: