Freigeben über


Kubusraum

Der Würfelraum ist das Ergebnis der Kombination der Mitglieder der Attributhierarchien eines Würfels mit den Messwerten des Würfels. Daher wird der Würfelraum durch das Kombinationsprodukt aller Mitglieder der Attributhierarchie im Würfel und die Maße des Würfels bestimmt, was die maximale Größe des Würfels definiert. Es ist wichtig zu beachten, dass dieser Bereich alle möglichen Kombinationen von Attributhierarchiemelementen enthält; sogar Kombinationen, die in der realen Welt als unmöglich erachtet werden, d. h. Kombinationen, in denen die Stadt Paris ist, und die Länder/Regionen sind England, Spanien oder Japan oder Indien oder anderswo.

Automatische Existenz und Würfelraum

Das Konzept der Autoexistenz begrenzt diesen Würfelraum auf die Zellen, die tatsächlich vorhanden sind. Elemente einer Attributhierarchie in einer Dimension sind möglicherweise nicht mit Elementen einer anderen Attributhierarchie in derselben Dimension vorhanden.

Wenn Sie z. B. über einen Cube verfügen, der Attributhierarchien "City" und "Country" sowie ein Maß "Internet Sales Amount" aufweist, enthält der Raum dieses Cubes nur die Elemente, die gemeinsam existieren. Wenn die Attributhierarchie "City" beispielsweise die Städte New York, London, Paris, Tokio und Melbourne umfasst und die Attributhierarchie "Country" die Länder USA, Vereinigtes Königreich, Frankreich, Japan und Australien umfasst, dann enthält der Würfel nicht die Zelle an der Schnittmenge von Paris und den USA.

Beim Abfragen von zellen, die nicht vorhanden sind, geben nicht vorhandene Zellen Nullwerte zurück. das heißt, sie können keine Berechnungen enthalten, und Sie können keine Berechnung definieren, die in diesen Leerraum schreibt. Beispielsweise enthält die folgende Anweisung Zellen, die nicht vorhanden sind.

SELECT [Customer].[Gender].[Gender].Members ON COLUMNS,  
{[Customer].[Customer].[Aaron A. Allen]  
   ,[Customer].[Customer].[Abigail Clark]} ON ROWS   
FROM [Adventure Works]  
WHERE Measures.[Internet Sales Amount]  

Hinweis

Diese Abfrage verwendet die Funktion Members (Set) (MDX), um den Satz von Elementen der Attributhierarchie "Gender" auf der Spaltenachse zurückzugeben, und überschneidet diesen Satz mit dem angegebenen Satz von Elementen aus der Attributhierarchie "Customer" auf der Zeilenachse.

Wenn Sie die vorherige Abfrage ausführen, zeigt die Zelle am Schnittpunkt von Aaron A. Allen und Female eine NULL an. Ebenso zeigt die Zelle am Schnittpunkt von Abigail Clark und Male eine NULL an. Diese Zellen sind nicht vorhanden und können keinen Wert enthalten, aber Zellen, die nicht vorhanden sind, können in dem ergebnis angezeigt werden, das von einer Abfrage zurückgegeben wird.

Wenn Sie die Crossjoin-Funktion (MDX) verwenden, um das Kreuzprodukt der Mitglieder von Attributhierarchien in derselben Dimension zurückzugeben, schränkt AutoExists diese Tupel auf den Satz von tatsächlich vorhandenen Tupeln ein, anstatt ein vollständiges kartesisches Produkt zurückzugeben. Führen Sie beispielsweise die folgende Abfrage aus und überprüfen Sie anschließend die Ergebnisse der Ausführung.

SELECT CROSSJOIN  
   (  
      {[Customer].[Country].[United States]},  
         [Customer].[State-Province].Members  
  ) ON 0   
FROM [Adventure Works]  
WHERE Measures.[Internet Sales Amount]  

Hinweis

Beachten Sie, dass 0 verwendet wird, um die Spaltenachse zu bezeichnen, die Kurzform für Achse(0) - die Spaltenachse ist.

Die vorherige Abfrage gibt nur Zellen für Elemente aus jeder Attributhierarchie in der Abfrage zurück, die miteinander vorhanden sind. Die vorherige Abfrage kann auch mit der neuen *-Variante der Funktion * (Crossjoin) (MDX) geschrieben werden.

SELECT   
   [Customer].[Country].[United States] *   
      [Customer].[State-Province].Members  
ON 0   
FROM [Adventure Works]  
WHERE Measures.[Internet Sales Amount]  

Die vorherige Abfrage kann auch wie folgt geschrieben werden:

SELECT [Customer].[State-Province].Members  
ON 0   
FROM [Adventure Works]  
WHERE (Measures.[Internet Sales Amount],  
   [Customer].[Country].[United States])  

Die zurückgegebenen Zellenwerte sind identisch, obwohl die Metadaten im Resultset unterschiedlich sind. Bei der vorherigen Abfrage wurde beispielsweise die Länderhierarchie auf die Datenschnittachse (in der WHERE-Klausel) verschoben und daher nicht explizit im Resultset angezeigt.

Jede dieser drei vorherigen Abfragen zeigt die Auswirkung des automatisch vorhandenen Verhaltens in SQL Server Analysis Services.

User-Defined Hierarchien und Würfelraum

In den vorherigen Beispielen in diesem Thema werden Positionen im Cubebereich mithilfe von Attributhierarchien definiert. Sie können jedoch auch eine Position im Cubebereich definieren, indem Sie benutzerdefinierte Hierarchien verwenden, die basierend auf Attributhierarchien in einer Dimension definiert wurden. Eine benutzerdefinierte Hierarchie ist eine Hierarchie von Attributhierarchien, die das Durchsuchen von Cubedaten durch Benutzer erleichtern.

Beispielsweise könnte die CROSSJOIN Abfrage im vorherigen Abschnitt wie folgt geschrieben worden sein:

SELECT CROSSJOIN  
   (  
      {[Customer].[Country].[United States]},  
         [Customer].[Customer Geography].[State-Province].Members  
   )   
ON 0   
FROM [Adventure Works]  
WHERE Measures.[Internet Sales Amount]  

In der vorherigen Abfrage wird die benutzerdefinierte Kundengeografie-Hierarchie innerhalb der Kundendimension verwendet, um die Position im Cubebereich zu definieren, die zuvor mithilfe einer Attributhierarchie definiert wurde. Die identische Position im Cubebereich kann mithilfe von Attributhierarchien oder benutzerdefinierten Hierarchien definiert werden.

Attributbeziehungen und Kubusbereich

Das Definieren von Attributbeziehungen zwischen verwandten Attributen verbessert die Abfrageleistung (durch die Erleichterung der Erstellung geeigneter Aggregationen) und beeinflusst das Mitglied einer verknüpften Attributhierarchie, das mit einem Attributhierarchiemitglied erscheint. Wenn Sie z. B. ein Tupel definieren, das ein Mitglied aus der Attributhierarchie "Stadt" enthält und das Tupel das Mitglied der Attributhierarchie "Land" nicht explizit definiert, erwarten Sie möglicherweise, dass das standardmäßige Mitglied der Attributhierarchie "Land" das zugehörige Mitglied der Attributhierarchie "Land" ist. Dies gilt jedoch nur, wenn eine Attributbeziehung zwischen der Attributhierarchie "City" und der Attributhierarchie "Country" definiert ist.

Im folgenden Beispiel wird das Element einer verknüpften Attributhierarchie zurückgegeben, die nicht explizit in der Abfrage enthalten ist.

WITH MEMBER Measures.x AS   
   Customer.Country.CurrentMember.Name  
SELECT Measures.x ON 0,  
Customer.City.Members ON 1  
FROM [Adventure Works]  

Hinweis

Beachten Sie, dass das WITH Schlüsselwort mit den Funktionen CurrentMember (MDX) und Name (MDX) verwendet wird, um ein berechnetes Element für die Verwendung in der Abfrage zu erstellen. Weitere Informationen finden Sie unter The Basic MDX Query (MDX).

In der vorherigen Abfrage wird der Name des Mitglieds der Attributhierarchie "Land", das jedem Mitglied der Attributhierarchie des Staates zugeordnet ist, zurückgegeben. Das erwartete Landmitglied wird angezeigt (da eine Attributbeziehung zwischen den Attributen "Ort" und "Land" definiert ist). Wenn jedoch keine Attributbeziehung zwischen Attributhierarchien in derselben Dimension definiert wurde, wird das Element (Alle) zurückgegeben, wie in der folgenden Abfrage dargestellt.

WITH MEMBER Measures.x AS   
   Customer.Education.Currentmember.Name  
SELECT Measures.x  ON 0,   
Customer.City.Members ON 1  
FROM [Adventure Works]  

In der vorherigen Abfrage wird das (Alle) Mitglied ("Alle Kunden") zurückgegeben, da keine Beziehung zwischen Education und City besteht. Daher wäre das "All"-Mitglied der Bildungs-Attributhierarchie das Standardmitglied der Bildungs-Attributhierarchie, das in jedem Tupel verwendet wird, das die Attributhierarchie "City" umfasst, in dem ein Bildungs-Mitglied nicht explizit bereitgestellt wird.

Berechnungskontext

Siehe auch

Wichtige Konzepte in MDX (Analysis Services)
Tupel
Automatisches Vorhandensein
Arbeiten mit Elementen, Tupeln und Sets (MDX)
Visuelle Summen und nicht visuelle Summen
MDX-Sprachreferenz (MDX)
Referenz zu mehrdimensionalen Ausdrücken (MDX)