🏠 » Business Intelligence » MDX Tutorial » MDX Calculated Member

MDX Calculated Member

Ein berechnetes Element in MDX, ein sogenanntes Calculated Member ist ein Element, welches einen Namen besitzt und eine Berechnungsformel enthält.

MDX Calculated Member bietet die Möglichkeit komplexe Berechnungen von der eigentlichen Abfrage abzugrenzen.

Die Berechnungsvorschrift wird vor der Abfrage als berechnetes Element festgelegt und kann dann während der Abfrage einfach als Element aufgerufen werden.

Es können zwei Arten von Calculated Member in MDX erstellt werden: Für eine bestimmte MDX-Abfrage oder für einen OLAP-Cube als berechnetes Element.

MDX Calculated Member – Aufbau und Funktion

Das MDX Calculated Member wird durch einen Befehl definiert und mit einer MDX-Formel verbunden. Ein berechnetes Element darf keine Kind-Elemente besitzen. Für die Definition von berechneten Elementen existieren die Befehle:

//Für eine MDX-Abfrage als Calculated Member
WITH MEMBER
//Für einen OLAP Cube als Calculated Member
CREATE MEMBER

Das Calculated Member kann nur durch Löschen und Neuerstellen in der Abfrage oder im OLCA Cube geändert werden.

MDX Calculated Member für eine MDX-Abfrage erstellen

Wenn ein MDX Calculated Member nur für eine einzelne MDX-Abfrage benutzt werden soll, kann es mit dem WITH-Schlüsselwort definiert werden. Die WITH-Sektion kommt vor dem Schlüsselwort SELECT und bezieht sich nur auf diese Abfrage. Die allgemeine Syntax für das Definieren eines berechneten Elements innerhalb einer MDX-Abfrage ist folgendermaßen aufgebaut:

WITH MEMBER Member.Name AS "Expression" [,optional - property...]

Nur berechnete Elemente, benannte Mengen, Zellenberechnungen und zu ladende „Cached Data“ können in der WITH-Sektion stehen. Die allgemeine Syntax für das Definieren eines berechneten Elements innerhalb einer Abfrage ist folgendermaßen aufgebaut:

WITH MEMBER [Measures].[Avergage Price] AS
[Measures].[Internet Sales Amount]/[Measures].[Internet Order Quantity], 
SOLVE_ORDER = 0

SELECT {([Date].[Calendar Year].&[2013],[Measures].[Avergage Price]), 
	([Date].[Calendar Year].&[2014],[Measures].[Avergage Price])} ON COLUMNS,
	 [Date].[Calendar Quarter of Year].[Calendar Quarter of Year] ON ROWS
FROM [Adventure Works]

MDX Calculated Member für einen OLAP Cube erstellen

Mit dem MDX-Befehl CREATE MEMBER können berechnete Elemente in einem OLAP Cube erstellt werden. Diese berechneten Elemente werden im OLAP Würfel hinterlegt und sind somit in mehreren Abfragen im Verlauf der Benutzung wieder verwendbar. Notwendig sind dabei der Name des OLAP Cubes und die Namen der Dimensionen. Die allgemeine MDX Syntax für eine Calculated Member in einem OLAP Cube lautet:

CREATE MEMBER Cube.Member.Name AS "Expression" [,optional - property...]

Die allgemeine Syntax für das Definieren eines berechneten Elements in einem OLAP Cube ist folgendermaßen aufgebaut:

CREATE MEMBER [Adventure Works].[Measures].[Avergage Price] AS 
[Measures].[Internet Sales Amount]/[Measures].[Internet Order Quantity]
,SOLVE_ORDER = 0, FORMAT_STRING = "#.##"

MDX Calculated Member Properties

SOLVE_ORDER: Die SOLVE_ORDER gibt die Reihenfolge an, in der das berechnete Element in Fällen gelöst wird, in denen ein berechnetes Element auf ein anderes berechnetes Element verweist.

FORMAT_STRING: Der FORMAT_STRING gibt eine Formatzeichenfolge im Microsoft Office-Stil an, die die Clientanwendung für das Anzeigen von Zellwerten verwenden kann.

VISIBLE: Die Eigenschaft VISIBLE bestimmt, ob das berechnete Element in einem Schemarowset
sichtbar ist. Der Standardwert dieser Eigenschaft ist Visible = TRUE.

NON-EMPTY_BEHAVIOUR: Die Eigenschaft NON-EMPTY_BEHAVIOUR gibt das Measure oder die Menge an, mit dem oder der beim Auflösen leerer Zellen das Verhalten berechneter Elemente bestimmt wird.

Weiterführende Artikel