Funktionen für Datenextraktion und Korrektur
Typische Probleme mit Excel
Excel-Dateien sind ein beliebtes Austauschformat für unterschiedlichste Daten.
Die Dateien können per eMail verschickt und sowohl betrachtet als auch elektronisch
weiterverarbeitet werden.
Der Datenaustausch per Excel-Datei führt jedoch häufig zu Problemen.
Das folgende Beispiel veranschaulicht einige Eigenheiten von Excel.
Ausgangsdaten:
Beschreibung Zeitangabe Zahl Seriennummer
Amerikanisch 11/22/2003 03:40:15 pm 3,200.77000
Englisch 22/11/2003 03:40:15 pm 3,200.77000
Deutsch 22.11.2003 15:40:15 3.200,77000
Produkt A A0000007
Produkt B 00000007
|
Download:
Excel_import.txt
Wenn man die Datei in eine deutsche Version von Excel importiert, erhält man folgendes Ergebnis:
Download:
Excel_import.xls
Excel versucht automatisch zu erkennen, ob eine Zelle ein Datum oder eine Zahl enthält.
Der ursprüngliche Wert der Zelle geht dabei verloren.
Die markierten Stellen zeigen von Excel manipulierte Daten.
Technische Hintergrundinformationen
Excel
Excel versucht automatisch zu erkennen, um was es sich bei einem Zelleninhalt handelt. Vermeintlich erkannte
Zelleninhalte konvertiert Excel in das erkannte Format - der Orignialwert geht dabei verloren.
Ein erkannter Wert kann auf verschiedene Art dargestellt werden.
Im Beispiel oben wurde das englische und deutsche Datum erkannt - die
Sekundenanzeige wird in der Darstellung jedoch unterdrückt.
Anders sieht es bei den erkannten Zahlen aus. Aus "3.200,77000" wir die Zahl 3200,77 und aus
der Seriennummer "00000007" wird die Zahl 7. Nur anhand der Excel-Datei kann nicht mehr ermittelt
werden, wie die Seriennummer ursprünglich aussah.
Access
Access übernimmt die Werte aus Excel so, wie sie dargestellt werden und speichert sie als Text ab.
Dabei gehen Informationen verloren, die ursprünglich vorhanden waren.
ETL-inside im Vergleich zu Access
ETL-inside extrahiert die verfügbaren Daten aus Excel - nicht nur die angezeigten Werte.
Zwischen dem Auslesen aus der Excel-Datei und dem Schreiben in die Datenbank können beliebig
viele Services konfiguriert werden, die die Ausgangsdaten in das gewünschte Zielformat
kontrolliert überführen
(siehe
Erläuterungen zum ETL-Prozess).
ETL-inside im Vergleich zu Excel
Excel versucht automatisch ein Datum oder eine Zahl zu erkennen und verwirft ggf. die Ursprungsdaten.
ETL-inside enthält ebenfalls Services, die ein Datum oder eine Zahl erkennen - dies muss jedoch
explizit konfiguriert werden, um ungewollten Datenverlust zu vermeiden.
Die eigens für ETL-inside entwickelten Erkennungsalgorithmen gehen weit über die Fähigkeiten von Excel hinaus.
In der Voreinstellung werden schon über
80 verschiedene Notationen für Zeitangaben erkannt.
Zahlen werden mit
Dezimalpunkt und Dezimalkomma erkannt. Wird deklariert, dass eine Spalte
Dezimalzahlen enthält, so wird aus Angaben wie "- 7.000,30 Euro" auf Wunsch die Zahl -7000.3 extrahiert.
Seriennummern haben meist ein spezielles Format (immer 8-stellig, erstes Zeichen '0' oder 'A' etc.).
Anhand dieser Angaben können Seriennummern oft rekonstruiert werden.
In Konsequenz bedeutet das, dass ETL-inside
- Formate besser erkennt als Excel
- Modifikationen kontrolliert durchführt
- Daten teilweise rekonstruieren kann
- 'auswertbare Daten' statt Text generiert
Darüber hinaus verfügt ETL-inside über Möglichkeiten der Datenvalidierung
und detaillierte (Fehler-)Protokolle, die reine Import-Tools nicht bieten.