Sortieren von Attributelementen basierend auf einem sekundären Attribut
In Lektion 3 haben Sie das Sortieren von Attributelementen basierend auf ihrem Namen oder ihrem Schlüsselwert kennen gelernt. Sie haben sich auch mit der Verwendung eines zusammengesetzten Elementschlüssels in Bezug auf Attributelemente und Sortierreihenfolge vertraut gemacht. Weitere Informationen finden Sie unter Ändern der Date-Dimension. Mitunter möchten Sie jedoch Attributelemente auf Grundlage eines sekundären Attributs sortieren. Wenn beispielsweise weder der Name noch der Schlüssel des primären Attributs die von Ihnen gewünschte Sortierreihenfolge ermöglicht, müssen Sie Attributelemente basierend auf einem sekundären Attribut sortieren, um die gewünschte Sortierreihenfolge zu erhalten. Sie müssen jedoch ein sekundäres Attribut verwenden, das mit dem primären Attribut verknüpft ist, um ein Attribut nach einem sekundären Attributnamen oder Schlüssel zu sortieren.
Attributbeziehungen definieren die Beziehungen oder Abhängigkeiten zwischen Attributen. In einer Dimension, die auf einer einzelnen relationalen Tabelle basiert, sind typischerweise alle Attribute durch das Schlüsselattribut miteinander verknüpft. Der Grund hierfür ist, dass alle Attribute für eine Dimension Informationen zu den Elementen bereitstellen, die über das Schlüsselattribut der Dimension mit den Fakten in der Faktentabelle für jede verbundene Measuregruppe verknüpft sind. In einer Dimension, die auf mehreren Tabellen basiert, sind Elemente typischerweise basierend auf dem Verknüpfungsschlüssel zwischen den Tabellen verknüpft.
Benutzer interessieren sich allerdings möglicherweise für zusätzliche Informationen zu Elementen auf einer bestimmten Ebene in einer Hierarchie. Mithilfe des Dimensions-Designers können Sie zusätzliche Beziehungen zwischen Attributen definieren oder die Standardbeziehungen ändern, um die Leistung zu verbessern. Die wesentliche Einschränkung beim Erstellen einer Attributbeziehung liegt darin, sicherzustellen, dass das Attribut, auf das verwiesen wird, nicht mehr als einen Wert für jeweils ein Element in dem Attribut aufweist, mit dem es verknüpft ist. Wenn Sie eine Beziehung zwischen zwei Attributen definieren, können Sie die Beziehung fest oder flexibel definieren, basierend darauf, ob sich die Beziehungen zwischen Elementen mit der Zeit ändern. Ein Angestellter kann beispielsweise in eine andere Verkaufsregion ziehen, aber eine Stadt zieht nicht in ein anderes Land bzw. in eine andere Region. Wenn eine Beziehung als fest definiert ist, werden Attributaggregationen nicht jedes Mal neu berechnet, wenn die Dimension inkrementell verarbeitet wird. Allerdings muss die Dimension vollständig verarbeitet werden, wenn sich die Beziehung zwischen Elementen ändert. Weitere Informationen finden Sie unter Attributbeziehungen, Definieren von Attributbeziehungen, Konfigurieren von Attributbeziehungseigenschaften und Angeben von Attributbeziehungen zwischen Attributen in einer benutzerdefinierten Hierarchie.
In den Aufgaben in diesem Thema definieren Sie ein neues Attribut in der Date-Dimension basierend auf einer vorhandenen Spalte in der zugrunde liegenden Dimensionstabelle. Sie verwenden dieses neue Attribut zum chronologischen statt alphabetischen Sortieren von Kalendermonatselementen. Sie definieren auch ein neues Attribut in der Customer-Dimension basierend auf der benannten Berechnung, die Sie zum Sortieren der Commute Distance-Attributelemente verwenden werden. In den Aufgaben des nächsten Themas lernen Sie, Attributbeziehungen zum Verbessern der Abfrageleistung zu verwenden.
Definieren einer Attributbeziehung und Sortierreihenfolge in der Date-Dimension
So definieren Sie eine Attributbeziehung und Sortierreihenfolge in der Date-Dimension
Öffnen Sie den Dimensions-Designer für die Date-Dimension, und überprüfen Sie dann die OrderBy-Eigenschaft für das Month Name-Attribut im Fenster Eigenschaften.
Beachten Sie, dass die Month Name-Attributelemente nach ihren Schlüsselwerten sortiert sind.
Wechseln Sie zur Registerkarte Browser, überprüfen Sie, ob Calendar Date in der Hierarchie-Liste ausgewählt ist, und erweitern Sie dann die Ebenen in der benutzerdefinierten Hierarchie, um die Sortierreihenfolge für die Kalendermonate zu überprüfen.
Beachten Sie, dass die Elemente der Attributhierarchie nach den ASCII-Werten ihrer Elementschlüssel sortiert sind, also Monat und Jahr. In diesem Fall werden Kalendermonate durch das Sortieren nach Attributname oder Schlüssel nicht chronologisch sortiert. Sortieren Sie die Elemente der Attributhierarchie basierend auf einem neuen Attribut, dem MonthNumberOfYear-Attribut, um dieses Problem zu lösen. Sie erstellen dieses Attribut basierend auf einer Spalte, die in der Date-Dimensionstabelle vorhanden ist.
Wechseln Sie zur Registerkarte Dimensionsstruktur für die Date-Dimension, klicken Sie mit der rechten Maustaste auf MonthNumberOfYear im Bereich Datenquellensicht, und klicken Sie dann auf Neues Attribut aus Spalte.
Wählen Sie im Bereich AttributeMonth Number Of Year aus, und legen Sie dann die AttributeHierarchyEnabled-Eigenschaft auf False im Eigenschaftenfenster fest, legen Sie die AttributeHierarchyOptimizedState-Eigenschaft auf NotOptimized fest, und legen Sie die AttributeHierarchyOrdered-Eigenschaft auf False fest.
Diese Einstellungen blenden das Attribut Benutzern gegenüber aus und verbessern die Verarbeitungszeit. Dieses Attribut wird nicht zum Durchsuchen verwendet. Es wird nur zum Sortieren der Elemente eines anderen Attributs verwendet.
Hinweis Diese Aufgabe wird durch alphabetisches Sortieren der Eigenschaften im Eigenschaftenfenster vereinfacht, da diese drei Eigenschaften nebeneinander sortiert werden.
Klicken Sie auf die Registerkarte Attributbeziehungen.
Beachten Sie, dass alle Attribute in der Date-Dimension direkt mit dem Date-Attribut verknüpft sind, bei dem es sich um den Elementschlüssel handelt, der die Dimensionselemente mit den Fakten in den verbundenen Measuregruppen verknüpft. Zwischen den Attributen Month Name und Month Number Of Year ist keine Beziehung definiert.
Klicken Sie im Diagramm mit der rechten Maustaste auf das Month Name-Attribut, und wählen Sie dann Neue Attributbeziehung.
Im Dialogfeld Attributbeziehung erstellen ist das QuellattributMonth Name. Legen Sie die Option Verknüpftes Attribut auf Month Number Of Year fest.
Legen Sie in der Liste Beziehungstyp den Beziehungstyp auf Fest fest.
Die Beziehungen zwischen den Elementen des Month Name- und des Month Number Of Year-Attributs ändern sich nicht mit der Zeit. Daher löscht Analysis Services während der inkrementellen Verarbeitung keine Aggregationen für diese Beziehung. Wenn eine Änderung vorgenommen wird, kommt es während der inkrementellen Verarbeitung zu einem Verarbeitungsfehler, und Sie müssen eine vollständige Verarbeitung der Dimension ausführen. Sie können nun die Sortierreihenfolge für die Elemente von Month Name festlegen.
Klicken Sie auf OK.
Klicken Sie auf die Registerkarte Dimensionsstruktur.
Wählen Sie im Bereich AttributeMonth Name aus, und ändern Sie dann den Wert der OrderBy-Eigenschaft im Eigenschaftenfenster zu AttributeKey, und ändern Sie den Wert der OrderByAttribute-Eigenschaft zu Month Number Of Year.
Klicken Sie im Menü Erstellen auf Analysis Services Tutorial bereitstellen.
Wechseln Sie nach dem erfolgreichen Abschluss der Bereitstellung zur Registerkarte Browser für die Date-Dimension, klicken Sie auf Verbindung wiederherstellen, und durchsuchen Sie dann die Benutzerhierarchien Calendar Date und Fiscal Date, um zu überprüfen, ob die Monate jetzt in chronologischer Reihenfolge sortiert sind.
Beachten Sie, dass die Monate jetzt in chronologischer Ordnung sortiert sind, wie im folgenden Bild zu sehen.
Definieren von Attributbeziehungen und der Sortierreihenfolge in der Customer-Dimension
So definieren Sie die Attributbeziehungen und die Sortierreihenfolge in der Customer-Dimension
Wechseln Sie im Dimensions-Designer zur Registerkarte Browser für die Customer-Dimension, und durchsuchen Sie dann die Elemente der Commute Distance-Attributhierarchie.
Beachten Sie, dass die Elemente dieser Attributhierarchie nach den ASCII-Werten des Elementschlüssels sortiert sind. In diesem Fall werden die Pendlerentfernungen durch das Sortieren nach Attributname oder Schlüssel nicht von der geringsten zur höchsten Entfernung sortiert. In dieser Aufgabe sortieren Sie die Elemente der Attributhierarchie basierend auf der benannten Berechnung CommuteDistanceSort, die die entsprechende Sortiernummer jedem eindeutigen Wert in der Spalte zuschreibt. Um Zeit zu sparen, wurde diese benannte Berechnung bereits zur Customer-Tabelle in der Adventure Works DW-Datenquellensicht hinzugefügt. Sie können zu dieser Datenquellensicht wechseln, um das in dieser benannten Berechnung verwendete SQL-Skript anzuzeigen. Weitere Informationen finden Sie unter Definieren von benannten Berechnungen in einer Datenquellensicht (Analysis Services).
Das folgende Bild zeigt die Elemente der Commute Distance-Attributhierarchie sortiert nach den ASCII-Werten des Elementschlüssels.
Wechseln Sie zur Registerkarte Dimensionsstruktur im Dimensions-Designer für die Customer-Dimension, klicken Sie mit der rechten Maustaste auf CommuteDistanceSort in der Customer-Tabelle im Bereich Datenquellensicht, und klicken Sie dann auf Neues Attribut aus Spalte.
Wählen Sie im Bereich AttributeCommute Distance Sort aus, und legen Sie dann die AttributeHierarchyEnabled-Eigenschaft für dieses Attribut auf False im Eigenschaftenfenster fest, legen Sie die AttributeHierarchyOptimizedState-Eigenschaft auf NotOptimized fest, und legen Sie die AttributeHierarchyOrdered-Eigenschaft auf False fest.
Diese Einstellungen blenden das Attribut Benutzern gegenüber aus und verbessern die Verarbeitungszeit. Dieses Attribut wird nicht zum Durchsuchen verwendet. Es wird nur zum Sortieren der Elemente eines anderen Attributs verwendet.
Wählen Sie Geography aus, und legen Sie dann seine AttributeHierarchyVisible-Eigenschaft auf False im Fenster Eigenschaften fest, legen Sie seine AttributeHierarchyOptimizedState-Eigenschaft auf NotOptimized fest, und legen Sie seine AttributeHierarchyOrdered-Eigenschaft auf False fest.
Diese Einstellungen blenden das Attribut Benutzern gegenüber aus und verbessern die Verarbeitungszeit. Dieses Attribut wird nicht zum Durchsuchen verwendet. Es wird nur zum Sortieren der Elemente eines anderen Attributs verwendet. Da Geography über Elementeigenschaften verfügt, muss seine AttributeHierarchyEnabled-Eigenschaft auf True festgelegt werden. Zum Ausblenden des Attributs legen Sie daher die AttributeHierarchyVisible-Eigenschaft auf False fest.
Klicken Sie auf die Registerkarte Attributbeziehungen.
Klicken Sie in der Attributliste mit der rechten Maustaste auf das Commute Distance-Attribut, und wählen Sie dann Neue Attributbeziehung.
Im Dialogfeld Attributbeziehung erstellen ist das QuellattributCommute Distance. Legen Sie die Option Verknüpftes Attribut auf Commute Distance Sort fest.
Legen Sie in der Liste Beziehungstyp den Beziehungstyp auf Fest fest.
Die Beziehung zwischen den Elementen der Attribute Commute Distance und Commute Distance Sort ändern sich nicht mit der Zeit.
Klicken Sie auf OK.
Sie können jetzt die Sortierreihenfolge für das Commute Distance-Attribut festlegen.
Klicken Sie auf die Registerkarte Dimensionsstruktur.
Wählen Sie im Bereich AttributeCommute Distance aus, und ändern Sie dann den Wert der OrderBy-Eigenschaft im Eigenschaftenfenster zu AttributeKey, und ändern Sie den Wert der OrderByAttribute-Eigenschaft zu Commute Distance Sort.
Klicken Sie im Menü Erstellen auf Analysis Services Tutorial bereitstellen.
Wechseln Sie nach dem erfolgreichen Abschluss der Bereitstellung zur Registerkarte Browser des Dimensions-Designers für die Customer-Dimension, klicken Sie auf Verbindung wiederherstellen, und durchsuchen Sie dann die Commute Distance-Attributhierarchie.
Beachten Sie, dass die Hierarchieelemente jetzt in einer logischen Reihenfolge basierend auf zunehmender Entfernung sortiert sind, wie im folgenden Bild zu sehen.
Nächste Aufgabe in dieser Lektion
Angeben von Attributbeziehungen zwischen Attributen in einer benutzerdefinierten Hierarchie