Share via


Definieren von unbekannten Elementen und Eigenschaften für das Verarbeiten von NULL-Werten

Wenn von Analysis Services eine Dimension verarbeitet wird, werden die Attribute in der Dimension durch alle unterschiedlichen Werte aus den zugrunde liegenden Spalten in den Tabellen oder Ansichten in der Datenquellensicht aufgefüllt. Wenn Analysis Services bei der Verarbeitung auf einen NULL-Wert stößt, wird dieser standardmäßig für numerische Spalten in einen Nullwert oder für Zeichenfolgenspalten in eine leere Zeichenfolge konvertiert. Sie können diese Standardeinstellungen ändern oder NULL-Werte in Ihrem Extrahierungs-, Transformations- und Ladeprozess (falls vorhanden) des zu Grunde liegenden relationalen Data Warehouse konvertieren. Darüber hinaus können Sie den NULL-Wert auch von Analysis Services in einen festgelegten Wert konvertieren lassen. Zu diesem Zweck konfigurieren Sie drei Eigenschaften: die UnknownMember- und die UnknownMemberName-Eigenschaften für die Dimension und die NullProcessing-Eigenschaft für das Schlüsselattribut der Dimension.

Der Dimensions-Assistent und der Cube-Assistent aktivieren diese Eigenschaften ordnungsgemäß, je nachdem, ob das Schlüsselattribut einer Dimension NULL-Werte zulässt oder ob das Stammattribut einer Schneeflockendimension auf einer Spalte basiert, die NULL-Werte zulässt. In diesen Fällen wird die NullProcessing-Eigenschaft des Schlüsselattributs auf UnknownMember und die UnknownMember-Eigenschaft auf Sichtbar festgelegt.

Wenn Sie jedoch Schneeflockendimensionen inkrementell erstellen, wie es bei der Product-Dimension in diesem Lernprogramm der Fall ist, oder wenn Sie Dimensionen mithilfe des Dimensions-Designers erstellen und anschließend diese vorhandenen Dimensionen in einen Cube integrieren, müssen die Eigenschaften UnknownMember und NullProcessing unter Umständen manuell festgelegt werden.

In den Aufgaben in diesem Thema fügen Sie die Produktkategorie- und Produktunterkategorieattribute der Product-Dimension aus der Schneeflockentabelle hinzu, die Sie der Adventure Works DW-Datenquellensicht hinzufügen werden. Sie aktivieren dann die UnknownMember-Eigenschaft für die Product-Dimension, geben Assembly Components als Wert für die UnknownMemberName-Eigenschaft an, ordnen die Subcategory- und Category-Attribute dem Produktnamensattribut zu und definieren dann eine benutzerdefinierte Fehlerbehandlung für das Elementschlüsselattribut, das die Schneeflockentabellen verknüpft.

HinweisHinweis

Wenn Sie die Attribute Subcategory und Category bei der Definition des Analysis Services Tutorial-Cubes mithilfe des Cube-Assistenten hinzugefügt haben, wurden diese Schritte bereits automatisch ausgeführt.

Überprüfen der Fehlerbehandlung und der Eigenschaften unbekannter Elemente in der Product-Dimension

So überprüfen Sie die Fehlerbehandlung und die Eigenschaften unbekannter Elemente in der Product-Dimension

  1. Wechseln Sie zum Dimensions-Designer für die Product-Dimension, klicken Sie auf die Registerkarte Dimensionsstruktur, und wählen Sie dann im Attribute-Bereich Product aus.

    Damit können die Eigenschaften der Dimension selbst angezeigt und geändert werden.

  2. Überprüfen Sie im Eigenschaftenfenster den Wert für die Eigenschaften UnknownMember und UnknownMemberName.

    Beachten Sie, dass die UnknownMember-Eigenschaft nicht aktiviert ist, weil ihr Wert auf Keine anstatt auf Sichtbar oder Ausgeblendet festgelegt ist, und dass kein Name für die UnknownMemberName-Eigenschaft angegeben ist.

  3. Wählen Sie im Fenster Eigenschaften(Benutzerdefiniert) in der ErrorConfiguration-Eigenschaftenzelle aus, und erweitern Sie dann die ErrorConfiguration-Eigenschaftsauflistung.

    Durch Festlegen der ErrorConfiguration-Eigenschaft auf (Benutzerdefiniert) können Sie die Standardfehlerkonfigurationseinstellungen anzeigen. Es werden dadurch keine Einstellungen geändert.

  4. Überprüfen Sie dann die Schlüssel- und NULL-Schlüsselkonfigurationseigenschaften. Ändern Sie diese aber nicht.

    Beachten Sie, dass standardmäßig beim Konvertieren von NULL-Schlüsseln in das unbekannte Element der Verarbeitungsfehler im Zusammenhang mit dieser Konvertierung ignoriert wird.

    Das folgende Bild zeigt die Eigenschaftseinstellungen für die ErrorConfiguration-Eigenschaftsauflistung.

    ErrorConfiguration-Eigenschaftenauflistung

  5. Klicken Sie auf die Registerkarte Browser, überprüfen Sie, ob Produktmodellgruppen in der Hierarchie-Liste ausgewählt ist, und erweitern Sie dann All Products.

    Beachten Sie die fünf Elemente der Produktgruppe-Ebene.

  6. Erweitern Sie Komponenten, und erweitern Sie dann das unbeschriftete Element der Modellname-Ebene.

    Diese Ebene enthält die Assemblykomponenten, die beim Erstellen anderer Komponenten verwendet werden, beginnend mit dem Adjustable Race-Produkt, so wie im folgenden Bild gezeigt.

    Zum Erstellen weiterer Komponenten verwendete Assemblykomponenten

Definieren von Attributen von Schneeflockentabellen und einer benutzerdefinierten Produktkategoriehierarchie

So definieren Sie Attribute von Schneeflockentabellen und einer benutzerdefinierten Produktkategoriehierarchie

  1. Öffnen Sie den Datenquellensicht-Designer für die Adventure Works DW-Datenquellensicht, wählen Sie Reseller Sales im Diagrammplaner-Bereich aus, und klicken Sie dann im Menü Datenquellensicht von Business Intelligence Development Studio auf Tabellen hinzufügen/entfernen.

    Das Dialogfeld Tabellen hinzufügen/entfernen wird geöffnet.

  2. Wählen Sie in der Liste Eingeschlossene Objektedbo.DimProduct aus, und klicken Sie dann auf Verknüpfte Tabellen hinzufügen.

    Die dbo.DimProductSubcategory-Tabelle wird der Liste Eingeschlossene Objekte hinzugefügt.

  3. Die dbo.DimProductSubcategory-Tabelle wird standardmäßig als die zuletzt hinzugefügte Tabelle ausgewählt. Klicken Sie erneut auf Verknüpfte Tabellen hinzufügen.

    Die dbo.DimProductCategory-Tabelle wird der Liste Eingeschlossene Objekte hinzugefügt.

  4. Klicken Sie auf OK.

  5. Zeigen Sie im Menü Format von BI Development Studio auf Automatisches Layout, und klicken Sie dann auf Diagramm.

    Beachten Sie, dass die dbo.DimProductSubcategory- und die dbo.DimProductCategory-Tabelle miteinander und auch mit der ResellerSales-Tabelle durch die Product-Tabelle verknüpft sind.

  6. Wechseln Sie zum Dimensions-Designer für die Product-Dimension, und klicken Sie dann auf die Registerkarte Dimensionsstruktur.

  7. Klicken Sie mit der rechten Maustaste an eine beliebige Stelle im Datenquellensicht-Bereich, und klicken Sie dann auf Alle Tabellen anzeigen.

  8. Suchen Sie im Datenquellensicht-Bereich die DimProductCategory-Tabelle, klicken Sie mit der rechten Maustaste auf ProductCategoryKey in dieser Tabelle, und klicken Sie dann auf Neues Attribut aus Spalte.

  9. Ändern Sie im Attribute-Bereich den Namen dieses neuen Attributs in Category.

  10. Klicken Sie im Fenster Eigenschaften in das Eigenschaftenfeld NameColumn und anschließend auf die Schaltfläche zum Durchsuchen (), um das Dialogfeld Namensspalte zu öffnen.

  11. Wählen Sie EnglishProductCategoryName in der Quellspalte-Liste aus, und klicken Sie auf OK.

  12. Suchen Sie im Datenquellensicht-Bereich die DimProductSubcategory-Tabelle, klicken Sie mit der rechten Maustaste auf ProductSubcategoryKey in dieser Tabelle, und klicken Sie dann auf Neues Attribut aus Spalte.

  13. Ändern Sie im Attribute-Bereich den Namen dieses neuen Attributs in Subcategory.

  14. Klicken Sie im Fenster Eigenschaften in das Eigenschaftenfeld NameColumn und anschließend auf die Schaltfläche zum Durchsuchen (), um das Dialogfeld Namensspalte zu öffnen.

  15. Wählen Sie EnglishProductSubcategoryName in der Quellspalte-Liste aus, und klicken Sie auf OK.

  16. Erstellen Sie eine neue benutzerdefinierte Hierarchie mit dem Namen Product Categories mit den folgenden Ebenen (von oben nach unten): Category, Subcategory und Product Name.

  17. Geben Sie All Products als Wert für die AllMemberName-Eigenschaft der benutzerdefinierten Product Categories-Hierarchie an.

Durchsuchen der benutzerdefinierten Hierarchien in der Product-Dimension

So durchsuchen Sie die benutzerdefinierten Hierarchien in der Product-Dimension

  1. Klicken Sie auf der Symbolleiste der Registerkarte Dimensionsstruktur von Dimensions-Designer für die Product-Dimension auf Verarbeiten.

  2. Klicken Sie auf Ja, um das Projekt zu erstellen und bereitzustellen, und klicken Sie dann auf Ausführen, um die Product-Dimension zu verarbeiten.

  3. Erweitern Sie nach erfolgreicher Verarbeitung im Dialogfeld Verarbeitungsstatus den Eintrag Die Verarbeitung von Dimension 'Product' wurde erfolgreich abgeschlossen, erweitern Sie Die Verarbeitung von Dimensionsattribut 'Product Name' wurde erfolgreich abgeschlossen, und erweitern Sie dann SQL-Abfragen 1.

  4. Klicken Sie auf die SELECT DISTINCT-Abfrage, und klicken Sie dann auf Details anzeigen.

    Beachten Sie, dass eine WHERE-Klausel der SELECT DISTINCT-Klausel hinzugefügt wurde, durch die diejenigen Produkte entfernt werden, die keinen Wert in der ProductSubcategoryKey-Spalte aufweisen, wie im folgenden Bild zu sehen.

    SELECT DISTINCT-Klausel mit WHERE-Klausel

  5. Klicken Sie dreimal auf Schließen, um alle Verarbeitungsdialogfelder zu schließen.

  6. Klicken Sie im Dimensions-Designer für die Product-Dimension auf die Registerkarte Browser, und klicken Sie dann auf Verbindung wiederherstellen.

  7. Überprüfen Sie, ob Produktmodellgruppen in der Hierarchie-Liste angezeigt wird. Erweitern Sie All Products, und erweitern Sie dann Components.

    Beachten Sie, dass die gesamte Liste der Assemblykomponenten aufgrund der WHERE-Klausel in der SELECT DISTINCT-Anweisung fehlt, so wie im folgenden Bild zu sehen.

    Hierarchieliste mit fehlenden Komponenten

  8. Wählen Sie in der Hierarchie-Liste Produktkategorien aus, erweitern Sie All Products, und erweitern Sie dann Components.

    Beachten Sie, dass keine der Assemblykomponenten angezeigt wird.

Um das in der vorherigen Aufgabe angegebene Verhalten zu ändern, aktivieren Sie die UnknownMember-Eigenschaft der Products-Dimension, legen einen Wert für die UnknownMemberName-Eigenschaft fest, legen die NullProcessing-Eigenschaft für die Subcategory- und Model Name-Attribute auf UnknownMember fest, definieren das Category-Attribut als zugehöriges Attribut des Subcategory-Attributs und definieren dann das Product Line-Attribut als zugehöriges Attribut des Model Name-Attributs. Durch diese Schritte verwendet Analysis Services den Namenswert des unbekannten Elements für jedes Produkt, das keinen Wert für die SubcategoryKey-Spalte aufweist. Dies wird in der folgenden Aufgabe gezeigt.

Aktivieren des unbekannten Elements, Definieren von Attributbeziehungen und Angeben von benutzerdefinierten Verarbeitungseigenschaften für NULL-Werte

So aktivieren Sie das unbekannte Element, definieren Attributbeziehungen und geben benutzerdefinierte Verarbeitungseigenschaften für NULL-Werte an

  1. Klicken Sie im Dimensions-Designer auf die Registerkarte Dimensionsstruktur für die Product-Dimension, und wählen Sie dann im Attribute-Bereich Product aus.

  2. Ändern Sie im FensterEigenschaften die UnknownMember-Eigenschaft in Sichtbar, und ändern Sie dann den Wert für die UnknownMemberName-Eigenschaft in Assembly Components.

    Durch das Ändern der UnknownMember-Eigenschaft in Sichtbar oder Ausgeblendet wird die UnknownMember-Eigenschaft für die Dimension aktiviert.

  3. Klicken Sie auf die Registerkarte Attributbeziehungen.

  4. Klicken Sie im Diagramm mit der rechten Maustaste auf das Subcategory-Attribut, und wählen Sie dann Neue Attributbeziehung.

  5. Im Dialogfeld Attributbeziehung erstellen ist das QuellattributSubcategory. Legen Sie den Wert Verknüpftes Attribut auf Category fest. Lassen Sie den Beziehungstyp auf Flexibel eingestellt.

  6. Klicken Sie auf OK.

  7. Wählen Sie im Attribute-Bereich Subcategory aus.

  8. Erweitern Sie im Fenster Eigenschaften die KeyColumns-Eigenschaft, und erweitern Sie dann die DimProductSubcategory.ProductSubcategoryKey (Integer)-Eigenschaft.

  9. Ändern Sie die NullProcessing-Eigenschaft in UnknownMember.

  10. Wählen Sie im Attribute-Bereich Model Name aus.

  11. Erweitern Sie im Fenster Eigenschaften die KeyColumns-Eigenschaft aus, und erweitern Sie dann die Product.ModelName (WChar)-Eigenschaft.

  12. Ändern Sie die NullProcessing-Eigenschaft in UnknownMember.

    Aufgrund dieser Änderungen werden, wenn während der Verarbeitung in Analysis Services ein NULL-Wert für das Subcategory-Attribut oder das Model Name-Attribut festgestellt wird, das unbekannte Element als Schlüsselwert ersetzt und die benutzerdefinierten Hierarchien ordnungsgemäß erstellt.

Erneutes Durchsuchen der Product-Dimension

So durchsuchen Sie die Product-Dimension

  1. Klicken Sie im Menü Erstellen auf Analysis Services Tutorial bereitstellen.

  2. Klicken Sie nach dem erfolgreichen Abschluss der Bereitstellung auf die Registerkarte Browser im Dimensions-Designer für die Product-Dimension, und klicken Sie dann auf Verbindung wiederherstellen.

  3. Überprüfen Sie, ob Product Categories in der Hierarchie-Liste ausgewählt ist, und erweitern Sie dann All Products.

    Beachten Sie, dass Assembly Components als neues Element auf der Category-Ebene angezeigt wird.

  4. Erweitern Sie das Assembly Components-Element der Category-Ebene, und erweitern Sie dann das Assembly Components-Element der Subcategory-Ebene.

    Beachten Sie, dass die Assemblykomponenten jetzt auf der Product Name-Ebene angezeigt werden, so wie im folgenden Bild zu sehen.

    Produktnameebene mit Assemblykomponenten

  5. Wählen Sie Produktmodellgruppen in der Hierarchie-Liste aus, erweitern Sie All Products, erweitern Sie das Assembly Components-Element auf der Product Line-Ebene, und erweitern Sie dann das Assembly Components-Element der Model Name-Ebene.

    Beachten Sie, dass alle Assemblykomponenten jetzt auf der Product Name-Ebene angezeigt werden.