Pivot / Unpivot
Zeilen und Spalten denormalisieren und normalisieren
Bei normalisierten Zeilen- und Spaltendarstellungen kann eine Verdichtung zu einem de-normalisierten Layout durch Drehen von Zeilen in Spalten erforderlich sein. Dies wird als Pivot-Transformation bezeichnet und ist eine häufige Anforderung in statistischen Kreuztabellenberichten. Um effizient zu pivotieren und doppelte Zeilen zu vermeiden, sollten die Daten vorsortiert werden. In anderen Tools erfolgt dieser Schritt separat und ist vom Volumen her langsam.
Das Normalisieren von de-normalisiertem Inhalt oder das Aufheben der Pivotisierung wirft weitere Probleme auf. Zum Beispiel können Zeilen unerwartete Werte haben oder ganz fehlen, wenn die Spaltenwerte null oder null waren. Das anschließende Sortieren ist wiederum typischerweise ein separater Schritt.
Die Befehle zum Pivotieren und Unpivotieren von Daten in SQL, sofern vorhanden, sind nicht immer einfach oder datenbankübergreifend. ETL-Tools können komplexe Aggregat- oder Union-Transformationen (mit „Ports“ und „Ausdrücken“) oder spezielle Pivot-Unpivot-Transformations-Editoren mit vielen zu konfigurierenden Eigenschaften erfordern.
SQL-CrossTab-Skripte sind ebenfalls umständlich und für die Neuzuordnung von Feldern und Datensätzen in einer flachen Datei unbrauchbar. XSL-„for-each“-Transformationen zur Verflachung von XML-Dateien sind sogar noch komplexer. Und dann ist da noch die Frage, wie all diese Methoden in der Menge funktionieren.
Lösungen
Das Programm SortCL in dem IRI CoSort Datenmanipulations-Utility oder der IRI Voracity ETL-Plattform transponiert Zeilen und Spalten in Pivot-Tabellen (oder Flat-Files) und unterstützt gleichzeitig weitere Transformations-, Bereinigungs-, Maskierungs- und Berichtsfunktionen. Sie können Pivot- und Un-Pivot-Operationen über einen ergonomischen Job-Assistenten in der IRI Workbench GUI und/oder ein einfaches 4GL-Job-Skript definieren.
Der neue Pivot-Job-Assistent in der IRI Workbench führt Sie durch die notwendigen Spaltenspezifikationen für jede Datenquelle.
Der gleiche Assistent kann auch für Unpivot verwendet werden....
Andere Ressourcen