Lektion 5-4: Definieren der Dimensionsgranularität innerhalb einer Measuregruppe
Gilt für: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
Benutzer möchten die Möglichkeit bekommen, Faktendaten mit einer anderen Granularität oder Spezifizierung für andere Zwecke zu dimensionieren. Verkaufsdaten für Händler- oder Internetverkäufe können z. B. für jeden Tag aufgezeichnet werden, wogegen Sollvorgaben für den Verkauf möglicherweise nur auf Monats- oder Quartalsebene vorhanden sind. In diesen Szenarios möchten Benutzer eine Time-Dimension mit einer anderen oder detaillierteren Auflösung für jede dieser verschiedenen Faktentabellen verwenden. Während Sie eine neue Datenbankdimension als Zeitdimension mit dieser unterschiedlichen Körnung definieren können, gibt es einen einfacheren Weg mit SQL Server Analysis Services.
Wenn in SQL Server Analysis Services eine Dimension innerhalb einer Measuregruppe verwendet wird, basiert die Körnung der Daten in dieser Dimension standardmäßig auf dem Schlüsselattribute der Dimension. Wenn beispielsweise eine Zeitdimension in einer Measuregruppe enthalten und die Standardauflösung der Zeitdimension täglich ist, ist die Standardauflösung der Dimension innerhalb der Measuregruppe täglich. Dies ist häufig angemessen, wie z. B. für die Measuregruppen Internet Sales und Reseller Sales in diesem Tutorial. Wenn allerdings solch eine Dimension in anderen Typen von Measuregruppen eingeschlossen wird (beispielsweise Vorgaben für den Verkauf oder Budget-Measuregruppe), ist eine monatliche oder vierteljährliche Auflösung angemessener.
Wenn Sie eine andere als die standardmäßige Auflösung für eine Cubedimension angeben möchten, ändern Sie das Granularitätsattribut für eine innerhalb einer bestimmten Measuregruppe verwendete Cubedimension auf der Registerkarte Dimensionsverwendung des Cube-Designers. Wenn Sie die Auflösung einer Dimension innerhalb einer bestimmten Measuregruppe zu einem anderen Attribut als dem Schlüsselattribut für diese Dimension ändern, müssen Sie sicherstellen, dass alle anderen Attribute in dieser Measuregruppe direkt oder indirekt mit dem neuen Granularitätsattribut verknüpft sind. Geben Sie dazu Attributbeziehungen zwischen allen anderen Attributen und dem Attribut an, das als Granularitätsattribut in der Measuregruppe angegeben ist. In diesem Fall definieren Sie zusätzliche Attributbeziehungen, anstatt Attributbeziehungen zu verschieben. Das als Granularitätsattribut angegebene Attribut wird effektiv zum Schlüsselattribut innerhalb der Measuregruppe für die verbleibenden Attribute in der Dimension. Wenn Sie Attributbeziehungen nicht entsprechend angeben, können SQL Server Analysis Services Werte nicht ordnungsgemäß aggregieren, wie in den Aufgaben in diesem Thema zu sehen ist.
Weitere Informationen finden Sie unter Dimensionsbeziehungenund Definieren einer regulären Beziehung und von Eigenschaften einer regulären Beziehung.
In den Aufgaben in diesem Thema fügen Sie eine Sales Quota-Measuregruppe hinzu und definieren die Granularität der Date-Dimension in dieser Measuregruppe als monatlich. Anschließend definieren Sie Attributbeziehungen zwischen dem Month-Attribut und anderen Dimensionsattributen, um sicherzustellen, dass SQL Server Analysis Services Werte ordnungsgemäß aggregiert.
Hinzufügen von Tabellen und Definieren der Sales Quota-Measuregruppe
Wechseln Sie zur Adventure Works DW 2019-Datenquellensicht .
Klicken Sie mit der rechten Maustaste auf eine beliebige Stelle im Bereich Diagrammplaner , klicken Sie auf Neues Diagramm, und geben Sie dem Diagramm den Namen Sales Quotas.
Ziehen Sie die Tabellen Employee, Sales Territoryund Date aus dem Bereich Tabellen in den Bereich Diagramm .
Fügen Sie die FactSalesQuota -Tabelle dem Bereich Diagramm hinzu, indem Sie mit der rechten Maustaste auf eine beliebige Stelle im Bereich Diagramm klicken und anschließend Tabellen hinzufügen/entfernenauswählen.
Beachten Sie, dass die SalesTerritory -Tabelle über die Employee -Tabelle mit der FactSalesQuota -Tabelle verknüpft ist.
Überprüfen Sie die Spalten in der FactSalesQuota -Tabelle, und sehen Sie sich anschließend die Daten in dieser Tabelle an.
Beachten Sie, dass die Auflösung der Daten innerhalb dieser Tabelle das Kalenderquartal ist, also die niedrigste Detailebene in der FactSalesQuota-Tabelle.
Ändern Sie im Datenquellensicht-Designer die FriendlyName -Eigenschaft der FactSalesQuota -Tabelle in SalesQuotas.
Wechseln Sie zum SQL Server Analysis Services Tutorial-Cube, und klicken Sie dann auf die Registerkarte Cubestruktur.
Klicken Sie mit der rechten Maustaste auf eine beliebige Stelle im Bereich Measures , klicken Sie auf Neue Measuregruppe, klicken Sie im Dialogfeld Neue Measuregruppe auf SalesQuotas und anschließend auf OK.
Die Sales Quotas -Measuregruppe wird im Bereich Measures angezeigt. Beachten Sie im Bereich Dimensionen , dass auch eine neue Date -Cubedimension definiert ist, die auf der Date -Datenbankdimension basiert. Eine neue zeitbezogene Cubedimension wird definiert, da SQL Server Analysis Services nicht weiß, welche der vorhandenen zeitbezogenen Cubedimensionen sich auf die DateKey-Spalte in der FactSalesQuota-Faktentabelle beziehen sollen, die der Measuregruppe Sales Quotas zugrunde liegt. Sie ändern dies später in einer anderen Aufgabe in diesem Thema.
Erweitern Sie die Sales Quotas -Measuregruppe.
Wählen Sie im Bereich Measures den Eintrag Sales Amount Quotaaus, und legen Sie anschließend im Eigenschaftenfenster den Wert für die FormatString -Eigenschaft auf Currency fest.
Wählen Sie das Sales Quotas Count -Measure aus, und geben Sie anschließend im Eigenschaftenfenster den Wert für die FormatString -Eigenschaft mit #,# an.
Löschen Sie das Calendar Quarter -Measure aus der Sales Quotas -Measuregruppe.
SQL Server Analysis Services die Spalte erkannt, die dem Measure "Kalenderquartal" zugrunde ist, als Spalte, die Measures enthält. Diese Spalte und die CalendarYear-Spalte enthalten allerdings die Werte, die Sie zum Verknüpfen der Sales Quotas-Measuregruppe mit der Date-Dimension später in diesem Thema verwenden werden.
Klicken Sie im Bereich Measures mit der rechten Maustaste auf die Sales Quotas -Measuregruppe und anschließend auf Neues Measure.
Das Dialogfeld Neues Measure wird geöffnet, das die verfügbaren Quellenspalten für ein Measure mit dem Verwendungstyp Summeenthält.
Wählen Sie im Dialogfeld Neues MeasureDistinct count in der Liste Verwendung aus, überprüfen Sie, ob SalesQuotas in der Liste Quelltabelle ausgewählt ist, wählen Sie EmployeeKey in der Liste Quelltabelle aus, und klicken Sie anschließend auf OK.
Beachten Sie, dass das neue Measure in einer neuen Measuregruppe namens Sales Quotas 1erstellt wird. Unterschiedliche Zählmaße in SQL Server werden in ihren eigenen Measuregruppen erstellt, um die Verarbeitungsleistung zu maximieren.
Ändern Sie die Name -Eigenschaft für das Employee Key Distinct Count Measure zu Sales Person Count, und geben Sie anschließend den Wert für die FormatString -Eigenschaft mit #,# an.
Erneutes Durchsuchen der Measures in der Sales Quota Measure-Gruppe nach Datum
Klicken Sie im Menü Erstellen auf Analysis Services Tutorial bereitstellen.
Wenn die Bereitstellung erfolgreich abgeschlossen wurde, klicken Sie in 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.
Klicken Sie auf die Excel-Verknüpfung und anschließend auf Aktivieren.
Erweitern Sie in der PivotTable-Feldliste die Sales Quotas -Measuregruppe, und ziehen Sie anschließend das Sales Amount Quota -Measure in den Bereich Werte.
Erweitern Sie die Sales Territory -Dimension, und ziehen Sie die benutzerdefinierte Sales Territories -Hierarchie in Zeilenbezeichnungen.
Beachten Sie, dass die Sales Territory-Cubedimension weder direkt noch indirekt mit der Fact Sales Quota-Tabelle verknüpft ist, wie im folgenden Bild zu sehen.
In den nächsten Schritten in diesem Thema definieren Sie eine Bezugdimensionsbeziehung zwischen dieser Dimension und dieser Faktentabelle.
Verschieben Sie die Sales Territories -Benutzerhierarchie aus dem Bereich Zeilenbezeichnungen in den Bereich Spaltenbezeichnungen.
Wählen Sie in der PivotTable-Feldliste die benutzerdefinierte Sales Territories -Hierarchie aus, und klicken Sie anschließend auf der rechten Seite auf den nach unten weisenden Pfeil.
Klicken Sie im Filter auf das Kontrollkästchen Alles auswählen, um die Auswahl aller Optionen aufzuheben, und wählen Sie anschließend nur „North America“ aus.
Erweitern Sie in der PivotTable-Feldliste den Eintrag Date.
Ziehen Sie die Date.Fiscal Date -Benutzerhierarchie in Zeilenbezeichnungen.
Klicken Sie auf der PivotTable auf den nach unten weisenden Pfeil neben Zeilenbezeichnungen. Löschen Sie alle Jahre außer FY 2008.
Anstelle der Elemente July, 2007 , August, 2007 und September, 2007der Month-Ebene wird nur das Element July 2007 der Month -Ebene angezeigt, und anstelle aller 31 Tage wird nur das Element July 1, 2007 der Date -Ebene angezeigt. Zu diesem Verhalten kommt es, weil die Auflösung der Daten in der Faktentabelle auf der Quartalsebene und die Auflösung der Date -Dimension auf der täglichen Ebene liegt. Sie ändern dieses Verhalten später in der nächsten Aufgabe in diesem Thema.
Beachten Sie auch, dass der Wert von Sales Amount Quota für die Monats- und Tagesebenen derselbe Wert wie für die Quartalsebene ist, nämlich $13,733,000.00. Dies liegt daran, dass sich die unterste Ebene der Daten in der Sales Quotas-Measuregruppe auf der Quartalsebene befindet. Sie ändern dieses Verhalten in Lektion 6.
Die folgende Abbildung zeigt die Werte für Sales Amount Quota.
Definieren der Dimensionsverwendungseigenschaft für die Sales Quotas-Measuregruppe
Öffnen Sie den Dimensions-Designer für die Employee -Dimension, klicken Sie mit der rechten Maustaste im Bereich Datenquellensicht auf SalesTerritoryKey und anschließend auf Neues Attribut aus Spalte.
Wählen Sie im Bereich Attribute den Eintrag SalesTerritoryKeyaus, und legen Sie im Fenster Eigenschaften die AttributeHierarchyVisible -Eigenschaft auf False , die AttributeHierarchyOptimizedState -Eigenschaft auf NotOptimizedund die AttributeHierarchyOrdered -Eigenschaft auf Falsefest.
Dieses Attribut muss die Sales Territory -Dimension mit den Sales Quotas - und Sales Quotas 1 -Measuregruppen als referenzierte Dimension verknüpfen.
Klicken Sie in Cube Designer für den SQL Server Analysis Services Tutorial-Cube auf die Registerkarte Dimensionsverwendung, und überprüfen Sie dann die Dimensionsnutzung innerhalb der Measuregruppen Sales Quotas und Sales Quotas 1.
Beachten Sie, dass die Employee - und Date -Cubedimensionen mit den Sales Quotas- und Sales Quotas 1 -Measuregruppen durch reguläre Beziehungen verknüpft sind. Beachten Sie außerdem, dass die Sales Territory -Cubedimension mit keiner dieser Measuregruppen verknüpft ist.
Klicken Sie auf die Zelle am Schnittpunkt der Dimension Sales Territory und der Measuregruppe Verkaufskontingente , und klicken Sie dann auf die Schaltfläche Durchsuchen (...). Das Dialogfeld Beziehung definieren wird geöffnet.
Wählen Sie in der Liste Beziehungstyp auswählen die Option Referenziert.
Wählen Sie in der Zwischendimension -Liste die Option Employeeaus.
Wählen Sie in der Liste Bezugsdimensionsattribut das Attribut Sales Territory Regionaus.
Wählen Sie in der Liste Zwischendimensionsattribut das Attribut Sales Territory Keyaus. (Die Schlüsselspalte für das Sales Territory Region-Attribut ist die SalesTerritoryKey-Spalte.)
Überprüfen Sie, ob das Kontrollkästchen Materialisieren aktiviert ist.
Klicken Sie auf OK.
Klicken Sie auf die Zelle am Schnittpunkt der Dimension Sales Territory und der Measuregruppe Sales Quotas 1 , und klicken Sie dann auf die Schaltfläche Durchsuchen (...). Das Dialogfeld Beziehung definieren wird geöffnet.
Wählen Sie in der Liste Beziehungstyp auswählen die Option Referenziert.
Wählen Sie in der Zwischendimension -Liste die Option Employeeaus.
Wählen Sie in der Liste Bezugsdimensionsattribut das Attribut Sales Territory Regionaus.
Wählen Sie in der Liste Zwischendimensionsattribut das Attribut Sales Territory Keyaus. (Die Schlüsselspalte für das Sales Territory Region-Attribut ist die SalesTerritoryKey-Spalte.)
Überprüfen Sie, ob das Kontrollkästchen Materialisieren aktiviert ist.
Klicken Sie auf OK.
Löschen Sie die Date -Cubedimension.
Anstatt über vier zeitbezogene Cubedimensionen zu verfügen, verwenden Sie die Order Date -Cubedimension in der Sales Quotas -Measuregruppe als die Daten, gegen die Verkaufsvorgaben dimensioniert werden. Sie verwenden diese Cubedimension auch als die primäre Datendimension im Cube.
Benennen Sie in der Liste Dimensionen die Order Date -Cubedimension in Dateum.
Durch das Umbenennen der Order Date -Cubedimension in Date wird ihre Rolle als primäre Datendimension in diesem Cube für Benutzer leichter verständlich.
Klicken Sie in der Zelle am Schnittpunkt der Measuregruppe Sales Quotas und der Date-Dimension auf die Schaltfläche Durchsuchen (...).
Wählen Sie im Dialogfeld Beziehung definieren in der Liste Beziehungstyp auswählen den Eintrag Regulär aus.
Wählen Sie in der Granularitätsattribut -Liste Calendar Quarteraus.
Beachten Sie, dass eine Warnung angezeigt wird, die Sie darauf hinweist, dass, weil Sie ein Nicht-Schlüssel-Attribut als Granularitätsattribut ausgewählt haben, Sie sicherstellen müssen, dass alle anderen Attribute direkt oder indirekt mit dem Granularitätsattribut verknüpft sein müssen, indem Sie als Elementeigenschaften angegeben werden.
Verknüpfen Sie im Bereich Beziehung des Dialogfelds Beziehung definieren die Dimensionsspalten CalendarYear und CalendarQuarter aus der der Date-Cubedimension zugrunde liegenden Tabelle mit den Spalten CalendarYear und CalendarQuarter in der der Sales Quota-Measuregruppe zugrunde liegenden Tabelle, und klicken Sie anschließend auf OK.
Hinweis
Calendar Quarter ist als Granularitätsattribut für die Date-Cubedimension in der Sales Quotas-Measuregruppe definiert, das Date-Attribut ist jedoch weiterhin das Granularitätsattribut für die Measuregruppen Internet Sales und Reseller Sales.
Wiederholen Sie die vorhergehenden vier Schritte für die Sales Quotas 1 -Measuregruppe.
Definieren von Attributbeziehungen zwischen dem Calendar Quarter-Attribut und den anderen Dimensionsattributen in der Date-Dimension
Wechseln Sie für die Date-Dimension zu Dimension Designer, und klicken Sie dann auf die Registerkarte Attributbeziehungen.
Beachten Sie, dass, obwohl Calendar Year mit Calendar Quarter durch das Calendar Semester -Attribut verknüpft ist, die Fiscal-Kalenderattribute nur miteinander verknüpft sind. Sie sind nicht mit dem Calendar Quarter -Attribut verknüpft und werden deshalb nicht ordnungsgemäß in der Sales Quotas -Measuregruppe aggregiert.
Klicken Sie im Diagramm mit der rechten Maustaste auf das Attribut Calendar Quarter , und wählen Sie Neue Attributbeziehungaus.
Im Dialogfeld Attributbeziehung erstellen lautet das QuellattributCalendar Quarter. Legen Sie den Wert Verknüpftes Attribut auf Fiscal Quarterfest.
Klicken Sie auf OK.
Es wird eine Warnmeldung angezeigt, die besagt, dass die Date -Dimension eine oder mehrere redundante Attributbeziehungen enthält, die möglicherweise das Aggregieren der Daten verhindern, wenn ein Nichtschlüsselattribut als Granularitätsattribut verwendet wird.
Löschen Sie die Attributbeziehung zwischen dem Month Name -Attribut und dem Fiscal Quarter -Attribut.
Klicken Sie im Menü Datei auf Alle speichern.
Durchsuchen der Measures in der Sales Quota-Measuregruppe nach Datum
Klicken Sie im Menü Erstellen auf Analysis Services Tutorial bereitstellen.
Wenn die Bereitstellung erfolgreich abgeschlossen wurde, klicken Sie in Cube Designer für den SQL Server Analysis Services Tutorial-Cube auf die Registerkarte Browser, und klicken Sie dann auf Erneut verbinden.
Klicken Sie auf die Excel-Verknüpfung und anschließend auf Aktivieren.
Ziehen Sie das Sales Amount Quota -Measure in den Bereich Werte.
Ziehen Sie die Sales Territories -Benutzerhierarchie in das Feld „Spaltenbezeichnungen“, und filtern Sie anschließend nach North America.
Ziehen Sie die Date.FiscalDate -Benutzerhierarchie in das Feld Zeilenbezeichnungen , klicken Sie anschließend in der PivotTable auf den nach unten weisenden Pfeil neben Zeilenbezeichnungen, und deaktivieren Sie alle Kontrollkästchen bis auf FY 2008, um nur das Geschäftsjahr 2008 anzuzeigen.
Klicken Sie auf OK.
Erweitern Sie FY 2008, H1 FY 2008und anschließend Q1 FY 2008.
Die folgende Abbildung zeigt eine PivotTable für den SQL Server Analysis Services Tutorial-Cube, wobei die Measuregruppe "Sales Quota" ordnungsgemäß dimensioniert ist.
Beachten Sie, dass alle Elemente der Geschäftsquartalsebene über den gleichen Wert verfügen wie die Quartalsebene. Wenn beispielsweise Q1 FY 2008 verwendet wird, entspricht die Vorgabe von $9,180,000.00 für Q1 FY 2008 auch dem Wert der einzelnen Elemente. Zu diesem Verhalten kommt es, weil die Auflösung der Daten in der Faktentabelle auf der Quartalsebene und die Auflösung der Date-Dimension auch auf der Quartalsebene liegt. In Lektion 6 lernen Sie, wie die Quartalssumme proportional zu jedem Monat zugeordnet wird.
Nächste Lektion
Lektion 6: Definieren von Berechnungen
Weitere Informationen
Dimensionsbeziehungen
Definieren einer regulären Beziehung und von Eigenschaften einer regulären Beziehung
Verwenden von Diagrammen im Datenquellensicht-Designer (Analysis Services)