UiPath Documentation
process-mining
2021.10
true
Wichtig :
Bitte beachten Sie, dass dieser Inhalt teilweise mithilfe von maschineller Übersetzung lokalisiert wurde. Es kann 1–2 Wochen dauern, bis die Lokalisierung neu veröffentlichter Inhalte verfügbar ist.

Process Mining-Benutzerhandbuch

Aggregierte Ausdrücke

Einleitung

Datensatzausdrücke verwenden nur den Wert des Datensatzes selbst als Eingabe. Im Vergleich dazu können aggregierte Ausdrücke verwendet werden, um Berechnungen für einen bestimmten Satz von Datensätzen durchzuführen. Um beispielsweise den Gesamtbetrag aller Datensätze oder die Gesamtzahl der Datensätze im Dataset zu berechnen. Ein aggregierter Ausdruck kann mit der GROUP BY -Funktion in SQL verglichen werden.

Auf Stammebene aggregieren

Ein aggregierter Ausdruck berechnet einen Wert für jeden eindeutigen Wert auf Aggregatebene. Standardmäßig befindet sich dies auf der Stammebene , d. h. ein Wert für die gesamte Tabelle.

Nachfolgend finden Sie ein Beispiel für einen Aggregatausdruck zur Berechnung der Summe aller Beträge im Dataset „Rechnungen“.

Der Aggregatausdruck sum(records.amount) wird wie unten beschrieben ausgewertet:

  1. Alle Datensätze in Rechnungen verwenden
  2. Wählen Sie für jeden Datensatz den Wert des Datenquellenattributs Betrag aus.
  3. Gibt die Summe all dieser Beträge zurück.

Der Ausdruck berechnet einen einzelnen eindeutigen Wert, aber dieser Wert wird jedem Datensatz im Dataset hinzugefügt. Unten sehen Sie ein Beispiel für ein Dataset mit 4 Zeilen.

Auf Unterebene aggregieren

Anstatt ein Aggregat für das gesamte Dataset zu berechnen, können Sie auch einen Wert für Gruppen von Datensätzen berechnen.

Nachfolgend finden Sie ein Beispiel für einen Aggregatausdruck zur Berechnung des Gesamtbetrags pro Lieferant.

Eine Aggregationsebene wird hinzugefügt, und der Bereich des Ausdrucks wird auf diese neue Ebene festgelegt. Unten sehen Sie ein Beispiel-Dataset.

Der aggregierte Ausdruck wird einmal für jeden einzelnen Wert innerhalb der Scope-Ebene berechnet. Dieser Wert wird jedem Datensatz in diesem Scope hinzugefügt. Der Gesamtbetrag wird also einmal berechnet und dann viermal in jeden Datensatz kopiert. Der Gesamtbetrag pro Lieferant wird dreimal berechnet. Da es 2 Datensätze mit „Lieferant A“ gibt, wird der Wert auf beide Datensätze festgelegt. Da es nur einen Datensatz für „Lieferant B“ und „Lieferant C“ gibt, wird der Wert dem entsprechenden Datensatz zugewiesen.

Definieren einer untergeordneten Ebene

Führen Sie diese Schritte aus, um einen Aggregatausdruck auf untergeordneter Ebene zu definieren.

SchrittAktion
1Klicken Sie im Dialogfeld Ausdrucksattribut bearbeiten mit der rechten Maustaste auf Stamm im Bereich Einstellungen .
2Wählen Sie Ebene hinzufügen aus.
3Klicken Sie auf ... Ebene und wählen Sie das Datenquellenattribut aus, für das Sie Werte gruppieren möchten. In diesem Fall Lieferant.
4Klicken Sie mit der rechten Maustaste auf die ausgewählte Attributebene und wählen Sie Als Ausdrucksebene festlegen aus.
Hinweis:

Die ausgewählte Ebene wird durch einen Pfeil angezeigt.

Struktur

In einem Aggregatausdruck ist es auch möglich, auf andere Ebenen als die ausgewählte Aggregationsebene zuzugreifen. Wir können p (für übergeordnetes Element) und c (für untergeordnetes Element) verwenden, um die Baumstruktur nach oben und unten zu durchsuchen.

Hinweis:

Ein Knoten hat einen übergeordneten Knoten, daher gibt p einen einzelnen Knoten zurück, kann aber mehrere untergeordnete Elemente haben, sodass c eine Liste von Knoten zurückgibt.

Übergeordnete Aggregationsebene

Nachfolgend finden Sie ein Beispiel für einen aggregierten Ausdruck, der auf einer übergeordneten Ebene basiert.

Der Ausdruck percentage(sum(records.Amount) / sum(p.records.Amount) * 100) berechnet einen Prozentsatz für jeden Lieferanten:

  1. Die Summe der einem Lieferanten zugeordneten Beträge wird durch die Summe aller Beträge geteilt.
  2. Der Scope wird auf die übergeordnete Ebene verschoben, dh auf „root“.
  3. Das Ergebnis wird mit 100 multipliziert, um es in einen Prozentsatz umzuwandeln.

Untergeordnete Aggregationsebene

Nachfolgend finden Sie ein Beispiel für einen aggregierten Ausdruck, der auf einer untergeordneten Ebene basiert.

Der Ausdruck count(c) gibt eine Liste aller Lieferanten pro Lieferantentyp zurück. Da jedes untergeordnete Element ein Lieferant ist, kann die Anzahl der untergeordneten Elemente c gezählt werden.

Erstellen von bedingten Prüfungen

Für Datensatzausdrücke kann die Funktion if() für bedingte Prüfungen verwendet werden. Diese Funktion kann jedoch nur pro Datensatz angewendet werden. Es ist nicht möglich, eine Bedingung innerhalb einer Gruppe von Datensätzen mithilfe einer if-Anweisung zu überprüfen. Die Baumstruktur kann verwendet werden, um (bestimmte Teile von) Ihren Daten zu durchlaufen, z. B. um Eigenschaften auszudrücken.

Die folgenden Funktionen können für diese Art von Berechnungen verwendet werden.

FunctionBeschreibung
exists(Scope, Condition)Gibt true zurück, wenn mindestens eine Bedingung im Scope zu true ausgewertet wird.
forall(Scope, Condition)Gibt true zurück, wenn alle Bedingungen im Scope zu true ausgewertet werden.

Ein Beispiel finden Sie in der Abbildung unten.

Zum Beispiel der Ausdruck

exists(records, find(lower(Supplier), 'consulting')

prüft für jeden Lieferantentyp, ob Rechnungen von einem Lieferanten vorhanden sind, dessen Name „consulting“ enthält.

Hinweis:

lower wird verwendet, um die Lieferantennamen in Kleinbuchstaben zu konvertieren und die Groß-/Kleinschreibung nicht zu berücksichtigen.

Filtern

Beim Aggregieren von Daten werden Berechnungen manchmal in Abhängigkeit von einem bestimmten Teil Ihrer Daten durchgeführt. In diesem Fall kann die Funktion filter() verwendet werden.

Nachfolgend finden Sie ein Beispiel für einen Aggregatausdruck, der auf einem Filter basiert.

count(
    unique(
        filter(
            records,
            supplier_type = "Machinery"
        ).Supplier
    )
)
count(
    unique(
        filter(
            records,
            supplier_type = "Machinery"
        ).Supplier
    )
)

Von innen nach außen ist der Ausdruck wie folgt aufgebaut:

  1. Rufen Sie alle Datensätze innerhalb des aktuellen Scopes ab.

  2. Filtern Sie diese Datensätze, sodass nur diejenigen übrig bleiben, die einen Lieferantentyp von Maschine haben.

  3. Geben Sie für jeden gefilterten Datensatz den Wert des Datenquellenattributs der Lieferanten zurück.

  4. Entfernen Sie alle doppelten Werte aus der Liste, sodass wir nur ein Element pro eindeutigem Wert haben.

  5. Zählen Sie die Anzahl der Elemente, die auf der Liste verbleiben.

Im Beispiel wird die Ebene des Fallbesitzers als Ausdrucksebene festgelegt. Das bedeutet, dass der Scope des Ausdrucks darin besteht, einen Wert für alle eindeutigen Werte des Fallbesitzers zu berechnen. Für jeden Wert des Fallbesitzers ist records die Liste der Datensätze, die zu diesem Fallbesitzer gehören.

Der Ausdruck gibt für jeden Fallbesitzer einen Wert zurück, der die Anzahl der eindeutigen Lieferanten mit dem Typ Maschine angibt.

Andere Filteroptionen

Das Menü im Bereich Einstellungen enthält Optionen zum Hinzufügen von Filtern für Aggregate.

Nachfolgend finden Sie eine Beschreibung der Optionen des Menüs Einstellungen.

OptionBeschreibung
Filterausdruck aktivierenErmöglicht Ihnen die Eingabe eines Ausdrucks als Filter.
Filtersteuerelemente aktivierenÖffnet das Dialogfeld Filtersteuerelemente bearbeiten , in dem Sie ein verfügbares Filtersteuerelement aus der Liste auswählen können.
Vergleichszeitraum aktivierenErmöglicht Ihnen das Hinzufügen eines Vergleichszeitraums oder eines Ausdrucks, um eine Reihe früherer Zeiträume zum Filtern zu definieren.
Anwenden von EndbenutzerfilternErmöglicht Ihnen, verfügbare Endbenutzerfilter anzuwenden.
Hinweis:

Wenn Sie die Filteroptionen aus dem Menü „Einstellungen“ verwenden, wird das Ergebnis des Filters im Bereich „Wert“ angezeigt. Ein Beispiel finden Sie in der Abbildung unten.

Sortierung

Die Sortierung kann verwendet werden, um den höchsten oder niedrigsten Wert zu bestimmen oder um Datensätze in einer bestimmten Reihenfolge zu verarbeiten.

Wenn Sie den ersten oder letzten Datensatz für Ihren Ausdruck benötigen, können Sie auf einer Ebene wie folgt sortieren:

  • A..Z und Z..A sortieren nach Wert.
    • Bei Zeichenfolgen wird dies in alphabetischer Reihenfolge sortiert.
    • Bei numerischen Formaten (double, integer) wird nach einem numerischen Wert sortiert.
    • Bei zeitbezogenen Formaten (datetime, date) wird in chronologischer Reihenfolge sortiert.
  • 0..9 und 9..0 sortieren nach der Anzahl der Datensätze in der Gruppe.
  • Ausdruck ermöglicht es Ihnen, einen Ausdruck auszufüllen, der wie oben beschrieben nach Wert sortiert wird.

Für jede dieser Sortieroptionen ist es möglich, die Reihenfolge auf aufsteigend oder absteigend festzulegen.

In der folgenden Abbildung finden Sie ein Beispiel für die Sortierung, bei der der erste Benutzer bestimmt wird, der an jedem Fall arbeitet.

Der Aggregatausdruck first(records.User) bestimmt die erste User von jedem Case ID . Event end wird in aufsteigender Reihenfolge sortiert.

War diese Seite hilfreich?

Verbinden

Benötigen Sie Hilfe? Support

Möchten Sie lernen? UiPath Academy

Haben Sie Fragen? UiPath-Forum

Auf dem neuesten Stand bleiben