# SWOT ETL

<figure><img src="https://3314523280-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEiBXxbWvM6xsaEmEHwq%2Fuploads%2FYyVTgoSKId8h3G9PJ4wK%2FSWOT10_ETL-256.png?alt=media&#x26;token=93db0cb0-0368-40bf-998b-b16e21297fad" alt="" width="128"><figcaption><p>SWOT ETL Icon</p></figcaption></figure>

Die Abkürzung **ETL** steht für:

* **Extract** (Extraktion)
* **Transform** (Transformation)
* **Load** (Laden)

Der ETL-Prozess beginnt mit der **Extraktion der relevanten Daten aus verschiedenen Quellen**. Anschließend erfolgt eine **Transformation der Daten** in das Schema und Format der Zieldatenbank. Abschließend werden die Daten in die **Zieldatenbank geladen**.

Ziel eines ETL-Prozesses ist es, Daten aus unterschiedlichen Systemen zu integrieren, aufzubereiten und für Analyse-, Reporting- oder Planungszwecke bereitzustellen. In SWOT erfolgt dies typischerweise mit Microsoft SQL Server als technischer Grundlage für das SWOT Data Warehouse.

Es geht hierbei darum, beliebige Daten zunächst in eine **Staging-Datenbank** zu überführen (**Extraktion**), um sie für die weitere Verarbeitung und Transformation vorzubereiten. Diese Staging-Daten können unabhängig von den Quelldaten frei modifiziert, bereinigt und strukturiert werden.

In der **Transformationsphase** werden die Daten beispielsweise:

* bereinigt und validiert
* in einheitliche Datenformate gebracht
* zusammengeführt oder aufgesplittet
* mit zusätzlichen Berechnungen oder Zuordnungen angereichert

Nach der Transformation werden die Daten schließlich in das Zielsystem geladen. In SWOT geschieht dies in die entsprechenden Empfängertabellen des **SWOT Data Warehouses**. Je nach Anwendungsfall können unterschiedliche Aktualisierungsmodi verwendet werden, beispielsweise:

* vollständiges Neuladen von Daten
* inkrementelle Aktualisierung
* Aktualisierung einzelner Datensätze

Das Ziel ist eine konsistente, zentral verfügbare Datenbasis für Analyse- und Planungsmodule wie [**SWOT Cube**](https://wiki.swot.de/handbuch/swot_cube) oder [**SWOT Personal**](https://wiki.swot.de/handbuch/swot-personal).

#### Datenquellen im SWOT ETL

Die Quellen für das ETL-Modul umfassen verschiedene Formate von Dateien, Datenbanken und Verbindungsarten:

<figure><img src="https://3314523280-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEiBXxbWvM6xsaEmEHwq%2Fuploads%2FDVAUzqH2tJLpBijhpnKT%2FSWOT%20ETL%20Datenquellen.png?alt=media&#x26;token=68031d33-f30b-466a-a1a2-82e8c1fe5a04" alt=""><figcaption><p>SWOT ETL Datenquellen</p></figcaption></figure>

Typische unterstützte Datenquellen sind:

* **OLE DB** – Verbindung zu Datenbanken über OLE DB Provider
* **ODBC** – universelle Datenbankverbindung über ODBC-Treiber
* **Datei als Pfad** – Einlesen von Dateien aus lokalen oder Netzlaufwerken
* **Datei als URL (Text)** – Einlesen von Textdateien über eine URL
* **Datei als URL (Excel)** – Einlesen von Excel-Dateien über eine URL
* **Eigener Mandant** – Zugriff auf Daten innerhalb desselben SWOT-Mandanten
* **Eigene ETL-Datenbank** – Zugriff auf bereits vorhandene ETL-Staging-Datenbanken
* **Web API** – Integration externer Systeme über REST- oder HTTP-Schnittstellen
* **Skript – PowerShell** – Erweiterte Integrationen und automatisierte Datenabfragen über PowerShell-Skripte

Durch diese flexible Architektur lassen sich Daten aus **ERP-Systemen**, **Datenbanken**, **Excel-Dateien**, **Webdiensten oder individuellen Schnittstellen** integrieren.

#### Zielsystem: SWOT Data Warehouse

Das Ziel für das ETL-Modul ist das SWOT Data Warehouse, welches vorkonfigurierte Strukturen für Stamm- und Bewegungsdaten bereitstellt. Besonders relevant ist dies für die Module:

* [**SWOT Cube**](https://wiki.swot.de/handbuch/swot_cube) – Planung und mehrdimensionalen Analyse von Unternehmensdaten
* [**SWOT Personal**](https://wiki.swot.de/handbuch/swot-personal) – multivariante Personalplanung und Analyse von Personalkosten

Die ETL-Prozesse sorgen dafür, dass Daten aus unterschiedlichen Quellen in **ein einheitliches Datenmodell überführt werden**, sodass sie konsistent verarbeitet und ausgewertet werden können.

#### ETL-Jobs und Projektstruktur

Eine Kombination aus **Extrakt-, Transform- und Lade-Aktivitäten** bildet einen **ETL-Job**. Ein ETL-Job kann dabei auch Teil eines anderen ETL-Jobs sein, wodurch komplexe Datenverarbeitungsschritte modular aufgebaut werden können.

Alle ETL-Aktivitäten und Jobs werden in **ETL-Projekten** organisiert.

ETL-Projekte bieten folgende Vorteile:

* Strukturierung komplexer Datenintegrationsprozesse
* Wiederverwendbarkeit von ETL-Logik
* Austausch zwischen Mandanten oder Szenarien
* einfache Wartung und Erweiterbarkeit

ETL-Projekte können über **Export- und Import-Funktionen** zwischen Mandanten bzw. Szenarien mit ähnlichen Geschäftsprozessen ausgetauscht werden. Dadurch lassen sich komplexe Vorgänge zum Einlesen, Transformieren und Laden ähnlicher Daten mit minimaler Anpassung wiederverwenden.

#### Integration in den SWOT Job Editor

ETL-Projekte aus dem SWOT ETL können im [**SWOT Job Editor**](https://wiki.swot.de/handbuch/swot-job-editor) als Teil eines übergeordneten Master-Jobs verwendet werden. Dadurch lassen sich Datenprozesse automatisieren und regelmäßig ausführen, beispielsweise über die Windows-Aufgabenplanung.

<figure><img src="https://3314523280-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAEiBXxbWvM6xsaEmEHwq%2Fuploads%2F3z24vooBe0qLVvaEisvW%2FSWOT%20Job%20Editor%20Aufgaben.png?alt=media&#x26;token=956d8d3a-b860-4e22-be0c-8ec307a86d5e" alt=""><figcaption><p>SWOT Job Editor - neue Aufgabe</p></figcaption></figure>

Im Job Editor stehen verschiedene Aufgabentypen zur Verfügung, beispielsweise:

* Belege einlesen
* Offene Posten einlesen
* Werte berechnen
* Belege löschen
* **ETL-Job ausführen**
* SSRS-Berichte bereitstellen
* Personalwerte berechnen
* Mandanten exportieren
* Benutzer entsperren
* 1-Klick-Wartung
* SWOT Datenbank sichern
* Export SWOT zu QVANTUM
* Prozess beenden

Diese Job-Arten können in **bestimmter Reihenfolge und zeitgesteuert** ausgeführt werden. Dadurch lassen sich Daten innerhalb eines Mandanten oder auch zwischen verschiedenen Szenarien automatisiert verwalten und aktualisieren.

Typische Einsatzszenarien sind beispielsweise:

* tägliches Laden von Verkaufs- oder Buchhaltungsdaten
* regelmäßige Aktualisierung von Reporting-Daten
* automatisierte Berechnung von Kennzahlen
* periodische Datensicherung und Wartung

Damit bildet das **SWOT ETL**-Modul die zentrale Infrastruktur für eine **automatisierte, konsistente und skalierbare Datenintegration innerhalb der SWOT-Software**.
