Freigeben über


Attributbeziehungen

In MicrosoftSQL ServerAnalysis Services sind Attribute in einer Dimension immer direkt oder indirekt mit dem Schlüsselattribut verknüpft.Wenn Sie eine Dimension auf Basis eines Sternschemas definieren, in dem sämtliche Dimensionsattribute aus derselben relationalen Tabelle abgeleitet werden, wird automatisch eine Attributbeziehung zwischen dem Schlüsselattribut und den einzelnen Nichtschlüsselattributen definiert. Wenn Sie eine Dimension auf Basis eines Schneeflockenschemas definieren, in dem Dimensionsattribute aus mehreren verknüpften Tabellen abgeleitet werden, wird eine Attributbeziehung automatisch wie folgt definiert:

  • Zwischen dem Schlüsselattribut und den einzelnen Nichtschlüsselattributen, die an die Spalten in der Dimensionshaupttabelle gebunden sind

  • Zwischen dem Schlüsselattribut und dem Attribut, das an den Fremdschlüssel in der sekundären Tabelle gebunden ist, die die zugrunde liegenden Dimensionstabellen verknüpft

  • Zwischen dem Attribut, das an den Fremdschlüssel in der sekundären Tabelle gebunden ist, und den einzelnen Nichtschlüsselattributen, die an Spalten aus der sekundären Tabelle gebunden sind

Es kann jedoch Gründe dafür geben, die Standardattributbeziehungen zu ändern. Ein möglicher Grund wäre, dass Sie eine natürliche Hierarchie, eine benutzerdefinierte Sortierreihenfolge oder Dimensionsgranularität auf Basis eines Nichtschlüsselattributs definieren möchten. Weitere Informationen finden Sie unter Definieren von Dimensionsattributen.

HinweisHinweis

Attributbeziehungen sind in MDX (Multidimensional Expressions) als Elementeigenschaften bekannt.

Beziehungen mit natürlicher Hierarchie

Eine Hierarchie wird als natürlich bezeichnet, wenn die in der benutzerdefinierten Hierarchie enthaltenen Attribute 1:n-Beziehungen mit dem jeweils direkt darunter liegenden Attribut haben. Ein Beispiel ist eine Customer-Dimension, die auf einer relationalen Quelltabelle mit acht Spalten basiert:

  • CustomerKey

  • CustomerName

  • Age

  • Gender

  • Email

  • City

  • Country

  • Region

Die entsprechende Analysis Services-Dimension verfügt über sieben Attribute:

  • Customer (basierend auf CustomerKey, wobei CustomerName Elementnamen angibt)

  • Age, Gender, Email, City, Region, Country

Beziehungen, die natürliche Hierarchien darstellen, werden dadurch erzwungen, dass eine Attributbeziehung zwischen dem Attribut einer Ebene und dem Attribut der darunter liegenden Ebene erstellt wird. Für Analysis Services gibt dies eine natürliche Beziehung und potenzielle Aggregation an. In der Customer-Dimension besteht für die Attribute Country, Region, City und Customer eine natürliche Hierarchie. Die natürliche Hierarchie für {Country, Region, City, Customer} wird durch Hinzufügen der folgenden Attributbeziehungen beschrieben:

  • Das Country-Attribut als Attributbeziehung zum Region-Attribut.

  • Das Region-Attribut als Attributbeziehung zum City-Attribut.

  • Das City-Attribut als Attributbeziehung zum Customer-Attribut.

Um durch die Daten im Cube zu navigieren, können Sie auch eine benutzerdefinierte Hierarchie erstellen, die keine natürliche Hierarchie in den Daten darstellt. Diese Art Hierarchie wird als Ad-hoc- oder Berichtshierarchie bezeichnet. Sie könnten z. B. eine benutzerdefinierte Hierarchie auf der Basis von {Age, Gender} erstellen. Benutzer erkennen keine Unterschiede im Verhalten der beiden Hierarchien, aber die natürliche Hierarchie profitiert von den Strukturen für Aggregation und Indizierung (ohne dass der Benutzer es bemerkt), die für die natürlichen Beziehungen in den Quelldaten verantwortlich sind.

Durch die SourceAttribute-Eigenschaft einer Ebene ist festgelegt, mit welchem Attribut die Ebene beschrieben wird. Die KeyColumns-Eigenschaft des Attributs gibt an, welche Spalte in der Datenquellensicht die Elemente bereitstellt. Mit der NameColumn-Eigenschaft des Attributs kann eine andere Namensspalte für die Elemente festgelegt werden.

Wenn Sie mit Business Intelligence Development Studio eine benutzerdefinierte Hierarchie definieren möchten, können Sie mit dem Dimensions-Designer ein Dimensionsattribut, eine Spalte in einer Dimensionstabelle oder eine Spalte aus einer verknüpften Tabelle auswählen, die in der Datenquellensicht für den Cube enthalten ist. Weitere Informationen zum Erstellen benutzerdefinierter Hierarchien finden Sie unter Erstellen von benutzerdefinierten Hierarchien.

In Analysis Services erfolgt in der Regel eine Annahme zum Inhalt von Elementen. Blattelemente haben keine nachfolgenden Werte und enthalten von zugrunde liegenden Datenquellen abgeleitete Daten. Nicht-Blattelemente haben nachfolgende Werte und enthalten von Aggregationen abgeleitete Daten, die für untergeordnete Elemente ausgeführt wurden. Auf aggregierten Ebenen basieren Elemente auf Aggregationen der untergeordneten Ebenen. Wenn also die IsAggregatable-Eigenschaft für das Quellattribut einer Ebene auf False festgelegt ist, sollten keine aggregierbaren Attribute als nächst höhere Ebenen hinzugefügt werden.

Definieren einer Attributbeziehung

Die wesentliche Einschränkung beim Erstellen einer Attributbeziehung liegt darin, sicherzustellen, dass das Attribut, auf das durch die Attributbeziehung verwiesen wird, maximal einen Wert für jeweils ein Element in dem Attribut aufweist, zu dem die Attributbeziehung gehört. Wenn Sie beispielsweise eine Beziehung zwischen einem City-Attribut und einem State-Attribut definieren, kann sich jede Stadt nur auf ein Bundesland beziehen.

Abfragen von Attributbeziehungen

Sie können MDX-Abfragen verwenden, um Daten aus Attributbeziehungen abzurufen, und zwar in Form von Elementeigenschaften, mit dem PROPERTIES-Schlüsselwort der SELECT-MDX-Anweisung. Weitere Informationen zum Verwenden von MDX zum Abrufen von Elementeigenschaften finden Sie unter Verwenden von Elementeigenschaften (MDX).