Freigeben über


Attributbeziehungen

Gilt für: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

In Microsoft SQL Server SQL Server Analysis Services sind Attribute innerhalb einer Dimension immer direkt oder indirekt mit dem Schlüsselattribute 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 Referenz zu Dimensionsattributen.

Hinweis

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

  • Geschlecht

  • E-Mail

  • City

  • Land

  • 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 SQL Server Analysis Services gibt dies eine natürliche Beziehung und eine 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.

Zum Navigieren in Daten im Cube können Sie auch eine benutzerdefinierte Hierarchie erstellen, die keine natürliche Hierarchie in den Daten darstellt (die als Ad-hoc- oder Berichtshierarchie bezeichnet wird). Sie könnten z. B. eine benutzerdefinierte Hierarchie auf der Basis von {Age, Gender} erstellen. Benutzer sehen keinen Unterschied im Verhalten der beiden Hierarchien, obwohl die natürliche Hierarchie von der Aggregierung und Indizierung von Strukturen profitiert, die für den Benutzer verborgen sind und die die natürlichen Beziehungen in den Quelldaten berücksichtigen.

Die SourceAttribute-Eigenschaft einer Ebene bestimmt, welches Attribut zum Beschreiben der Ebene verwendet wird. Die KeyColumns-Eigenschaft für das -Attribut gibt die Spalte in der Datenquellensicht an, die die Member bereitstellt. Die NameColumn-Eigenschaft für das Attribut kann eine andere Namensspalte für die Member angeben.

Um eine Ebene in einer benutzerdefinierten Hierarchie mit SQL Server Data Tools zu definieren, können Sie mit dem Designer Dimension ein Dimensionsattribute, eine Spalte in einer Dimensionstabelle oder eine Spalte aus einer verwandten Tabelle auswählen, die in der Datenquellensicht für den Cube enthalten ist. Weitere Informationen zum Erstellen benutzerdefinierter Hierarchien finden Sie unter Erstellen User-Defined 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 die IsAggregatable-Eigenschaft für ein Quellattribute für eine Ebene auf False festgelegt ist, sollten daher keine aggregierbaren Attribute als Ebenen darüber 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 in Form von Membereigenschaften mit dem PROPERTIES-Schlüsselwort (keyword) der MDX SELECT-Anweisung abzurufen. Weitere Informationen zur Verwendung von MDX zum Abrufen von Membereigenschaften finden Sie unter Using Member Properties (MDX).

Weitere Informationen

Attribute und Attributhierarchien
Dimensionsattributeigenschaftenverweis
Benutzerhierarchien
Eigenschaften der Benutzerhierarchie