15.8 Cube-Funktionen
Die SQL Server von Microsoft unterstützen seit der Version 7 über die so genannten Server Analysis Services das Online Analytical Processing, kurz OLAP. Dies ist eine Analysemethode für die Auswertung von umfangreichen Unternehmensdaten. Dabei werden, getrennt von den normalen Datentransaktionen in den SQL-Datenbanken, vorhandene Daten aus relationalen Datentabellen in mehrdimensionalen Datenstrukturen zusammengeführt, für die die Bezeichnung »Cube« verwendet wird.
Solche »Datenwürfel« fassen Daten nach ganz unterschiedlichen Dimensionen zusammen (zeitliche, räumliche, sachliche etc.), um Fragen beantworten zu können, wie sie innerhalb von Excel typischerweise über Pivot-Tabellen behandelt werden, etwa: Wie hat sich der Umsatz von Rollos im Vertriebsgebiet Ost in der Zeit von 2000 bis 2007 entwickelt.
Excel 2007 erweitert seine Berechnungsfunktionen nun um sieben spezielle Funktionen für die Auswertung von Daten, die in einem solchen Cube von einem SQL-Server zur Verfügung gestellt werden. Alternativ können Daten auch offline aus CUB-Dateien übernommen werden, die vorher aus den Serverdaten generiert worden sind.
Anders als bei den sonstigen Excel-Funktionen liefern diese CUBE-Funktionen mit Ausnahme von CUBEMENGENANZAHL jeweils zwei Ergebnisse: eines, das im jeweiligen Zellbereich ausgegeben wird, und ein internes Ergebnis, das verwertet wird, wenn eine CUBE-Funktion als Argument für eine andere CUBE-Funktion verwendet wird.
Beispielsweise liefert die Funktion CUBEMENGE einen internen Wert, der dann von der Funktion CUBEMENGENANZAHL ausgewertet werden kann. Wieder mit Ausnahme von CUBEMENGENANZAHL nutzen alle Funktionen als erstes Argument die Textzeichenfolge, mit der die Verbindung zu dem Cube hergestellt werden kann. Die Auswahl von Daten erfolgt über so genannte multidimensionale Ausdrücke (MDX), die für die Abfrage von OLAP-Datenbanken verwendet werden. Eine Referenz finden Sie in der Dokumentation zum SQL Server von Microsoft.
CUBEKPIELEMENT()
Syntax: CUBEKPIELEMENT (Verbindung;kpi_Name;kpi_Eigenschaft;
Beschriftung)
Beispiel: CUBEKPIELMENT("Lagerdaten";"Bestand";KPIValue;
"Aktueller Bestand")
Liefert Name, Eigenschaft und Measure eines Key Performance Indicators (KPI) und zeigt den Namen und die Eigenschaft in der Zelle an. Ein solcher Indikator ist ein messbares Maß, wie z. B. der Quartalsgewinn oder die vierteljährliche Mitarbeiterfluktuation, womit die Leistungsfähigkeit eines Unternehmens beurteilt werden kann. Für das Argument kpi_Eigenschaft sind folgende Werte möglich:
Zahl | Konstante | Beschreibung |
1 | KPIValue | Aktueller Wert |
2 | KPIGoal | Zielwert |
3 | KPIStatus | Zustand des KPI zu einem bestimmten Zeitpunkt |
4 | KPITrend | Measure des Werts über einen Zeitraum |
5 | KPIWeight | Gewichtung des Indikators |
6 | KPICurrentTimeMember | Zeitrahmen des Indikators |
CUBEELEMENT()
Syntax: CUBEELEMENT (Verbindung;Element_Ausdruck;Beschriftung)
Beispiel: CUBEELEMENT ("Lagerdaten";"([Produkt].[Rollos];[Zeit].
[2007])";"Bestand 2007")
Prüft, ob das mit Hilfe von Element_Ausdruck angegebene Element im Cube vorhanden ist. Wenn ja, wird das Element ausgegeben.
CUBEELEMENTEIGENSCHAFT()
Syntax: CUBEELEMENTEIGENSCHAFT (Verbindung; Element_Ausdruck;
Eigenschaft)
Beispiel: CUBEELEMENTEIGENSCHAFT ("Lagerdaten";"([Produkt].[Rollos];
[Zeit].[2007])";$A$10)
Liefert den Wert einer Eigenschaft des über Element_Ausdruck angegebenen Elements im Cube. Damit wird geprüft, ob ein entsprechender Elementname im Cube vorhanden ist. Wenn ja, wird die für dieses Element angegebene Eigenschaft zurückzugeben. Das Argument Eigenschaft enthält den Namen der Eigenschaft oder einen Zellbezug, der diesen Namen enthält.
CUBERANGEELEMENT()
Syntax: CUBERANGEELEMENT (Verbindung;Satzausdruck;Rang;
Beschriftung)
Beispiel: CUBERANGEELEMENT ("Lagerdaten"; CUBEMENGE ("Rollolager";
"[Lieferant].[Region].[All Lieferanten].children");4;"Regionen")
Gibt das mit dem Wert für Rang angegebene Element in einer Menge zurück. Wird verwendet, um mindestens ein Element in einer Menge zurückzugeben, die meist durch die Funktion CUBEMENGE() definiert ist oder durch einen Bezug auf eine Zelle, die eine solche Funktion enthält.
CUBEMENGE()
Syntax: CUBEMENGE (Verbindung;Menge_Ausdruck;Beschriftung;Sortierreihenfolge;sortieren_nach)
Beispiel: CUBEMENGE ("Rollolager";"[Lieferant].[Region].[All Lieferanten].children";"Regionen")
Diese Funktion sendet einen Mengenausdruck an den Cube, der die entsprechenden Daten zusammenstellt und an Excel liefert. Mit Beschriftung kann eine andere Beschriftung gewählt werden als die im Cube vorhandene. Außerdem kann eine Sortierreihenfolge und ein Sortierfeld benannt werden.
CUBEMENGENANZAHL()
Syntax: CUBEMENGENANZAHL (Satz)
Beispiel: CUBEMENGENANZAHL(CUBEMENGE ("Rollolager";"[Lieferant].
[Region].[All Lieferanten].children"))
Liefert die Anzahl der Elemente in einer Menge, die durch das Argument Satz bestimmt ist. Dieses Element besteht aus einer CUBEMENGE()-Funktion oder einem Zellbezug auf eine solche Funktion.
CUBEWERT()
Syntax: CUBEWERT(Verbindung;Element_Ausdruck1; Element_Ausdruck2...)
Beispiel: CUBEWERT("Lagerdaten";"[WG].[Rollos]"; "[WG].[Markiesen]")
Liefert den Gesamtwert der mit den Elementausdrücken angegebenen Elemente.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.