CREATE MEMBER-Anweisung (MDX)

Aktualisiert: 12. Dezember 2006

Erstellt ein berechnetes Element.

Syntax

CREATE [ SESSION ] [HIDDDEN] [ CALCULATED ] MEMBER CURRENTCUBE | Cube_Name.Member_Name 
      AS MDX_Expression
      [,Property_Name = Property_Value, ...n]
......[,SCOPE_ISOLATION = CUBE]

Argumente

  • Member_Name
    Ein gültiger Zeichenfolgenausdruck, der einen Elementnamen bereitstellt. Geben Sie einen vollqualifizierten Namen an, um ein Element in einer anderen Dimension als der Measures-Dimension zu erstellen. Wenn Sie keinen vollqualifizierten Elementnamen angeben, wird das Element in der Measures-Dimension erstellt.
  • MDX_Expression
    Ein gültiger MDX-Ausdruck (Multidimensional Expressions).
  • Property_Name
    Eine gültige Zeichenfolge, die den Namen einer Eigenschaft eines berechneten Elements bereitstellt.
  • Property_Value
    Ein gültiger Skalarausdruck, der den Wert der Eigenschaft eines berechneten Elements definiert.

Hinweise

Die CREATE MEMBER-Anweisung definiert berechnete Elemente, die während der gesamten Sitzung verfügbar sind und somit in mehreren Abfragen im Verlauf der Sitzung verwendet werden können. Weitere Informationen finden Sie unter Erstellen berechneter Elemente im Bereich einer Sitzung (MDX).

Sie können auch ein berechnetes Element definieren, das in einer einzelnen Abfrage verwendet wird. Wenn Sie ein berechnetes Element definieren möchten, das auf eine einzelne Abfrage beschränkt ist, verwenden Sie die WITH-Klausel in der SELECT-Anweisung. Weitere Informationen finden Sie unter Erstellen berechneter Elemente im Bereich einer Abfrage (MDX).

Property_Name kann auf standardmäßige oder auf optionale berechnete Elementeigenschaften verweisen. Standardelementeigenschaften sind in diesem Thema weiter unten aufgelistet. Berechnete Elemente, die mit CREATE MEMBER ohne einen SESSION-Wert erstellt wurden, haben den Gültigkeitsbereich Sitzung (Sitzungsbereich). Außerdem müssen Zeichenfolgen, die in der Definition eines berechneten Elements stehen, in doppelte Anführungszeichen gesetzt werden. Dies unterscheidet sich von der für OLE DB definierten Methode, die angibt, dass Zeichenfolgen in einfachen Anführungszeichen stehen müssen.

Die Angabe eines anderen als des aktuell verbundenen Cubes verursacht einen Fehler. Daher sollten Sie den aktuellen Cube mithilfe von CURRENTCUBE statt mit dem Cubenamen angeben.

Weitere Informationen zu Elementeigenschaften, die durch OLE DB definiert sind, finden Sie in der OLE DB-Dokumentation.

Standardeigenschaften

Jedes berechnete Element hat eine Reihe von Standardeigenschaften. Wenn eine Clientanwendung mit Microsoft SQL Server 2005 Analysis Services (SSAS) verbunden ist, werden die Standardeigenschaften je nach Festlegung durch den Administrator entweder unterstützt oder sind verfügbar, um unterstützt zu werden.

Abhängig von der Cubedefinition sind möglicherweise weitere Elementeigenschaften verfügbar. Die folgenden Eigenschaften enthalten Informationen, die für die Dimensionsebene im Cube relevant sind.

Eigenschaftsbezeichner Bedeutung

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 (also in Fällen, in denen berechnete Elemente sich überschneiden).

FORMAT_STRING

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

VISIBLE

Bestimmt, ob das berechnete Element in einem Schemarowset sichtbar ist. Sichtbare berechnete Elemente können einer Menge mit der AddCalculatedMembers-Funktion hinzugefügt werden. Ein Wert ungleich 0 zeigt an, dass das berechnete Element sichtbar ist. Der Standardwert dieser Eigenschaft ist Visible.

Berechnete Elemente, die nicht sichtbar sind (für die dieser Wert auf 0 festgelegt ist), werden üblicherweise als Zwischenschritte in komplexeren berechneten Elementen verwendet. Auf diese berechneten Elemente können auch andere Arten von Elementen (z. B. Measures) verweisen.

NON_EMPTY_BEHAVIOR

Gibt das Measure oder die Menge an, mit dem oder der beim Auflösen leerer Zellen das Verhalten berechneter Elemente bestimmt wird.

Bereich

Ein berechnetes Element kann in einem der Gültigkeitsbereiche auftreten, die in der folgenden Tabelle aufgeführt sind.

  • Abfragebereich
    Die Sichtbarkeit und Lebensdauer des berechneten Elements ist auf die Abfrage beschränkt. Das berechnete Element ist in einer einzelnen Abfrage definiert. Der Abfragebereich hat Vorrang vor dem Sitzungsbereich. Weitere Informationen finden Sie unter Erstellen berechneter Elemente im Bereich einer Abfrage (MDX).
  • Sitzungsbereich
    Die Sichtbarkeit und Lebensdauer des berechneten Elements ist auf die Sitzung beschränkt, in der das Element erstellt wurde. (Die Lebensdauer ist geringer als die Dauer der Sitzung, wenn eine DROP MEMBER-Anweisung für das berechnete Element ausgegeben wird.) Die CREATE MEMBER-Anweisung erstellt ein berechnetes Element im Sitzungsbereich.

Bereichsisolation

Wenn ein MDX-Cubeskript (Multidimensional Expressions) berechnete Elemente enthält, werden die berechneten Elemente in SQL Server 2005 Analysis Services standardmäßig aufgelöst, bevor Berechnungen im Sitzungsbereich aufgelöst werden und bevor abfragedefinierte Berechnungen aufgelöst werden. Dies unterscheidet sich vom SQL Server 2000 Analysis Services-Verhalten, bei dem die Lösungsreihenfolge explizit dazu verwendet werden kann, eine Berechnung im Sitzungsbereich oder eine abfragedefinierte Berechnung zwischen zwei Berechnungen auf Cubeebene einzufügen. Dieser Unterschied im Verhalten führt möglicherweise dazu, dass berechnete Elemente im Abfrage- oder Sitzungsbereich in SQL Server 2005 Analysis Services nicht die gewünschten Ergebnisse zurückgeben.

ms144787.note(de-de,SQL.90).gifHinweis:
In bestimmten Szenarien weisen die Aggregate (MDX)-Funktion und die VisualTotals (MDX)-Funktion dieses Verhalten nicht auf.

Durch das Verhalten in SQL Server 2005 Analysis Services können in generischen Clientanwendungen Cubes mit komplexen Berechnungen verwendet werden, ohne dass die spezielle Implementierung der Berechnungen berücksichtigt werden muss. In bestimmten Szenarien möchten Sie jedoch möglicherweise berechnete Elemente im Sitzungs- oder Abfragebereich vor bestimmten Berechnungen im Cube ausführen, und weder die Aggregate-Funktion noch die VisualTotals-Funktion sind anwendbar. In SQL Server 2000 Analysis Services ist dieses Verhalten durch die sorgfältige Festlegung der SOLVE_ORDER-Eigenschaft für berechnete Elemente im Cube-, Sitzungs- oder Abfragebereich möglich. Wenn Sie das gleiche Verhalten in SQL Server 2005 Analysis Services ermöglichen möchten, verwenden Sie die SCOPE_ISOLATION-Berechnungseigenschaft.

ms144787.note(de-de,SQL.90).gifHinweis:
Die SCOPE_ISOLATION-Berechnungseigenschaft ist in SQL Server 2005 Analysis Services Service Pack 2 (SP2) neu.

Beispiel

Das folgende Skript stellt ein Beispiel für ein Szenario dar, in dem die SCOPE_ISOLATION-Berechnungseigenschaft erforderlich ist, damit das richtige Ergebnis entsteht.

MDX-Skript des Cubes:

CREATE MEMBER CURRENTCUBE.Measures.ProfitRatio AS 'Measures.[Store Sales]/Measures.[Store Cost]', SOLVE_ORDER = 10

MDX-Abfrage:

WITH MEMBER [Customer].[Customers].[USA]. USAWithoutWA AS
[Customer].[Customers].[Country].&[USA] - [Customer].[Customers].[State Province.&[WA], SOLVE_ORDER=5
SELECT {USAWithoutWA} ON 0 FROM SALES
WHERE ProfitRatio

Das gewünschte Ergebnis der vorherigen Abfrage entspricht dem Verhältnis für die Verkäufe der USA ohne WA, damit die Kosten für die USA ohne WA gespeichert werden können. Die vorherige Abfrage gibt zwar in SQL Server 2000 Analysis Services das gewünschte Ergebnis zurück, in SQL Server 2005 Analysis Services gibt sie jedoch nicht das gewünschte Ergebnis zurück. In SQL Server 2005 Analysis Services gibt sie das Verhältnis für die USA abzüglich des Verhältnisses für WA zurück. Dies stellt ein bedeutungsloses Ergebnis dar. Wenn das gewünschte Ergebnis erzielt werden soll, können Sie die SCOPE_ISOLATION-Berechnungseigenschaft verwenden.

MDX-Abfrage mit SCOPE_ISOLATION-Berechnungseigenschaft:

WITH MEMBER [Customer].[Customers].[USA]. USAWithoutWA AS
[Customer].[Customers].[Country].&[USA] - [Customer].[Customers].[State Province.&[WA], SOLVE_ORDER=5
,SCOPE_ISOLATION=CUBE
SELECT {USAWithoutWA} ON 0 FROM SALES
WHERE ProfitRatio

Siehe auch

Andere Ressourcen

MDX-Datendefinitionsanweisungen (MDX)

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

17. Juli 2006

Geänderter Inhalt:
  • Inhalt wurde um SQL Server 2005 Analysis Services-Funktionalität und -Vorgänge ergänzt.

12. Dezember 2006

Geänderter Inhalt:
  • Der Inhalt wurde dahingehend aktualisiert, dass die neue Bereichsisolationseigenschaft, die für Service Pack 2 hinzugefügt wurde, dargestellt ist.