Lektion 5-2: Definieren einer Faktenbeziehung
Gilt für: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
Von Benutzern wird manchmal der Wunsch geäußert, Measures nach Datenelementen dimensionieren zu können, die sich in der Faktentabelle befinden, oder die Faktentabelle nach bestimmten zusätzlichen verknüpften Informationen durchsuchen zu können, beispielsweise Rechnungsnummern oder Auftragsbestätigungsnummern, die mit bestimmten Verkaufsfakten verknüpft sind. Wenn Sie eine Dimension basierend auf einem solchen Faktentabellenelement definieren, wird diese Dimension als Faktendimensionbezeichnet. Eine Faktendimension wird auch als degenerierte Dimension bezeichnet. Faktendimensionen sind für das Gruppieren verknüpfter Faktentabellenzeilen nützlich, beispielsweise aller Zeilen, die sich auf eine bestimmte Rechnungsnummer beziehen. Obwohl Sie diese Informationen in einer separaten Dimensionstabelle in der relationalen Datenbank speichern können, stellt das Erstellen einer separaten Dimensionstabelle für die Informationen keinen Vorteil dar, weil die Dimensionstabelle genauso schnell wachsen würde wie die Faktentabelle und nur zu doppelt vorhandenen Daten und unnötiger Komplexität führen würde.
Innerhalb SQL Server Analysis Services können Sie bestimmen, ob die Faktendimensionsdaten in einer MOLAP-Dimensionsstruktur dupliziert werden sollen, um die Abfrageleistung zu erhöhen, oder ob die Faktendimension als ROLAP-Dimension definiert werden soll, um Speicherplatz zu Lasten der Abfrageleistung zu sparen. Wenn Sie eine Dimension mit dem MOLAP-Speichermodus speichern, werden alle Dimensionselemente in der instance von SQL Server Analysis Services in einer hochkomprimierten MOLAP-Struktur gespeichert, zusätzlich zur Speicherung in den Partitionen der Measuregruppe. Wenn Sie eine Dimension mit dem ROLAP-Speichermodus speichern, wird nur die Dimensionsdefinition in der MOLAP-Struktur gespeichert. Die Dimensionselemente selbst werden zur Abfragezeit aus der zugrunde liegenden relationalen Faktentabelle abgefragt. Sie treffen Ihre Entscheidung bezüglich des entsprechenden Speichermodus aufgrund der Häufigkeit, mit der die Faktendimension abgefragt wird, der Anzahl von Zeilen, die von einer typischen Abfrage zurückgegeben wird, der Leistung der Abfrage und der Verarbeitungskosten. Das Definieren einer Dimension als ROLAP setzt nicht voraus, dass alle Cubes, die die Dimension verwenden, ebenfalls mit dem ROLAP-Speichermodus gespeichert werden. Der Speichermodus kann für jede Dimension unabhängig konfiguriert werden.
Wenn Sie eine Faktendimension definieren, können Sie die Beziehung zwischen der Faktendimension und der Measuregruppe als eine Faktenbeziehung definieren. Die folgenden Einschränkungen gelten für Faktenbeziehungen:
Das Granularitätsattribut muss die Schlüsselspalte für die Dimension sein, wodurch eine 1:1-Beziehung zwischen der Dimension und den Fakten in der Faktentabelle erstellt wird.
Eine Dimension darf nur mit einer einzigen Measuregruppe eine Faktenbeziehung aufweisen.
Hinweis
Faktendimensionen müssen nach jedem Update der Measuregruppe, auf die die Faktenbeziehung verweist, inkrementell aktualisiert werden.
Weitere Informationen finden Sie unter Dimensionsbeziehungenund Definieren von Faktenbeziehungen und Faktenbeziehungseigenschaften.
In den Aufgaben dieses Themas fügen Sie eine neue Cubedimension basierend auf der CustomerPONumber -Spalte in der FactInternetSales -Faktentabelle hinzu. Anschließend definieren Sie die Beziehung zwischen dieser neuen Cubedimension und der Internet Sales -Measuregruppe als Faktenbeziehung.
Definieren der Internet Sales Orders-Faktendimension
Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf Dimensionen, und klicken Sie dann auf Neue Dimension.
Klicken Sie auf der Seite Willkommen beim Dimensions-Assistenten auf Weiter.
Überprüfen Sie, ob die Option Vorhandene Tabelle verwenden auf der Seite Erstellungsmethode auswählen ausgewählt ist, und klicken Sie anschließend auf Weiter.
Überprüfen Sie auf der Seite Quellinformationen angeben , ob die Datenquellensicht Adventure Works DW 2019 ausgewählt ist.
Wählen Sie in der Liste Haupttabelle den Eintrag InternetSalesaus.
Überprüfen Sie in der Liste Schlüsselspalten , ob SalesOrderNumber und SalesOrderLineNumber aufgelistet werden.
Wählen Sie in der Liste Namensspalte den Eintrag SalesOrderLineNumberaus.
Klicken Sie auf Weiter.
Deaktivieren Sie auf der Seite Verknüpfte Tabellen auswählen die Kontrollkästchen neben allen Tabellen, und klicken Sie anschließend auf Weiter.
Klicken Sie auf der Seite Dimensionsattribute auswählen zweimal auf das Kontrollkästchen im Header, um alle Kontrollkästchen zu deaktivieren. Das Sales Order Number -Attribut bleibt ausgewählt, da es das Schlüsselattribut ist.
Wählen Sie das Customer PO Number -Attribut aus, und klicken Sie anschließend auf Weiter.
Ändern Sie auf der Seite Assistenten abschließen den Namen in Internet Sales Order Details , und klicken Sie anschließend auf Fertig stellen , um den Assistenten zu beenden.
Klicken Sie im Menü Datei auf Alle speichern.
Wählen Sie im Bereich Attributes des Dimensions-Designers für die Dimension Internet Sales Order Details die Option Sales Order Numberaus, und ändern Sie anschließend die Name -Eigenschaft im Fenster Eigenschaften in Item Description.
Klicken Sie in der Eigenschaftszelle NameColumn auf die Schaltfläche zum Durchsuchen (...). Wählen Sie im Dialogfeld Namensspalte in der Liste Quelltabelle die Option Product aus, wählen Sie EnglishProductName für die Spalte Quelle aus, und klicken Sie dann auf OK.
Fügen Sie das Sales Order Number -Attribut zur Dimension hinzu, indem Sie die SalesOrderNumber -Spalte aus der InternetSales -Tabelle in den Bereich Datenquellensicht zum Bereich Attribute ziehen.
Ändern Sie die Name -Eigenschaft des neuen Sales Order Number -Attributs zu Order Number, und ändern Sie die OrderBy -Eigenschaft zu Key.
Erstellen Sie im Bereich Hierarchien eine Internet Sales Orders -Benutzerhierarchie, die die Ebenen Order Number und Item Description in dieser Reihenfolge enthält.
Wählen Sie im Bereich AttributeInternet Sales Order Detailsaus, und überprüfen Sie anschließend den Wert für die StorageMode -Eigenschaft im Eigenschaftenfenster.
Beachten Sie, dass die Dimension standardmäßig als MOLAP-Dimension gespeichert wird. Obwohl durch das Ändern des Speichermodus zu ROLAP Verarbeitungszeit und Speicherplatz gespart werden würde, geschähe dies auf Kosten der Abfrageleistung. Für die Zwecke dieses Lernprogramms verwenden Sie als Speichermodus MOLAP.
Um die neu erstellte Dimension dem SQL Server Analysis Services Tutorial-Cube als Cubedimension hinzuzufügen, wechseln Sie zu Cube Designer. Klicken Sie mit der rechten Maustaste in den Bereich Dimensionen der Registerkarte Cubestruktur , und wählen Sie die Option Cubedimension hinzufügenaus.
Wählen Sie im Dialogfeld Cubedimension hinzufügendie Option Internet Sales Order Details aus, und klicken Sie anschließend auf OK.
Definieren einer Faktenbeziehung für die Fact-Dimension
Klicken Sie im Cube Designer für den SQL Server Analysis Services Tutorial-Cube auf die Registerkarte Dimensionsverwendung.
Beachten Sie, dass die Internet Sales Order Details -Cubedimension automatisch mit einer Faktenbeziehung konfiguriert wird, wie durch das eindeutige Symbol angezeigt wird.
Klicken Sie auf die Schaltfläche durchsuchen (...) in der Zelle Artikelbeschreibung an der Schnittmenge der Measuregruppe Internet Sales und der Dimension Internet Sales Order Details( Internet Sales Order Details ), um die Eigenschaften der Faktenbeziehung zu überprüfen.
Das Dialogfeld Beziehung definieren wird geöffnet. Beachten Sie, dass Sie keine der Eigenschaften konfigurieren können.
Die folgende Abbildung zeigt die Faktenbeziehungseigenschaften im Dialogfeld Beziehung definieren .
Dialogfeld
Klicken Sie auf Abbrechen.
Durchsuchen des Cubes mithilfe der Fact-Dimension
Klicken Sie im Menü Erstellen auf Analysis Services-Tutorial bereitstellen, um die Änderungen am instance der SQL Server Analysis Services bereitzustellen und die Datenbank zu verarbeiten.
Klicken Sie nach erfolgreichem Abschluss der Bereitstellung im Cube Designer für den SQL Server Analysis Services Tutorial-Cube auf die Registerkarte Browser, und klicken Sie dann auf die Schaltfläche Erneut verbinden.
Entfernen Sie alle Measures und Hierarchien aus dem Datenbereich, und fügen Sie anschließend das Internet Sales-Sales Amount -Measure zum Datenbereich hinzu.
Erweitern Sie im Metadatenbereich Customer, Location, Customer Geography, Members, All Customers, Australia, Queensland, Brisbane, 4000, klicken Sie mit der rechten Maustaste auf Adam Powell, und klicken Sie anschließend auf Zu Filter hinzufügen.
Das Filtern zum Begrenzen der Kaufaufträge für einen einzigen Kunden ermöglicht dem Benutzer einen Drilldown zum zugrunde liegenden Detail in einer großen Faktentabelle ohne signifikante Einbußen bei der Abfrageleistung.
Fügen Sie die benutzerdefinierte Internet Sales Orders -Hierarchie aus der Internet Sales Order Details -Dimension dem Zeilenbereich des Datenbereichs hinzu.
Beachten Sie, dass die Verkaufsauftragsnummern und die korrespondierenden Internetverkaufssummen für Adam Powell im Datenbereich angezeigt werden.
Die folgende Abbildung zeigt das Ergebnis der vorherigen Schritte.
Nächste Aufgabe in der Lektion
Definieren einer m:n-Beziehung
Weitere Informationen
Dimensionsbeziehungen
Definieren von Faktenbeziehungen und Faktenbeziehungseigenschaften