ParentChild-Tabellen ‚flachklopfen‘ – Cross Apply

In diesem Beitrag stelle ich Ihnen die Verwendung von CROSS und OUTER APPLY vor. Seit SQL Server 2005 existiert der Apply Operator und ist in der Tat eine tolle Erweiterung in T-SQL.
Sollten Sie die Hilfe von SQL Server zur Rate ziehen, wird es im ersten Blick nicht ganz deutlich, was der Apply Operator denn wirklich für einen Vorteil bringt. Dort heißt es wörtlich:
“Der APPLY-Operator ermöglicht Ihnen das Aufrufen einer Tabellenwertfunktion für sämtliche Zeilen, die von einem äußeren Ausdruck einer Tabelle einer Abfrage zurückgegeben werden. Die Tabellenwertfunktion dient als rechte Eingabe, der äußere /Ausdruck der Tabelle agiert als linke Eingabe. Die rechte Eingabe wird für jede Zeile aus der linken Eingabe ausgewertet, und die erstellten Zeilen werden für die endgültige Ausgabe kombiniert. Bei der Liste der vom APPLY-Operator erstellten Spalten handelt es sich um den Satz von Spalten in der linken Eingabe, gefolgt von der Liste der von der rechten Eingabe zurückgegebenen Spalten.”
In dieser Veröffentlichung stelle ich Ihnen einer der Möglichkeiten der Nutzung von APPLY vor und zwar in meinen Augen das meistbenutzte Szenarium. weiterlesen…

Historische Betrachtung von Stammdaten im Data Warehouse (DWH)

Der OLAP-Ansatz ist für die Entscheidungsunterstützung ausgelegt. Dabei sind historische, aggregierte und konsolidierte Daten viel wichtiger als die einzelnen detaillierten Datensätze. Meist sind diese Daten über verschieden lange historische Zeiträume vorhanden. Da also in einem Data-Warehouse (DWH) üblicherweise historische Daten verwaltet werden, sind beispielsweise bei Änderungen der Zuordnung von Kunden zu Kundengruppen in den Datenquellen in Form von periodischen “Snapshots” im DWH zu speichern. In anderen Beiträgen konnten Sie schon erfahren, wie etwa die historische Betrachtung von Bestandswerten, die als Bewegungsdaten gelten, implementiert werden kann. In diesem Beitrag stellen wir Ihnen Methoden zur Historisierung von Stammdaten vor. weiterlesen…

Datenbank-E-Mail in SQL Server 2005 / 2008

Jede Business Intelligence Lösung, wie der DeltaMaster, ist für die Analyse und das analytische Berichtswesen auf möglichst aktuelle Daten (Vortag) angewiesen. Wie aus vielen BI-Lösungen bekannt ist, erfolgt die Datenbereitstellung automatisiert und meist über Nacht. Jede Automatisierung benötigt aber auch eine Überwachung. Bei der Feststellung des erfolgreichen Importprozesses der Daten des Vorsystems in eine SQL Server-Datenbank kann die eigene SQL Server-Lösung „Datenbank-E-Mail“ helfen.
Sie kann zum Senden von E-Mail-Nachrichten mit SQL Server Database Engine (Datenbankmodul) verwendet werden. Mit Datenbank-E-Mail können Datenbankanwendungen E-Mail-Nachrichten an Benutzer senden. Diese Nachrichten können beispielsweise Abfrageergebnisse enthalten oder den Administrator über das erfolgreiche Ende eines Jobs informieren. weiterlesen…

Dynamischer Import von Tabellen einer Excel-Arbeitsmappe

Zum Aufbau eines Data Warehouse (DWH) werden sehr oft die Daten aus dem ERP- oder CRM-System als sogenannte Flatfiles (Textfiles) oder auch als Exceldateien zur Verfügung gestellt. Ein typischer Fall könnte etwa eine Exceldatei mit den Budgetdaten aller Tochtergesellschaften für das nächste Jahr sein.
Alle Länder liefern dabei eine Exceldatei mit ihren jeweiligen Plandaten. Im Headquarter werden diese Exceldateien zentral in einer einzigen Excel Arbeitsmappe zusammengeführt. Die Aufgabenstellung lautet nun, unabhängig von der Anzahl der Arbeitsblätter, also Länder, und anderen Merkmalen, wie etwa Vertriebskanal oder Vertriebsregion, einen dynamischen Importprozess zu implementieren.
In diesem Beitrag stellen wir Ihnen mit Hilfe von SQL Server Integration Services (SSIS) und darin erstellten Integration Services Package vor, wie man solch einer Anforderung realisieren kann. weiterlesen…

Definition von manuellen Auswahllisten

Sicher haben Sie auch schon einmal in DeltaMaster (DM) eine benutzerdefinierte Hierarchie erstellt. Damit reagieren Sie sehr flexibel auf neue Anforderungen ohne unbedingt diese neuen Hierarchien im Data Warehouse (DWH) zu implementieren.
Die Anlage solcher Auswahllisten oder Hierarchien ist aber nur mit der Miner-Stufe des DM möglich. Was aber, wenn Sie viele Anwender der Viewer-Stufe haben, die auch flexibel ihre eigenen Auswahllisten definieren wollen?
In diesem Beitrag stellen wir Ihnen mit Hilfe von zwei Tabellen im SQL Server und der relationalen Eingabe-Anwendung im DeltaMaster vor, wie man schnell manuelle Auswahllisten fuer die DeltaMaster-Analysesitzung definiert. weiterlesen…

Ereignisgesteuerte Prozessausführung mit SQL Server Integration Services (SSIS)

Beim täglichen ETL-Prozess der transaktionalen Daten ins Data Warehouse kann es dazu kommen, dass die Daten nicht jeden Tag geliefert werden. Abhängig davon sollen Prozesse wie z. B. „Automatischer Versand von DeltaMaster-Berichten“ ausgeführt werden.
Sicher sind Sie schon mit DeltaMaster vertraut und vielleicht benutzen Sie auch unseren ReportServer für automatisierte Berichtsgenerierung und deren Versand. Nehmen wir einmal an, dass ein Bericht erstellt wurde, der den Tagesumsatz aller Vertriebsmitarbeiter präsentiert. Im ReportServer wurde ein Job angelegt, der diesen Bericht für jeden Vertriebsmitarbeiter iteriert und via E-Mail verschickt. Allerdings soll vermieden werden, dass der Vertriebsmitarbeiter den Bericht erhält, wenn keine Fakturadaten für den Vortag vorliegen.
Dies kann üblicherweise sonntags der Fall sein, weil samstags keine Rechnungsdaten erzeugt werden. Auch kann es beim täglichen Ladeprozess zu Fehlern kommen. In diesem Fall dürften auch keine Berichte verschickt werden.
In diesem Artikel stellen wir Ihnen mithilfe von SSIS (SQL Server Integration Services) vor, wie man “ereignisgesteuert” Prozesse ausführt. weiterlesen…

Erstellung von Distinct Count Measures in Microsoft Analysis Services

Distinct Count Measures werden im Allgemeinen dazu verwendet, die Anzahl unterschiedlicher Elemente einer Dimension in der Faktentabelle zu bestimmen.
Beispielsweise wird in einem Auftrags-Cube bestimmt, wie viele unterschiedliche Aufträge es für die einzelnen Arbeitsschritte gibt.
Ein weiteres Beispiel: In einem Cube für die Zählung der Besuche unserer Kunden wird bestimmt, wie viele unterschiedliche Vertriebsmitarbeiter die Besuche durchgeführt haben. (Kunde A, B und C werden vom Vertriebsmitarbeiter Müller besucht. Somit ergibt sich zwar die Zahl 3 für die „Anzahl Besuche“, aber die Zahl 1 für die „Anzahl unterschiedlicher Mitarbeiter“.)
weiterlesen…

Erstellung von Perspektiven (Perspectives) in Microsoft Analysis Services

Eine Perspektive ist eine Teilmenge eines Cubes – eine Sicht auf den OLAP-Würfel. Damit können Benutzer den Cube auf einfachere Weise anzeigen. Perspektiven werden durch Administratoren erstellt, die Benutzer dabei unterstützen, den relevanten Teilbereich eines Cubes zum analytischen Reporting zu benutzen. weiterlesen…

m:n-Dimensionsbeziehungen in Microsoft Analysis Services definieren

Es existieren mehrere Arten von Datenbeziehungen in Datenbanken. In OLAP-Datenbanken finden wir primär die reguläre Beziehung jeder Dimension zu einer oder mehreren Measuregruppen. Bei einer regulären Beziehung ist eine Attributspalte einer Dimension mit einer Spalte in einer Faktentabelle dieser Measuregruppe verknüpft. Zwischen Dimensionen und Faktentabellen können jedoch auch Mehrfachbeziehungen bestehen. weiterlesen…