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…

Aufbau einer Bestandslogik

Mein Lieblingspersonaldienstleister möchte seine Bewerber auswerten. Bewerber können sich auf eine offene Stelle oder initiativ in einem Portal registrieren, werden dann von den Niederlassungen überprüft – und bald mit DeltaMaster von Marketing, der Personalabteilung, dem Vertrieb und den Niederlassungsleitern ausgewertet. Allerdings liefert das Vorsystem täglich nur den heutigen Stand eines Bewerbers, ohne dass ersichtlich ist, ob gestern ein Wechsel seiner Eigenschaften stattgefunden hat. Um Zeitperiodenvergleiche oder einen historischen Bestand auswerten zu können, müssen die Daten also erstmal historisiert werden. Wie ich das gemacht habe, beschreibe ich in diesem Beitrag. 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…

SQL Server installieren ist nicht gleich SQL Server installieren

Set-up-Routinen schenkt man oftmals nicht die nötige Aufmerksamkeit, die Ihnen gebührt. Unter Zeitdruck oder wegen zu viel Abstimmungsaufwand werden immer wieder Softwaresysteme installiert, ohne sich über die Folgen im Klaren zu sein. Der Weiter-Button ist schnell gedrückt und man folgt der Annahme, die Standardoptionen, die das System vorschlägt, müssten doch eigentlich passen. Dadurch werden Sicherheit, Performance und Stabilität nicht in dem Maße eingehalten, wie es die Praxis verlangt.

Bei welchen Schritten man bei der Standardinstallation von SQL Server einfach weiterklicken kann und wo es sich lohnt, benutzerdefinierte Einstellungen vorzunehmen, soll dieser Beitrag im Folgenden beschreiben. weiterlesen…

T-SQL schnelle Nachfolgersuche

In der Datenbankprogrammierung muss gelegentlich eine Tabelle mit sich selbst verbunden werden. Beispielsweise müssen Vorgänger- oder Nachfolger gefunden werden, um anschließend Berechnungen auf Grundlage dieser Informationen durchzuführen. Mit Hilfe eines so genannten Self Joins, der eine Datenbanktabelle mit sich selbst verbindet, kann eine Nachfolgersuche durchgeführt werden.

Dieser Beitrag zeigt am Beispiel der Nachfolgersuche wie ein Self Join grundsätzlich erstellt wird, anschließend wird eine leistungsfähige Variante mit Hilfe von Tabellenausdrücken (Common Table Expressions (CTE)), Partitionen und Rangfolgefunktionen gezeigt. Die Beispiele beziehen sich auf die Tabelle „promotion“ aus der Microsoft Beispiel Datenbank „Foodmart“. Die Tabelle enthält 1.864 Datensätze. weiterlesen…

Dekumulieren von Kennzahlen mit SQL

In den meisten OLAP-Modellen, die wir mit unserem DeltaMaster Modeler oder auch direkt im BI-Studio erstellen, gibt es die Möglichkeit, Kennzahlen kumuliert darzustellen. Die Kumulation wird meistens per MDX im Cubescript angelegt, zum Beispiel über eine Aggregate-Anweisung wie in folgendem Beispiel, in welchem die bisher nicht kumulierten Kennzahlen auf Jahresebene aggregiert werden:

Aggregate(PeriodsToDate([Period].[Period].[Year], [Period].[Period].CurrentMember),[Cumulation].[Cumulation].[Cumulation].&[1])

Alternativ können kumulierte Kennzahlen auch bereits auf der relationalen Datenbank ermittelt werden wie es im Beitrag „SUM-Where OVER the rainbow“ schon sehr anschaulich von Torsten Krebs beschrieben wurde.

Mitunter ist es aber erforderlich kumuliert gelieferte Daten wieder zu dekumulieren. weiterlesen…

Berechtigungsverwaltung über AD-Gruppen

Über das Thema Berechtigungen wurde bereits mehrfach berichtet, dennoch gibt es immer wieder neue interessante Lösungen. Neulich beim Kunden in Shanghai hatte das Thema Berechtigungen allerhöchste Priorität aufgrund der hohen Fluktuation von Mitarbeitern. Die Anforderungen waren dementsprechend hoch und vermeintlich widersprüchlich: Berechtigungen sollten möglichst flexibel je Abteilung, je Region und je Kennzahl vergeben werden können und das natürlich ohne großen Aufwand.

Ohne Aufwand bedeutet in diesem Fall, dass ein Mitarbeiter einen Antrag über ein Formular stellt, dieser Antrag von einem Vorgesetzten geprüft wird und nach Freigabe von einem beliebigen Mitarbeiter der IT bearbeitet werden soll.

Durch den sehr volatilen Nutzerkreis kam als Lösung nur die Nutzung von Active-Directory(AD)-Gruppen in Frage. Jeder Anwender hat einen AD-User, und die IT braucht den Mitarbeiter ausschließlich bestimmten Gruppen zuordnen oder eben aus einer Zuordnung wieder herausnehmen bzw. den User deaktivieren. Selbstverständlich müssen die Berechtigungen über AD-Gruppen in OLAP und auch der SQL-Datenbank – beim DeltaMaster-SQL-Durchgriff – greifen.

Weiterhin enthält das BI-Modell mehrere hundert Kennzahlen und wird darüber hinaus nicht nur lokal, sondern auch in der Muttergesellschaft weiterentwickelt: Halbautomatisch werden neue Kennzahlen oder Kennzahlengruppen bereitgestellt. Eine Berechtigung auf einzelne Kennzahlen wäre somit sehr aufwändig und fehleranfällig, aber auch dafür haben wir eine Lösung. weiterlesen…

Hybride Planung in wenigen Schritten

Der hybride Ansatz kombiniert unterschiedliche Wege für das Lesen und das Schreiben der Daten. Sie werden aus OLAP gelesen und relational geschrieben. Der Ansatz verwendet dafür nicht die bekannte Rückschreibefunktionalität von SQL Server Analysis Services. Es werden stattdessen spezielle relationale SQL-Objekte verwendet, um die Dateneingabe zu speichern.

Im Folgenden wird erläutert, wie eine Planungsanwendung mit dem hybriden Ansatz erstellt wird. weiterlesen…