Freigeben über


Definition der Eigenschaften für unbekannte Mitglieder und Nullverarbeitung

Wenn Analysis Services eine Dimension verarbeitet, füllen alle unterschiedlichen Werte aus den zugrunde liegenden Spalten in den Tabellen oder Ansichten in der Datenquellenansicht die Attribute in der Dimension auf. Wenn Analysis Services während der Verarbeitung auf einen NULL-Wert trifft, konvertiert sie diese Null standardmäßig in eine Null für numerische Spalten oder in eine leere Zeichenfolge für Zeichenfolgenspalten. Sie können die Standardeinstellungen ändern oder Nullwerte in Ihrem Extrakt-, Transformations- und Ladevorgang (falls vorhanden) des zugrunde liegenden relationalen Data Warehouses konvertieren. Darüber hinaus können Sie in Analysis Services den Nullwert in einen festgelegten Wert konvertieren, indem Sie drei Eigenschaften konfigurieren: die Eigenschaften UnknownMember und UnknownMemberName für die Dimension sowie die NullProcessing-Eigenschaft für das Schlüsselattribut der Dimension.

Der Dimensions-Assistent und der Würfel-Assistent aktivieren diese Eigenschaften für Sie, basierend darauf, ob das Schlüsselattribut einer Dimension nullfähig ist oder das Stammmattribut einer Schneeflockendimension auf einer nullfähigen Spalte basiert. In diesen Fällen wird die NullProcessing-Eigenschaft des Schlüsselattributes auf UnknownMember festgelegt, und die UnknownMember-Eigenschaft wird auf Visible festgelegt.

Wenn Sie jedoch schneeflakierte Dimensionen inkrementell erstellen, wie wir die Produktdimension in diesem Lernprogramm verwenden, oder wenn Sie Dimensionen mithilfe des Dimensions-Designers definieren und diese vorhandenen Dimensionen dann in einen Cube integrieren, müssen die UnknownMember - und NullProcessing-Eigenschaften möglicherweise manuell festgelegt werden.

In den Aufgaben in diesem Thema fügen Sie die Produktkategorie- und Produktunterkategorieattribute der Produktdimension aus schneeflakierten Tabellen hinzu, die Sie der Datenquellenansicht "Adventure Works DW" hinzufügen. Anschließend aktivieren Sie die UnknownMember-Eigenschaft für die Product-Dimension, geben Assembly Components als Wert für die UnknownMemberName-Eigenschaft an, beziehen Sie die Attribute Subcategory und Category auf das Attribut "Produktname" und definieren dann die benutzerdefinierte Fehlerbehandlung für das Mitgliedsschlüsselattribut, das die schneeflockierten Tabellen verknüpft.

Hinweis

Wenn Sie beim ursprünglichen Definieren des Analysis Services-Tutorials mithilfe des Cube-Assistenten die Attribute "Unterkategorie" und "Kategorie" hinzugefügt haben, wurden diese Schritte automatisch ausgeführt.

Überprüfung der Fehlerbehandlung und unbekannter Mitgliedereigenschaften in der Produktdimension.

  1. Wechseln Sie zum Dimensionsdesigner für die Produkt-Dimension, klicken Sie auf die Registerkarte Dimensionsstruktur, und wählen Sie dann im Bereich AttributeProdukt aus.

    Auf diese Weise können Sie die Eigenschaften der Dimension selbst anzeigen und ändern.

  2. Überprüfen Sie im Eigenschaftenfenster die Eigenschaften UnknownMember und UnknownMemberName .

    Beachten Sie, dass die UnknownMember-Eigenschaft nicht aktiviert ist, da der Wert auf "None" anstelle von "Visible" oder " Hidden" festgelegt ist und für die UnknownMemberName-Eigenschaft kein Name angegeben wird.

  3. Wählen Sie im Eigenschaftenfenster in der Zelle der ErrorConfiguration-Eigenschaftdie Option (benutzerdefiniert) aus, und erweitern Sie dann die ErrorConfiguration-Eigenschaftenauflistung.

    Wenn Sie die ErrorConfiguration-Eigenschaft auf (benutzerdefiniert) festlegen, können Sie die Standardeinstellungen für die Fehlerkonfiguration anzeigen. Dadurch werden keine Einstellungen geändert.

  4. Überprüfen Sie die Eigenschaften der Konfiguration für Schlüssel- und Null-Schlüsselfehler, nehmen Sie jedoch keine Änderungen vor.

    Beachten Sie, dass standardmäßig beim Konvertieren von NULL-Schlüsseln in das unbekannte Element und der verarbeitungsfehler, der dieser Konvertierung zugeordnet ist, ignoriert wird.

    Die folgende Abbildung zeigt die Eigenschafteneinstellungen für die ErrorConfiguration-Eigenschaftenauflistung .

    ErrorConfiguration-Eigenschaftssammlung

  5. Klicken Sie auf die Registerkarte "Browser ", vergewissern Sie sich, dass Produktmodelllinien in der Hierarchieliste ausgewählt sind, und erweitern Sie All Productsdann .

    Beachten Sie die fünf Mitglieder der Product Line-Ebene.

  6. Erweitern Sie Komponenten, und erweitern Sie dann das nicht bezeichnete Element der Modellnamenebene .

    Diese Stufe enthält die Montagekomponenten, die beim Erstellen anderer Komponenten verwendet werden, beginnend mit dem Anpassbaren Race-Produkt , wie in der folgenden Abbildung dargestellt.

    Assemblykomponenten zum Erstellen anderer Komponenten

Definieren von Attributen aus schneeflakierten Tabellen und einer Produktkategorie User-Defined Hierarchie

  1. Öffnen Sie den Datenquellen-Designer für die Datenquellenansicht "Adventure Works DW", wählen Sie "Reseller Sales" im Bereich "Diagrammorganisation" aus, und klicken Sie dann im Menü "Datenquellenansicht" von SQL Server Data Tools (SSDT) auf "Objekte hinzufügen/entfernen".

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

  2. Wählen Sie in der Liste der enthaltenen ObjekteDimProduct (dbo) aus, und klicken Sie dann auf "Verwandte Tabellen hinzufügen".

    Sowohl DimProductSubcategory (dbo) als auch FactProductInventory (dbo) werden hinzugefügt. Entfernen Sie FactProductInventory (dbo), sodass nur die Tabelle DimProductSubcategory (dbo) der Liste der enthaltenen Objekte hinzugefügt wird.

  3. Wenn die Tabelle DimProductSubcategory (dbo) standardmäßig als Tabelle ausgewählt ist, die zuletzt hinzugefügt wurde, klicken Sie erneut auf "Verknüpfte Tabellen hinzufügen" .

    Die Tabelle DimProductCategory (dbo) wird der Liste der enthaltenen Objekte hinzugefügt.

  4. Klicke auf OK.

  5. Zeigen Sie im Menü "Format " der SQL Server-Datentools auf das automatische Layout, und klicken Sie dann auf "Diagramm".

    Beachten Sie, dass die Tabelle DimProductSubcategory (dbo) und dimProductCategory (dbo) miteinander verknüpft sind, und auch mit der Tabelle " ResellerSales" über die Tabelle "Product ".

  6. Wechseln Sie zum Dimensions-Designer für die Produktdimension und klicken Sie dann auf die Registerkarte Dimensionstruktur.

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

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

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

  10. Klicken Sie im Eigenschaftenfenster auf das Eigenschaftenfeld "NameColumn ", und klicken Sie dann auf die Schaltfläche "Durchsuchen" (...), um das Dialogfeld " Name Column " zu öffnen.

  11. Wählen Sie "EnglishProductCategoryName" in der Spaltenliste "Quelle " aus, und klicken Sie dann auf "OK".

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

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

  14. Klicken Sie im Eigenschaftenfenster auf das Eigenschaftenfeld "NameColumn ", und klicken Sie dann auf die Schaltfläche "Durchsuchen (...) ", um das Dialogfeld " Namensspalte " zu öffnen.

  15. Wählen Sie "EnglishProductSubcategoryName" in der Spaltenliste "Quelle " aus, und klicken Sie dann auf "OK".

  16. Erstellen Sie eine neue benutzerdefinierte Hierarchie namens "Produktkategorien " mit den folgenden Ebenen, in der Reihenfolge von oben nach unten: Category, , Subcategoryund Produktname.

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

Durchsuchen der User-Defined Hierarchien in der Produktdimension

  1. Klicken Sie auf der Symbolleiste der Registerkarte " Dimensionstruktur " des Dimensions-Designers für die Produktdimension auf "Prozess".

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

  3. Wenn die Verarbeitung erfolgreich war, erweitern Sie die Verarbeitungsdimension 'Produkt' abgeschlossen im Dialogfeld Prozessfortschritt, erweitern Sie das Verarbeitungsdimension-Attribut 'Produktname' 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 der SELECT DISTINCT-Klausel eine WHERE-Klausel hinzugefügt wurde, die diese Produkte entfernt, die keinen Wert in der Spalte "ProductSubcategoryKey" aufweisen, wie in der folgenden Abbildung dargestellt.

    SELECT DISTINCT-Klausel zeigt WHERE-Klausel an

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

  6. Klicken Sie im Dimension-Designer für die Produktdimension auf die Registerkarte "Browser", und klicken Sie dann auf "Erneut verbinden".

  7. Vergewissern Sie sich, dass Produktmodelllinien in der Hierarchieliste angezeigt werden, und erweitern Sie All Products und dann Komponenten.

  8. Wählen Sie Produktkategorien in der Hierarchieliste aus, erweitern Sie All Products, und erweitern Sie dann Komponenten.

    Beachten Sie, dass keine der Assemblykomponenten angezeigt wird.

Um das Verhalten zu ändern, das in der vorherigen Aufgabe erwähnt wird, aktivieren Sie die UnknownMember-Eigenschaft der Products-Dimension, legen Sie einen Wert für die UnknownMemberName-Eigenschaft fest, setzen Sie die NullProcessing-Eigenschaft für die Subcategory- und "Model Name"-Attribute auf UnknownMember, definieren Sie das Category-Attribut als verwandtes Attribut des Subcategory-Attributs, und definieren Sie dann das Product Line-Attribut als verwandtes Attribut des Model Name-Attributs. Diese Schritte führen dazu, dass Analysis Services den Wert des unbekannten Mitgliedsnamens für jedes Produkt verwendet, das keinen Wert für die Spalte SubcategoryKey hat, wie Sie in der folgenden Aufgabe sehen werden.

Aktivieren des unbekannten Elements, Definieren von Attributbeziehungen und Angeben von benutzerdefinierten Verarbeitungseigenschaften für Nullen

  1. Klicken Sie im Dimensions-Designer für die Produktdimension auf die Registerkarte "Dimensionstruktur", und wählen Sie dann im Bereich "Attribute" die Option "Produkt" aus.

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

    Durch Ändern der UnknownMember-Eigenschaft auf "Visible " oder " Hidden " 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" aus.

  5. Im Dialogfeld "Attributbeziehung erstellen" lautet das Subcategory . Legen Sie das zugehörige Attribut auf Category. Lassen Sie den Beziehungstyp auf "Flexibel" festgelegt.

  6. Klicke auf OK.

  7. Wählen Sie im Bereich "Attribute" die Option "Unterkategorie" aus.

  8. Erweitern Sie im Eigenschaftenfenster 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 Bereich "Attribute " die Option "Modellname" aus.

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

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

    Wenn Analysis Services während der Verarbeitung auf einen NULL-Wert für das Subcategory Attribut oder das Model Name-Attribut trifft, wird der unbekannte Memberwert als Schlüsselwert ersetzt, und die benutzerdefinierten Hierarchien werden ordnungsgemäß erstellt.

Erneutes Durchsuchen von Produktdimensionen

  1. Klicken Sie im Menü " Erstellen " auf "Lernprogramm für Analysis Services bereitstellen".

  2. Wenn die Bereitstellung erfolgreich abgeschlossen wurde, klicken Sie auf die Registerkarte "Browser " im Dimension-Designer für die Produktdimension , und klicken Sie dann auf "Erneut verbinden".

  3. Vergewissern Sie sich, dass Produktkategorien in der Hierarchieliste ausgewählt sind, und erweitern Sie All Productsdann .

    Beachten Sie, dass Assemblykomponenten als neues Mitglied der Kategorieebene angezeigt werden.

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

    Beachten Sie, dass alle Assemblykomponenten jetzt auf der Ebene "Produktname " angezeigt werden, wie in der folgenden Abbildung dargestellt.

    Ebene

Nächste Lektion

Lektion 5: Definieren von Beziehungen zwischen Dimensionen und Maßgruppen