SQL Server Profiler für SSAS MOLAP (Teil 1)

SQL Server Analysis Services (kurz: SSAS) ist eine multidimensionale Datenbank, die hervorragende Möglichkeiten bietet, Business Intelligence-Systeme bis auf Enterprise-Ebene zu entwickeln. SSAS vereint Einfachheit in der Entwicklung mit außergewöhnlicher Flexibilität und Performance. Kleine und triviale Systeme werden in den meisten Fällen sehr schnell funktionieren, bei größeren und komplexeren Systemen kann es zu Performance-Problemen kommen. Wie kann man nun solche Probleme und deren Ursachen identifizieren? Glücklicherweise bietet Microsoft einige Performanceanalyse-Tools; das wichtigste Tool ist SQL Server Profiler (kurz: Profiler). weiterlesen…

Das kleine Einmaleins der Aggregation

Seit inzwischen mehr als zwanzig Jahren ist OLAP (Online Analytical Processing) die bevorzugte Datenbanktechnologie für die meisten Business-Intelligence-Systeme. Begründet wurde das Konzept der „dimensionalen“ Datenhaltung maßgeblich durch den US-Akademiker E.F. Codd, der auch als geistiger Vater der relationalen Datenbanken gilt. Nachdem letztere bereits etwa drei Jahrzehnte lang vor allem für transaktionsorientierte Systeme im Praxiseinsatz waren, reifte die Erkenntnis, dass für analytische Fragestellungen andere Ansätze erforderlich sind, die weniger auf die Verarbeitung atomarer Vorgänge ausgerichtet sind, sondern für die flexible und performante Aggregation großer Datenmengen optimiert sind. weiterlesen…

Der widerspenstigen Zähmung: Was tun, wenn berechnete Elemente falsche Werte anzeigen?

Ein berechnetes Element im MDX, das falsche Werte erzeugt? Da muss doch ein Fehler beim Erstellen der Berechnungsformel vorliegen – das war mein erster Gedanke, als ich zum ersten Mal von einem Kunden mit diesem Thema konfrontiert wurde. Dabei handelte es sich um die Berechnung des „Rest obere“/„Rest untere“ in der Pivotnavigation des DeltaMaster. Also kann es kein Fehler bei der Erstellung des MDX sein – schließlich funktioniert es doch in vielen anderen Fällen! 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…

Schicht im Schacht

Das Thema Zeit wurde bereits in etlichen Beiträgen behandelt. Dennoch finden sich immer wieder neue Fälle, denen noch keine Beachtung geschenkt wurde. Eine relativ häufige Anforderung ist es zum Beispiel in Produktionsbetrieben den Tag in Schichtzeiten zu unterteilen. Das klingt auf den ersten Blick recht einfach. Man zieht einfach eine weitere Hierarchieebene ein, in der nach „Frühschicht“, „Spätschicht“ und „Nachtschicht“ unterschieden werden kann und schon scheint die Anforderung erfüllt zu sein.

Problematisch wird es, wenn eine Schicht an einem anderen Tag endet, als sie begonnen hat. Das folgende Beispiel erläutert das Grundproblem dieses Beitrags. weiterlesen…

Dynamische KPI-Kacheln für Repository-Anwendungen

Mit DeltaMaster 6 haben wir das Berichtswetter eingeführt. Dieser neue Visualisierungsstandard ermöglicht uns auf einen Blick die Unternehmenslage intuitiv zu erkennen. Anhand der Intensität der Farben Rot und Blau kann beurteilt werden, wie gut oder schlecht die „Wetterlage“ ist. Diese wird pro Bericht durch eine vorab definierte Filterkennzahl, der sogenannten „Wetterzelle“, bestimmt. weiterlesen…

Zellsicherheit – aus der Zelle zurück in die Dimension

Gelegentlich trifft man in der BI-Welt auf die Anforderung, dass nicht alle dargestellten Kennzahlen auch für alle Nutzer sichtbar sein sollen.

Zur Implementierung von Nutzerberechtigungen auf OLAP-Cubes stellt Microsoft in Analysis Services zwei Verfahren zur Verfügung: die Dimensionssicherheit und die Zellsicherheit. Die Dimensionssicherheit regelt den Zugriff der Nutzer über die in einer Dimension enthaltenen Elemente. Die (mächtigere) Zellsicherheit wird normalerweise nur benötigt, wenn die Steuerung der Nutzerrechte anhand der Elemente (nur) einer Dimension nicht mehr ausreicht.

Der Einsatz der Zellsicherheit hat allerdings auch einige Tücken. Erstens bleiben weiterhin alle Elemente der Dimensionen sichtbar. Nur die Kennzahlen auf den nicht-berechtigten-Elementen werden mit SEC überschrieben. Zweitens werden ohne Sonderbehandlung die Nutzungsrechte (nach oben) auf die Aggregate vererbt. Das heißt, hat ein Nutzer das Recht mindestens ein Element einer bestimmten Ebene zu sehen, so sieht er auch das echte Aggregat aller Elemente dieser Ebene, unabhängig davon, ob einzelne Elemente dieser Ebene per SEC geschützt sind.

Dieser Beitrag stellt eine elegante Alternative zum Einsatz der Zellsicherheit vor. weiterlesen…

Clustervergleich

„Analysieren heißt Vergleichen“ – so steht es seit jeher in den Business-Intelligence-Lehrbüchern. Die gebräuchlichsten Varianten in betriebswirtschaftlichen Anwendungen sind dabei Zeitvergleiche (Vorjahr, Vorperiode) und Szenariovergleiche (Plan vs. Ist).

Doch was tun, wenn das vorliegende Datenmaterial keine ausreichende Grundlage für diese typischen Vergleiche liefert, die erforderlichen Zahlen mit unverhältnismäßig hohem Aufwand beschafft werden müssten oder schlicht „nicht belastbar“, d. h. von zweifelhafter Qualität sind? Welche anderen Möglichkeiten, z. B. Geschäftseinheiten sinnvoll miteinander zu vergleichen, gibt es? Ein möglicher Ansatz ist die Bildung von Gruppen und der Vergleich des jeweiligen Einzelobjekts mit seinem Cluster. Häufig sind derartige Klassifizierungen sogar bereits in den Vorsystemen enthalten und müssen lediglich genutzt werden. Dieser Artikel zeigt einen einfachen Weg, wie das passieren kann. weiterlesen…