SSIS-Importe für SAP HANA

Wenn DeltaMaster auf Daten aus SAP HANA zugreift, sind diese in der Regel bereits vorhanden. Manchmal kommt es vor, dass zusätzliche oder externe Datenquellen angebunden werden sollen. Dies ist der Fall z. B. bei Demo-Systemen, die häufig als Excel- oder CSV-Dateien vorliegen, In diesem Artikel erläutern wir, wie Datensätze aus solchen Datenquellen per SQL Server Integration Services (SSIS) in SAP-HANA importiert werden können und was dabei zu beachten ist. Dabei gehen wir auch auf mögliche Probleme ein und zeigen, wie mit diesen umzugehen ist. weiterlesen…

Freie Wetterdaten Teil 1

Nicht nur für Hobby-Meteorologen oder Klimaforscher können Wetterdaten spannende Einblicke gewähren und Trends bzw. Zusammenhänge aufzeigen. Auch im unternehmerischen Kontext haben Wetterdaten ihre Bewandtnis. Gerade bei Unternehmen aus dem Einzelhandel oder aus der Lebensmittelbranche ist der Einfluss des Wetters auf den Umsatz nicht so leicht von der Hand zu weisen. Auch wenn dies Pauschal natürlich nicht für jeden Lebensmittelhersteller gilt, gibt es doch Paradebeispiele, wie den Eishersteller, dessen Umsatz stark von den Wettereinflüssen geprägt ist. Um nun selbst untersuchen zu können, ob es zwischen dem Wetter und einzelnen Kennzahlen im eigenen Unternehmen einen Zusammenhang gibt, muss erstmal die Datengrundlage geschaffen werden. Dieser Beitrag befasst sich genau mit diesem Thema. Im ersten Teil der Beitragsreihe wird gezeigt, wie man überhaupt an freie Wetterdaten gelangt und wie diese angebunden werden können. Im zweiten Teil wird dann auf die Modellierung sowie die schlussendliche Analyse eingegangen. weiterlesen…

Relationale Eingabeanwendung als Alternative zur Custom App

Häufig müssen Daten in bestehenden Modellen angepasst oder ergänzt werden. Um neue Daten relational zu übernehmen oder Hintergrundprozesse zu starten, kennen wir schon die Funktionalität der Custom App mit zusätzlichen Menüpunkten in DeltaMaster.

Eine weitere Möglichkeit, den DeltaMaster-Benutzern den manuellen Start von Prozeduren komfortabel über das FrontEnd einzurichten, bietet die relationale Eingabeanwendung. weiterlesen…

SSIS und das Excel-Problem

Mit dem ETL-Werkzeug SQL Server Integration Services (SSIS) des Microsoft SQL Servers können unterschiedlichste Datenladeprozesse umgesetzt werden. Dabei ist nicht nur die Zahl an anzubindenden Ziel- und Quellsystemen nahezu unerschöpflich, sondern auch die Datenmodifikations-, Datentransformations- und Datenvalidierungsmöglichkeiten, die zwischen der Anbindung der Quelle und des Ziels geschehen können. Und so ist es nicht verwunderlich, dass aus diesen vielen Modellierungsmöglichkeiten des Datenladeprozesses komplexe und verzahnte Pakete entstehen können, die anspruchsvolle Datenlogiken abbilden und beinhalten können. weiterlesen…

Repräsentative Daten

Die meisten Anwendungssysteme – und somit auch unsere DeltaMaster-Welt – werden in einer Mehrsystemlandschaft betrieben. Typisch in aktuellen IT-Infrastrukturen sind 2- oder 3-Systemlandschaften. In einer 2-Systemlandschaft sprechen wir von einem Entwicklungssystem (DEV) und einem Produktivsystem (PROD). In einer 3-Systemlandschaft wird zusätzlich noch ein Testsystem (QS) für unterschiedliche Benutzergruppen und Testszenarien zwischengeschaltet. Grundsätzlich ist die Verwendung von solchen Mehrsystemlandschaften dringend zu empfehlen. Nur so können notwendige und gewünschte Änderungen separat vom produktiven System entwickelt, getestet und vom Kunden fachlich abgenommen werden.

Eine Mehrsystemlandschaft bedeutet aber auch einen Mehraufwand während der Entwicklungszyklen. Es muss ein Prozess definiert sein wie die Entwicklungen von DEV zu PROD möglichst automatisiert übertragen werden können. Außerdem müssen in geeigneten Intervallen die produktiven Daten vom PROD auf das DEV zurückgespielt werden, um möglichst repräsentative Testergebnisse bereits während der Entwicklung gewährleisten zu können. weiterlesen…

Break(point)dance

Häufig bestehen SSIS-Pakete aus einem Schleifencontainer mit dem mehrere strukturgleiche Quelldateien in eine SQL-Server-Datenbank importiert werden. Da der Datentyp für die jeweilige Spalte in der Ziel-SQL-Server-Tabelle festgelegt wird, muss jeder Datensatz der Importdateien dieser Definition entsprechen, ansonsten kommt es zu Fehlern beim Importvorgang. Häufig kommt es jedoch vor, dass Datensätze aus den Quelldateien nicht dem Datentyp der Zieltabelle entsprechen. Für diese Datensätze muss der Datentyp entsprechend korrigiert werden. Allerdings liefert uns die Statusmeldung des SSIS-Pakets hier keine ausreichend ausführliche Information, welche der Quelldateien betroffen ist. In unserem neusten Standard-SSIS-Paket, das als Grundlage in unseren Projekten dient, kann die betreffende Tabelle durch ein ausgeklügeltes Logging-Verhalten leicht identifiziert werden. In der Praxis begegnen uns jedoch oft SSIS-Pakete, die über dieses Logging-Verhalten noch nicht verfügen. Doch anstatt sich auf eine mühsame Fehlersuche innerhalb der Quelldateien einzulassen, bietet dieser Beitrag einen pragmatischen und deutlich einfacheren Ansatz. Nämlich die Identifikation der Datentyp-Übeltäter mit Hilfe von Breakpoints. weiterlesen…

SSIS-Codepages für Flatfiles

Die Quelldateien eines BI-Systems können in unterschiedlichsten Formaten geliefert werden. Eines dieser Formate ist das Flatfile. Flatfiles haben eine festgelegte Zeichenkodierung („Codepage“), wie ANSI, Unicode usw. Um ein Flatfile per SSIS richtig zu importieren, muss der Verbindungs-Manager je nach Kodierung entsprechend konfiguriert werden. weiterlesen…

SSIS und der (performante) Umgang mit vielen kleinen Dateien

Wer mit den SQL Server Integration Services gearbeitet hat, stand sicher schon einmal vor der Aufgabe, mehrere gleichformatierte Dateien in eine Datenbank zu laden. Bisher habe ich dazu immer (wahrscheinlich auch mangels Alternativen, Unwissenheit und der Tatsache, dass das benutze Verfahren ja ohne größere Probleme funktionierte) mit dem Foreach Loop Container gearbeitet. Dieser im SSIS integrierte Baustein lässt sich vielfältig anpassen und ist relativ schnell implementiert. Durch Zufall bin ich auf eine (einfachere und schnellere) Möglichkeit gestoßen, mehrere Dateien des gleichen Typs über SSIS zu laden: der Multiple Flat File Connection Manager. Und um diesen geht es im vorliegenden Beitrag. weiterlesen…

DeltaLoad mit Change Data Capture

In den meisten BI-Systemen nimmt das Laden der Faktendaten die meiste Zeit in Anspruch. Daher kommt man schnell auf die Idee, nicht immer alle Faktendaten zu laden, sondern nur die neuen und die geänderten Datensätze. Dabei gibt es unterschiedliche Szenarios in Bezug auf das Quell-System:

  • Es werden nur neue Datensätze geladen und es ist eine Spalte vorhanden, mittels derer genau bestimmt werden kann, welche Datensätze zu laden sind. Dies könnte z. B. ein fortlaufender Datensatzzähler sein.
  • Es kann ein überlappendes Zeitfenster auf einer Datumsspalte bestimmt werden, in welchem sich Daten ändern können, z. B. das Buchungsdatum.
  • Es sind keine Informationen vorhanden, mit Hilfe derer nur die geänderten Daten selektiert werden können.

Der SQL Server bietet unterschiedliche Möglichkeiten, diese Probleme zu lösen. Mittels selbst pro-grammiertem T-SQL Code ist selbstverständlich alles möglich, jedoch ist das nicht immer die beste Lösung. Gerade für das dritte oben genannte Szenario wäre viel Aufwand notwendig. Bereits für den SQL Server 2008 hat Microsoft eine Funktion mit dem Namen Change Data Capture (CDC) eingeführt. Mit dem SQL Server 2012 wurde die Funktion weiter ausgebaut, u. a. ist eine SSIS- Unterstützung hinzugekommen. In diesem Beitrag wird gezeigt, wie CDC für ein Delta Ladevorgang verwendet werden kann. weiterlesen…