Ändern der Time-Dimension

Sie können zusammengesetzte Schlüssel für Attribute definieren, um die Elemente zu steuern, die von der SELECT DISTINCT-Verarbeitungswarteschlange zurückgegeben werden. Wenn Sie zusammengesetzte Schlüssel verwenden, wird die Sortierreihenfolge der Attributelemente durch die Reihenfolge der Elemente des zusammengesetzten Schlüssels bestimmt. In den Aufgaben dieses Themas ändern Sie den benutzerdefinierten Hierarchienamen und die angezeigten Elementnamen für die Attribute Date, Month, Calendar Quarter und Calendar Semester, definieren zusammengesetzte Schlüssel für die Attribute EnglishMonthName, CalendarQuarter und CalendarSemester und ändern dann die Reihenfolge der Elemente des zusammengesetzten Schlüssels, um die Sortierreihenfolge von Dimensionselementen zu steuern.

Ändern der benutzerdefinierten Hierarchie

So ändern Sie die benutzerdefinierte Hierarchie

  1. Wechseln Sie zum Dimensions-Designer für die Time-Dimension in Business Intelligence Development Studio, und klicken Sie dann auf die Registerkarte Dimensionsstruktur.

  2. Klicken Sie im Bereich Hierarchien und Ebenen auf die CalendarYear - CalendarSemester - CalendarQuarter - EnglishMonthName - FullDateAlternateKey-Hierarchie, und ändern Sie dann im Eigenschaftenfenster die Name-Eigenschaft zu Calendar Time.

    Der Name dieser benutzerdefinierten Hierarchie lautet jetzt Calendar Time.

  3. Ändern Sie in der benutzerdefinierten Calendar Time-Hierarchie die English Month Name-Ebene in Calendar Month und die Full Date Alternate Key-Ebene in Date.

  4. Wechseln Sie zum Datenquellensicht-Designer für die Adventure Works DW-Datenquellensicht, klicken Sie mit der rechten Maustaste im Tabellen-Bereich auf Time (dbo.DimTime), und klicken Sie dann auf Neue benannte Berechnung.

  5. Geben Sie im Dialogfeld Benannte Berechnung erstellenSimpleDate im Feld Spaltenname ein, und geben Sie dann das folgende SQL-Skript im Feld Ausdruck ein:

    DATENAME(mm, FullDateAlternateKey) + ' ' +
    DATENAME(dd, FullDateAlternateKey) + ', ' +
    DATENAME(yy, FullDateAlternateKey)
    

    Mithilfe dieses SQL-Skripts werden Jahr-, Monats- und Tageswerte aus der FullDateAlternateKey-Spalte extrahiert. Sie ändern die Date-Ebene in der Calendar Time-Hierarchie in der Time-Dimension, um den Wert dieser neuen Spalte anstelle des Originalwertes anzuzeigen, der in der FullDateAlternateKey-Spalte der DimTable-Tabelle gespeichert ist.

  6. Klicken Sie auf OK, und wechseln Sie dann zum Dimensions-Designer für die Time-Dimension.

  7. Klicken Sie auf Date in der Calendar Time-Hierarchie, und überprüfen Sie dann die Eigenschaften der Date-Ebene im Eigenschaftenfenster.

    Beachten Sie, dass die Date-Ebene auf dem FullDateAlternateKey-Attribut basiert. In den nächsten Schritten ändern Sie das Attribut, auf dem diese Ebene basiert, zum TimeKey-Attribute und ändern dann die Eigenschaften des TimeKey-Attributs, sodass die Namen seiner Elemente auf den Werten in der SimpleDate-Spalte basieren, die Sie gerade definiert haben. Sie können auch FullDateAlternateKey als Attribut beibehalten, auf dem die Date-Ebene basiert, und das Attribut ändern, sodass seine Elementnamen auf der SimpleDate-Spalte basieren. Die erstgenannte Methode ist allerdings effizienter, die Attribute TimeKey und FullDateAlternateKey werden nicht benötigt, sodass Sie das FullDateAlternateKey-Attribut löschen werden.

  8. Ändern Sie in der benutzerdefinierten Calendar Time-Hierarchie den Wert der SourceAttribute-Eigenschaft der Date-Ebene zu TimeKey, und löschen Sie dann das FullDateAlternateKey-Attribut aus dem Bereich Attribute.

  9. Wählen Sie TimeKey im Attribute-Bereich aus, erweitern Sie die NameColumn-Eigenschaftsauflistung, und erweitern Sie dann die Source-Eigenschaftsauflistung im Eigenschaftenfenster. Ändern Sie den Wert für die ColumnID-Eigenschaft zu SimpleDate.

    Beachten Sie, dass die OrderBy-Eigenschaft für das TimeKey-Attribut angibt, dass die Elemente der Attributhierarchie nach ihren Schlüsselwerten sortiert werden.

  10. Klicken Sie im Menü Erstellen von BI Development Studio auf Analysis Services Tutorial bereitstellen. Klicken Sie nach dem erfolgreichen Abschluss der Bereitstellung auf die Registerkarte Browser im Dimensions-Designer für die Time-Dimension, und klicken Sie dann auf der Symbolleiste auf Verbindung wiederherstellen.

  11. Erweitern Sie die Ebenen in der Calendar Time-Hierarchie, um die Elemente der Date-Ebene zu überprüfen.

    Beachten Sie, dass die Elemente der Date-Ebene jetzt benutzerfreundlicher als vorher sind. Beachten Sie allerdings auch, dass die Elemente Semester, Quarter und Month nicht das übergeordnete Jahr angeben.

    Das folgende Bild zeigt die Elemente der Date-Ebene.

    Elemente der Date-Ebene

  12. Wählen Sie in der Hierarchie-Liste EnglishMonthName aus, und erweitern Sie dann das Element Alle.

    Beachten Sie, dass jeder Monat nur ein Mal angezeigt wird, anstatt ein Mal für jedes Jahr in der Time-Dimension. In der nächsten Aufgabe in diesem Thema generieren Sie eindeutige Namen für jeden Monat in jedem Jahr.

  13. Wählen Sie CalendarQuarter in der Hierarchie-Liste aus, und erweitern Sie dann das Element Alle.

    Beachten Sie, dass jedes Quartal nur ein Mal angezeigt wird, anstatt ein Mal für jedes Quartal in der Time-Dimension. Die Monate sind alphabetisch sortiert. In der nächsten Aufgabe in diesem Thema generieren Sie eindeutige Namen für jedes Kalenderquartal in jedem Jahr. In Lektion 4 konfigurieren Sie die Monate so, dass sie chronologisch sortiert werden.

Angeben von eindeutigen Dimensionselementnamen

So stellen Sie eindeutige Dimensionselementnamen zur Verfügung

  1. Wechseln Sie zum Datenquellensicht-Designer für die Adventure Works DW-Datenquellensicht, klicken Sie mit der rechten Maustaste im Tabellen-Bereich auf Time (dbo.DimTime), und klicken Sie dann auf Neue benannte Berechnung.

  2. Geben Sie im Dialogfeld Benannte Berechnung erstellenMonthName im Feld Spaltenname ein, und geben Sie dann das folgende SQL-Skript im Feld Ausdruck ein:

    EnglishMonthName+' '+ CONVERT(CHAR (4), CalendarYear)
    

    Von diesem Skript wird der Monat und das Jahr für jeden Monat in der DimTime-Tabelle in eine neue Spalte verknüpft.

  3. Klicken Sie auf OK.

  4. Klicken Sie mit der rechten Maustaste im Tabellen-Bereich auf Time (dbo.DimTime), und klicken Sie dann auf Neue benannte Berechnung.

  5. Geben Sie im Dialogfeld Benannte Berechnung erstellenCalendarQuarterDesc im Feld Spaltenname ein, und geben Sie dann das folgende SQL-Skript im Feld Ausdruck ein:

    'Q' + CONVERT(CHAR (1), CalendarQuarter) +' '+ 'CY ' +
    CONVERT(CHAR (4), CalendarYear)
    

    Von diesem Skript wird das Kalenderquartal und das Jahr für jedes Quartal in der DimTime-Tabelle in eine neue Spalte verknüpft.

  6. Klicken Sie auf OK.

  7. Klicken Sie mit der rechten Maustaste im Tabellen-Bereich auf Time, und klicken Sie dann auf Neue benannte Berechnung.

  8. Geben Sie im Dialogfeld Benannte Berechnung erstellenCalendarSemesterDesc im Feld Spaltenname ein, und geben Sie dann das folgende SQL-Skript im Feld Ausdruck ein:

    CASE
    WHEN CalendarSemester = 1 THEN 'H1' + ' ' + 'CY' + ' ' 
           + CONVERT(CHAR(4), CalendarYear)
    ELSE
    'H2' + ' ' + 'CY' + ' ' + CONVERT(CHAR(4), CalendarYear)
    END
    

    Von diesem Skript wird das Kalendersemester und das Jahr für jedes Semester in der DimTime-Tabelle in eine neue Spalte verknüpft.

  9. Klicken Sie auf OK, wechseln Sie dann zum Dimensions-Designer für die Time-Dimension, und klicken Sie auf die Registerkarte Dimensionsstruktur.

    Sie ändern die Attribute EnglishMonthName, CalendarQuarter und CalendarSemester in der Time-Dimension, um die Werte in den neuen Spalten als Elementwerte zu verwenden.

  10. Wählen Sie im Attribute-Bereich EnglishMonthName aus. Erweitern Sie im Eigenschaftenfenster die NameColumn-Eigenschaft und die Source-Eigenschaft, und ändern Sie dann den Wert der ColumnID-Eigenschaft zu MonthName.

  11. Ändern Sie auf die gleiche Weise die ColumnID-Eigenschaft für das Calendar Quarter-Attribut und das Calendar Semester-Attribut auf die folgenden Werte:

    • Calendar Quarter: Ändern Sie die ColumnID-Eigenschaft zu CalendarQuarterDesc.
    • Calendar Semester: Ändern Sie die ColumnID-Eigenschaft zu CalendarSemesterDesc.
  12. Klicken Sie im Menü Erstellen von BI Development Studio auf Analysis Services Tutorial bereitstellen. Wenn die Bereitstellung erfolgreich abgeschlossen wurde, klicken Sie auf die Registerkarte Browser im Dimensions-Designer für die Time-Dimension.

  13. Klicken Sie auf der Symbolleiste der Registerkarte Browser auf Verbindung wiederherstellen, und überprüfen Sie dann die Elemente der CalendarQuarter-Attributhierarchie in der Calendar Quarter-Attributhierarchie.

    Beachten Sie, dass, während die Namen der Elemente der CalendarQuarter-Attributhierarchie benutzerfreundlicher sind, es weiterhin nur vier Elemente in der Attributhierarchie gibt, anstatt eines Elementes für jede Kombination aus Jahr und Quartal. Wenn Sie die EnglishMonthName- oder CalendarSemester-Attributhierarchien überprüfen, werden Sie ein ähnliches Verhalten feststellen. In der nächsten Aufgabe in diesem Thema ändern Sie dieses Verhalten, indem Sie einen zusammengesetzten Schlüssel für diese Attribute angeben.

Angeben von Werten für zusammengesetzte Schlüssel

So geben Sie Werte für zusammengesetzte Schlüssel an

  1. Wählen Sie die Registerkarte Dimensionsstruktur des Dimensions-Designers für die Time-Dimension aus, wählen Sie das EnglishMonthName-Attribut aus, und klicken Sie dann im Eigenschaftenfenster in der KeyColumns-Eigenschaftszelle auf die Schaltfläche mit den drei Punkten (), um den Wert des Attributs zu ändern.

    Der DataItem-Auflistungs-Editor wird geöffnet, in dem die Elementschlüsselspalte für dieses Attribut angezeigt wird. Wenn von Analysis Services eine Dimension verarbeitet wird, wird eine SELECT DISTINCT-Abfrage gestartet, um die Elemente der Dimension zu bestimmen. Im DataItem-Auflistungs-Editor können Sie einen zusammengesetzten Schlüssel anstelle eines einzelnen Spaltenschlüssels für das Attribut angeben, um zusätzliche Dimensionselemente zurückzugeben.

  2. Klicken Sie auf Hinzufügen, um einen zweiten Elementschlüssel für das Dimensionsattribut zu definieren.

    In der Elementliste wird ein neuer Elementschlüssel angezeigt. Geben Sie die Eigenschaften dieses neuen Schlüsselelements an.

  3. Klicken Sie in den Eigenschaften für Neue Bindung (WChar) auf die Schaltfläche mit den drei Punkten in der Source-Eigenschaftenzelle, um den Wert zu ändern.

    Das Dialogfeld Objektbindung wird geöffnet. In diesem Dialogfeld geben Sie entweder eine vorhandene Spalte in einer angegebenen Tabelle oder den Typ der Spalte an, die Sie erstellen möchten, wenn Sie das relationale Schema mithilfe der Top-Down-Entwurfsmethode generieren.

  4. Wählen Sie in der Bindungstyp-Liste Spaltenbindung aus.

  5. Überprüfen Sie, ob Time in der Liste Quelltabelle ausgewählt ist.

  6. Wählen Sie in der Quellspalte-Liste CalendarYear aus.

    Das folgende Bild zeigt das Dialogfeld Objektbindung.

    Objektbindung (Dialogfeld)

  7. Klicken Sie auf OK, um das Dialogfeld Objektbindung zu schließen, und klicken Sie dann erneut auf OK, um den DataItem-Auflistungs-Editor zu schließen.

    Beachten Sie, dass der Wert für die KeyColumns-Eigenschaft jetzt auf (Auflistung) festgelegt ist.

  8. Wählen Sie das CalendarQuarter-Attribut aus, und klicken Sie dann im Eigenschaftenfenster in der KeyColumns-Eigenschaftszelle auf die Schaltfläche mit den drei Punkten (), um den Wert des Attributs zu ändern.

    Der DataItem-Auflistungs-Editor wird angezeigt.

  9. Klicken Sie auf Hinzufügen, um ein zweites Element für die KeyColumns-Eigenschaft zu definieren.

  10. Klicken Sie in den Eigenschaften für Neue Bindung (WChar) auf die Schaltfläche mit den drei Punkten in der Source-Eigenschaftenzelle, um den Wert zu ändern.

    Das Dialogfeld Objektbindung wird geöffnet.

  11. Wählen Sie in der Bindungstyp-Liste Spaltenbindung aus.

  12. Überprüfen Sie in der Liste Quelltabelle, ob Time ausgewählt ist.

  13. Wählen Sie in der Quellspalte-Liste CalendarYear aus.

  14. Klicken Sie auf OK, und klicken Sie dann erneut auf OK.

  15. Wählen Sie das CalendarSemester-Attribut aus, und klicken Sie dann im Eigenschaftenfenster in der KeyColumns-Eigenschaftszelle auf die Schaltfläche mit den drei Punkten, um den Wert des Attributs zu ändern.

    Das Dialogfeld DataItem-Auflistungs-Editor wird angezeigt.

  16. Klicken Sie auf Hinzufügen, um ein zweites Element für die KeyColumns-Eigenschaft zu definieren.

  17. Klicken Sie in den Eigenschaften von Neue Bindung (WChar) auf die Schaltfläche mit den drei Punkten in der Source-Eigenschaftenzelle, um den Wert zu ändern.

    Das Dialogfeld Objektbindung wird geöffnet.

  18. Wählen Sie in der Bindungstyp-Liste Spaltenbindung aus.

  19. Überprüfen Sie in der Liste Quelltabelle, ob Time ausgewählt ist.

  20. Wählen Sie in der Quellspalte-Liste CalendarYear aus.

  21. Klicken Sie auf OK, und klicken Sie dann erneut auf OK.

  22. Klicken Sie im Menü Erstellen von BI Development Studio auf Analysis Services Tutorial bereitstellen. Wenn die Bereitstellung erfolgreich abgeschlossen wurde, klicken Sie auf die Registerkarte Browser im Dimensions-Designer für die Time-Dimension.

  23. Klicken Sie auf der Symbolleiste der Registerkarte Browser auf Verbindung wiederherstellen, und überprüfen Sie dann die Elemente der CalendarQuarter-Attributhierarchie in der Calendar Quarter-Attributhierarchie.

    Beachten Sie, dass jetzt zwar Elemente in der CalendarQuarter-Attributhierarchie für jedes Quartal in jedem Jahr vorhanden sind, die Mitglieder aber nicht in chronologischer Reihenfolge sortiert sind. Stattdessen sind sie nach Quartal und dann nach Jahr sortiert. In der nächsten Aufgabe in diesem Thema ändern Sie dieses Verhalten, um die Elemente dieser Attributhierarchie nach Jahr und dann nach Quartal zu sortieren.

    Das folgende Bild zeigt die aktuelle Struktur der CalendarQuarter-Attributhierarchie.

    Aktuelle Struktur der CalendarQuarter-Hierarchie

  24. Überprüfen Sie die Elemente der EnglishMonthName- und CalendarSemester-Attributhierarchien.

    Beachten Sie, dass die Elemente dieser Hierarchien ebenfalls nicht in chronologischer Reihenfolge sortiert sind. Stattdessen sind sie nach Monat beziehungsweise Semester und dann nach Jahr sortiert. In der nächsten Aufgabe in diesem Thema ändern Sie dieses Verhalten, um die Sortierreihenfolge zu ändern.

Ändern der Sortierreihenfolge durch Ändern der Elementreihenfolge zusammengesetzter Schlüssel

So ändern Sie die Elementreihenfolge zusammengesetzter Schlüssel

  1. Wählen Sie die Registerkarte Dimensionsstruktur des Dimensions-Designers für die Time-Dimension aus, und wählen Sie dann im Attribute-Bereich CalendarSemester aus.

  2. Überprüfen Sie im Eigenschaftenfenster den Wert für die OrderBy-Eigenschaft.

    Die Elemente der CalendarSemester-Attributhierarchie werden nach ihren Schlüsselwerten sortiert. Mit einem zusammengesetzten Schlüssel basiert die Sortierung der Elementschlüssel zuerst auf dem Wert des ersten Elementschlüssels und dann auf dem Wert des zweiten Elementschlüssels. Mit anderen Worten: Die Elemente der CalendarSemester-Attributhierarchie werden zuerst nach Semester und dann nach Jahr sortiert.

  3. Klicken Sie im Eigenschaftenfenster auf die Schaltfläche mit den drei Punkten (...), um den KeyColumns-Eigenschaftswert zu ändern.

    Der DataItem-Auflistungs-Editor wird geöffnet.

  4. Überprüfen Sie in der Elemente-Tabelle des DataItem-Auflistungs-Editors, ob DimTime.CalendarSemester (UnsignedTinyInt) ausgewählt ist, und klicken Sie dann auf den Pfeil nach unten, um die Reihenfolge der Elemente dieses zusammengesetzten Schlüssels umzukehren. Klicken Sie auf OK.

    Die Elemente der Attributhierarchie sind jetzt zuerst nach Jahr und dann nach Semester sortiert.

  5. Wählen Sie im Attribute-Bereich CalendarQuarter aus, und klicken Sie dann im Eigenschaftenfenster auf die Schaltfläche mit den drei Punkten (...) für die KeyColumns-Eigenschaft.

  6. Überprüfen Sie in der Elemente-Tabelle des DataItem-Auflistungs-Editors, ob DimTime.CalendarQuarter (UnsignedTinyInt) ausgewählt ist. Klicken Sie dann auf den Pfeil nach unten, um die Reihenfolge der Elemente dieses zusammengesetzten Schlüssels umzukehren. Klicken Sie auf OK.

    Die Elemente der Attributhierarchie sind jetzt zuerst nach Jahr und dann nach Quartal sortiert.

  7. Wählen Sie im Attribute-Bereich EnglishMonthName aus, und klicken Sie dann im Eigenschaftenfenster auf die Schaltfläche mit den drei Punkten (...) für die KeyColumns-Eigenschaft.

  8. Überprüfen Sie in der Elemente-Tabelle des DataItem-Auflistungs-Editors, ob DimTime.EnglishMonthName (WChar) ausgewählt ist, und klicken Sie dann auf den Pfeil nach unten, um die Reihenfolge der Elemente dieses zusammengesetzten Schlüssels umzukehren. Klicken Sie auf OK.

    Die Elemente der Attributhierarchie sind jetzt zuerst nach Jahr und dann nach Monat sortiert.

  9. Klicken Sie im Menü Erstellen von BI Development Studio auf Analysis Services Tutorial bereitstellen. Wenn die Bereitstellung erfolgreich abgeschlossen wurde, klicken Sie auf die Registerkarte Browser im Dimensions-Designer für die Time-Dimension.

  10. Klicken Sie auf der Symbolleiste der Registerkarte Browser auf Verbindung wiederherstellen, und überprüfen Sie dann die Elemente der CalendarQuarter- und CalendarSemester-Attributhierarchien.

    Beachten Sie, dass die Elemente dieser Hierarchien jetzt in chronologischer Reihenfolge sortiert sind, also nach Jahr und dann nach Quartal beziehungsweise Semester.

  11. Überprüfen Sie die Elemente der EnglishMonthName-Attributhierarchien.

    Die Elemente der Hierarchie werden nun zuerst nach Jahr und dann alphabetisch nach Monat sortiert (dies hängt mit der Tatsache zusammen, dass der Datentyp der EnglishCalendarMonth-Spalte in der Datenquellensicht eine Zeichenfolgenspalte ist - basierend auf dem nvarchar-Datentyp in der zugrunde liegenden relationalen Datenbank). Es wäre allerdings nützlicher, wenn die Monate chronologisch innerhalb jedes Jahres sortiert wären. Diese Änderung nehmen Sie in Lektion 4 vor.

    Das folgende Bild zeigt die EnglishMonthName-Attributhierarchie.

    EnglishMonthName-Attributhierarchie

  12. Klicken Sie im Menü Datei von BI Development Studio auf Alle speichern, um die von Ihnen bis jetzt vorgenommenen Änderungen im Analysis Services Tutorial-Projekt zu speichern, sodass Sie das Lernprogramm an dieser Stelle unterbrechen und später wieder aufnehmen können.

Sie haben erfolgreich die Benutzerfreundlichkeit der Elemente der Zeitdimensions-Attributhierarchien verbessert, indem Sie benannte Berechnungen in der Datenquellsicht erstellt und dann diese benannten Berechnungen als Attributelementnamen verwendet haben. Sie haben die Benutzerfreundlichkeit auch durch das Definieren von zusammengesetzten Schlüsseln und Angabe der entsprechenden Reihenfolge der Elemente von zusammengesetzten Schlüsseln zum Steuern der Dimensionselement-Sortierreihenfolge erhöht.

Nächste Aufgabe in dieser Lektion

Ändern der Product-Dimension

Siehe auch

Andere Ressourcen

Definieren und Konfigurieren von Dimensionen, Attributen und Hierarchien

Hilfe und Informationen

Informationsquellen für SQL Server 2005