Process Mining
Neuestes
False
Bannerhintergrundbild
Process Mining
Letzte Aktualisierung 17. Apr. 2024

Transformationen

Folder structure

Die Transformationen einer Prozess-App bestehen aus einem dbt- Projekt. Nachfolgend finden Sie eine Beschreibung des Inhalts eines dbt- Projektordners.

Ordner/Datei

Enthält

dbt_packages\

das pm_utils -Paket und seine Makros.

logs\

Protokolle, die beim Ausführen von dbterstellt werden.

macros\

benutzerdefinierte Makros.

models\

.sql die Transformationen definieren.

models\schema\

.yml die Tests für die Daten definieren.

seed

.csv Dateien mit Konfigurationseinstellungen.

dbt_project.yml

die Einstellungen des dbt-Projekts.

Siehe Abbildung unten.



dbt_project.yml

Die Datei dbt_project.yml enthält Einstellungen des dbt -Projekts, das Ihre Transformationen definiert. Der Abschnitt vars enthält Variablen, die in den Transformationen verwendet werden.

Datums-/Uhrzeitformat

Jede App-Vorlage enthält Variablen, die das Format für die Analyse von Datums-/Uhrzeitdaten bestimmen. Diese Variablen müssen angepasst werden, wenn die Eingabedaten ein anderes Datums-/Uhrzeitformat als erwartet haben.

Datentransformationen

Die Datenumwandlungen sind in .sql -Dateien im Verzeichnis models\ definiert. Die Datenumwandlungen sind in einem Standardsatz von Unterverzeichnissen organisiert:
  • 1_input,
  • 2_entities,
  • 3_events,
  • 4_event_logs,
  • 5_business_logic.
Die .sql -Dateien sind in Jinja SQL geschrieben, sodass Sie Jinja-Anweisungen in einfache SQL-Abfragen einfügen können. Wenn dbt alle .sql -Dateien ausführt, führt jede .sql -Datei zu einer neuen Ansicht oder Tabelle in der Datenbank.
Normalerweise haben die .sql -Dateien die folgende Struktur:
  1. With-Anweisungen: Eine oder mehrere with-Anweisungen zum Einschließen der erforderlichen Untertabellen.

    • {{ ref(‘My_table) }} verweist auf eine Tabelle, die durch eine andere SQL-Datei definiert ist Datei.
    • {{ source(var("schema_sources"), 'My_table') }} verweist auf eine Eingabetabelle.
  2. Hauptabfrage: Die Abfrage, die die neue Tabelle definiert.
  3. Letzte Abfrage: Normalerweise wird eine Abfrage wie Select * from table am Ende verwendet. Dadurch ist es einfach, während des Debuggens Unterauswahlen zu treffen.
    docs image

Weitere Tipps zum effektiven Schreiben von Transformationen finden Sie unter Tipps zum Schreiben von SQL

Adding source tables

Um dem dbt -Projekt eine neue Quelltabelle hinzuzufügen, muss sie in models\schema\sources.yml aufgeführt sein. Auf diese Weise können andere Modelle darauf verweisen, indem sie {{ source(var("schema_sources"), 'My_table') }} verwenden. Ein Beispiel finden Sie in der Abbildung unten.


Wichtig: Jede neue Quelltabelle muss in sources.yml aufgeführt sein.

Weitere Informationen zur Verwendung von Quelltabellen in Abfragen finden Sie unter Struktur von Transformationen:1. Eingabe. Ausführliche Informationen finden Sie in der offiziellen dbt-Dokumentation zu Quellen.

Data output

Die Datenumwandlungen müssen das Datenmodell ausgeben, das von der entsprechenden App benötigt wird. jede erwartete Tabelle und jedes Feld muss vorhanden sein.

Praktisch bedeutet dies, dass die Tabellen in models\5_business_logic nicht gelöscht werden sollten. Außerdem sollten die Ausgabefelder in den entsprechenden Abfragen nicht entfernt werden.

Wenn Sie Ihrer Prozess-App neue Felder hinzufügen möchten, können Sie diese Felder in den Transformationen hinzufügen.

Tipp:
Sie können die dbt docs-Befehle verwenden, um eine Dokumentationsseite für Ihr dbt-Projekt zu generieren und in Ihrem Standardbrowser zu öffnen. Die Dokumentationsseite enthält auch ein Herkunftsdiagramm, das ein Entitätsbeziehungsdiagramm mit einer grafischen Darstellung der Verknüpfungen zwischen den einzelnen Datentabellen in Ihrem Projekt bietet.
Ausführliche Informationen finden Sie in der offiziellen dbt-Dokumentation auf dbt docs.

Makros

Makros machen es einfach, gängige SQL-Konstruktionen wiederzuverwenden. Ausführliche Informationen finden Sie in der offiziellen dbt-Dokumentation zuJinja-Makros.

pm_utils

Das Paket pm-utils enthält eine Reihe von Makros, die normalerweise in Process Mining-Transformationen verwendet werden. Weitere Informationen zu den pm_utils -Makros finden Sie unter ProcessMining-pm-utils.
Nachfolgend finden Sie ein Beispiel für Jinja-Code, der das Makro pm_utils.optional() aufruft.


Samen

Startwerte sind csv -Dateien, die verwendet werden, um Ihren Transformationen Datentabellen hinzuzufügen. Ausführliche Informationen finden Sie in der offiziellen dbt-Dokumentation zu jinja-Samen.

In Process Miningwird dies normalerweise verwendet, um die Konfiguration von Zuordnungen in Ihren Transformationen zu vereinfachen.

Nach dem Bearbeiten von Seed-Dateien werden diese Dateien nicht sofort automatisch in der Datenbank aktualisiert. Um dbt anzuweisen, den Inhalt der neuen Seed-Datei in die Datenbank zu laden, führen Sie entweder

  • dbt seed – wodurch nur die Seed-Dateitabellen aktualisiert werden, oder
  • dbt build – führt auch alle Modelle und Tests aus.
    Hinweis: Wenn die Seed-Datei anfangs keine Datensätze hatte, wurden die Datentypen in der Datenbank möglicherweise nicht korrekt festgelegt. Um dies zu beheben, rufen run dbt seed --full-refresh auf. Dadurch wird auch der Spaltensatz in der Datenbank aktualisiert.

Activity configuration

Die Datei activity_configuration.csv wird verwendet, um zusätzliche Felder im Zusammenhang mit Aktivitäten festzulegen. activity_order wird als Tie-Breaker verwendet, wenn zwei Ereignisse auf demselben Zeitstempel stattfinden. Ein Beispiel finden Sie in der Abbildung unten.


Tests

Der Ordner models\schema\ enthält einen Satz von .yml -Dateien, die Tests definieren. Diese überprüfen die Struktur und den Inhalt der erwarteten Daten. Ausführliche Informationen finden Sie in der offiziellen dbt-Dokumentation zu Tests.
Wenn die Transformationen in Process Miningausgeführt werden, werden bei jeder Datenaufnahme nur die Tests in sources.yml ausgeführt. Dies geschieht, um zu überprüfen, ob die Eingabedaten richtig formatiert sind.
Hinweis: Stellen Sie beim Bearbeiten von Transformationen sicher, dass die Tests entsprechend aktualisiert werden. Die Tests können bei Bedarf entfernt werden.

Dbt-Projekte

Datentransformationen werden verwendet, um Eingabedaten in Daten umzuwandeln, die für Process Mining geeignet sind. Die Transformationen in Process Mining werden als dbt- Projekte geschrieben.

Auf dieser Seite wird eine Einführung in dbt angezeigt. Ausführliche Informationen finden Sie in der offiziellen dbt-Dokumentation.

pm-utils package

Process Mining -App-Vorlagen sind in einem dbt -Paket namens pm_utils enthalten. Dieses pm-utils -Paket enthält Dienstprogrammfunktionen und Makros für Process Mining- dbt -Projekte. Weitere Informationen zu pm_utils finden Sie unter ProcessMining-pm-utils.

Aktualisieren der PM-utils-Version, die für Ihre App-Vorlage verwendet wird

UiPath® verbessert das pm-utils -Paket ständig durch neue Funktionen.
Wenn eine neue Version des pm-utils -Pakets veröffentlicht wird, wird Ihnen empfohlen, die in Ihren Transformationen verwendete Version zu aktualisieren, um sicherzustellen, dass Sie die neuesten Funktionen und Makros des pm-utils -Pakets nutzen.
Die Versionsnummer der neuesten Version des pm-utils -Pakets finden Sie im Bereich Versionen der ProcessMining -pm-utils.
Führen Sie die folgenden Schritte aus, um die pm-utils -Version in Ihren Transformationen zu aktualisieren.
  1. Laden Sie den Quellcode (ZIP) aus der Version von pm-utils herunter.
  2. Extrahieren Sie die zip -Datei, und benennen Sie den Ordner in pm_utils um.
  3. Exportieren Sie Transformationen aus dem Inline- Datentransformations -Editor und extrahieren Sie die Dateien.

  4. Ersetzen Sie den Ordner pm_utils aus den exportierten Transformationen durch den neuen Ordner pm_utils .

  5. Zippen Sie die Inhalte der Transformationen erneut und importieren Sie sie in den Datentransformations- Editor.

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
UiPath Logo weiß
Vertrauen und Sicherheit
© 2005-2024 UiPath. All rights reserved.