Erstellen von Measures und Measuregruppen
Ein Measure ist eine Aggregation numerischer Datenwerte, wie z. B. Summe, Anzahl, Minimum, Maximum, Durchschnitt oder ein benutzerdefinierter MDX-Ausdruck, den Sie erstellen. Eine Measuregruppe ist ein Container für mindestens ein Measure. Alle Measures befinden sich in einer Measuregruppe, auch wenn es nur ein Measure gibt. Ein Cube muss über mindestens ein Measure und eine Measuregruppe verfügen.
Dieses Thema enthält folgende Abschnitte:
Ansätze zum Erstellen von Measures
Komponenten eines Measures
Modellieren von Measures und Measuregruppen auf Fakten und Faktentabellen
Granularität einer Measuregruppe
Ansätze zum Erstellen von Measures
Measures können ein statisches Element des Cubes sein, das zur Entwurfszeit erstellt wird und immer vorhanden ist, wenn auf den Cube zugegriffen wird. Ein berechnetes Element kann aber auch mithilfe eines MDX-Ausdrucks definiert werden, um einen berechneten Wert für ein Measure basierend auf anderen Measures im Cube bereitzustellen. Ein berechnetes Element kann auf die Sitzung oder den Benutzer begrenzt werden.
Um ein Measure oder eine Measuregruppe zu erstellen, verwenden Sie einen der folgenden Ansätze:
Cube-Assistent |
Führen Sie den Cube-Assistenten in SQL Server-Datentools (SSDT) aus, um einen Cube zu erstellen. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Cubes, und wählen Sie dann Neuer Cube. Weitere Hilfe zu den einzelnen Schritten finden Sie unter Mehrdimensionale Modellierung (Adventure Works-Lernprogramm). Wenn Sie einen Cube basierend auf Tabellen aus einem vorhandenen Data Warehouse erstellen, werden Definitionen für die Measures und Measuregruppen beim Cubeerstellungsprozess materialisiert. Im Assistenten können Sie auswählen, welche Fakten und Faktentabellen als Grundlage für die Measure- und Measuregruppenobjekte im Cube verwendet werden. |
Dialogfeld "Neues Measure" |
Falls der Cube bereits in SQL Server-Datentools (SSDT) vorhanden ist, doppelklicken Sie im Projektmappen-Explorer auf den Cubenamen, um ihn im Cube-Designer zu öffnen. Klicken Sie im Bereich "Measures" mit der rechten Maustaste auf den obersten Knoten, um eine neue Measuregruppe oder neue Measures zu erstellen, indem Sie eine Quelltabelle, die Spalte und den Aggregationstyp angeben. Dieser Ansatz erfordert, dass Sie die Aggregationsmethode aus einer festen Liste mit vorgefertigten Funktionen auswählen. Eine Erläuterung der häufiger verwendeten Aggregationen finden Sie unter Verwenden von Aggregatfunktionen. |
Berechnetes Element |
Durch berechnete Elemente wird ein Cube in Analysis Services um Flexibilität und Analysefunktionen erweitert, da Sie steuern können, wann und wie sie erstellt werden. Manchmal benötigen Sie ein Measure nur vorübergehend, für die Dauer einer Benutzersitzung oder in Management Studio im Rahmen einer Untersuchung. Öffnen Sie in SQL Server-Datentools (SSDT) die Registerkarte "Berechnungen", um ein neues berechnetes Element zu erstellen. Wählen Sie diesen Ansatz, wenn ein Measure auf einem MDX-Ausdruck basiert. Weitere Informationen finden Sie in folgenden Themen: Erstellen von Measures in MDX, Berechnungen, Berechnungen in mehrdimensionalen Modellen und Grundlegendes zu MDX-Skripts (Analysis Services). |
MDX oder XMLA |
In SQL Server Management Studio können Sie MDX oder XMLA ausführen, um ein neues berechnetes Measure in eine Datenbank aufzunehmen. Dieser Ansatz eignet sich für Ad-hoc-Tests von Daten, nachdem die Projektmappe auf einem Server bereitgestellt wurde. Siehe Dokumentieren und Skripterstellung einer Analysis Services-Datenbank. |
Komponenten eines Measures
Ein Measure ist ein Objekt mit Eigenschaften. Zusätzlich zum Namen benötigt ein Measure einen Aggregationstyp und eine Quellspalte oder einen Ausdruck, mit dem das Measure mit Daten geladen wird. Sie können die Measuredefinition durch Festlegen der Eigenschaften ändern.
source |
Die meisten Measures stammen aus numerischen Spalten in Faktentabellen in einem externen Data Warehouse, z. B. die Spalte "Sales Amount" in den Internet Sales- und Reseller Sales-Tabellen im AdventureWorks-Data Warehouse. Sie können aber auch neue Measures erstellen, die vollständig auf von Ihnen definierten Berechnungen basieren. Attributspalten aus Dimensionstabellen können zum Definieren von Measures verwendet werden. Diese Measures sind jedoch im Allgemeinen hinsichtlich ihres Aggregationsverhaltens semiadditiv oder nicht additiv. Weitere Informationen zum semiadditiven Aggregationsverhalten finden Sie unter Semiadditives Verhalten definieren. |
Aggregation |
Standardmäßig werden Measures über die einzelnen Dimensionen hinweg summiert. Die AggregateFunction-Eigenschaft bietet Ihnen jedoch die Möglichkeit, dieses Verhalten zu ändern. Eine Liste finden Sie unter Verwenden von Aggregatfunktionen. |
Eigenschaften |
Zusätzliche Beschreibungen der Eigenschaften finden Sie unter Konfigurieren von Measureeigenschaften. |
Modellieren von Measures und Measuregruppen auf Fakten und Faktentabellen
Bevor Sie einen Assistenten ausführen, sollten Sie die Modellierungsprinzipien hinter der Measuredefinition verstehen.
Measures und Measuregruppen sind die mehrdimensionalen Objekte, die Fakten und Faktentabellen in einem externen Data Warehouse darstellen. In den meisten Fällen basieren Measures und Measuregruppen auf Objekten in einer Datenquellensicht, die wiederum aus dem zugrunde liegenden Data Warehouse erstellt werden.
Das folgende Diagramm stellt die FactSalesQuota-Faktentabelle und die beiden zugehörigen Dimensionstabellen DimTime und DimEmployee dar. Diese Tabellen werden im Adventure Works-Beispielcube als Grundlage für die "Sales Quotas"-Measuregruppe und die Dimensionen "Time" und "Employee" verwendet.
Die Faktentabelle enthält zwei grundlegende Arten von Spalten: Attributspalten und Measurespalten.
Attributspalten werden verwendet, um Fremdschlüsselbeziehungen zu Dimensionstabellen zu erstellen, damit die quantifizierbaren Daten in den Measurespalten nach den Daten in den Dimensionstabellen organisiert werden können. Attributspalten werden auch verwendet, um die Granularität einer Faktentabelle und der zugehörigen Measuregruppe zu definieren.
Measurespalten definieren die in einer Measuregruppe enthaltenen Measures.
Wenn Sie den Cube-Assistenten ausführen, werden die Fremdschlüssel herausgefiltert. In der Liste der verbleibenden Spalten, aus denen Sie auswählen können, sehen Sie Measurespalten und Attributspalten, die nicht als Fremdschlüssel identifiziert wurden. Im FactSalesQuote-Beispiel bietet der Assistent CalendarYear und CalendarQuarter zusätzlich zu SalesAmountQuota an. Nur die SalesAmountQuota-Measurespalte führt zu einem praktikablen Measure für das mehrdimensionale Modell. Die anderen datumsbasierten Spalten sind vorhanden, um die einzelnen Umsatzvorgaben zu qualifizieren. Sie sollten die anderen Spalten, CalendarYear und CalendarQuarter, im Cube-Assistenten aus der Liste der Measures ausschließen (oder später im Designer aus der Measuregruppe entfernen).
Sie sehen also, dass nicht alle vom Assistenten angebotenen Spalten als Measure nützlich sind. Verlassen Sie bei der Entscheidung, welche Spalten als Measures verwendet werden, sich auf Ihr Verständnis der Daten und ihrer Verwendung. Denken Sie daran, dass Sie in der Datenquellensicht mit der rechten Maustaste auf eine Tabelle klicken können, um die Daten zu erkunden. Dies hilft Ihnen festzulegen, welche Spalten als Measures verwendet werden sollen. Weitere Informationen finden Sie unter Durchsuchen von Daten in einer Datenquellensicht (Analysis Services).
Hinweis |
---|
Nicht alle Measures werden direkt aus einem in einer Spalte der Faktentabelle gespeicherten Wert abgeleitet. So basiert das Sales Person Count-Measure, das in der Sales Quota-Measuregruppe des Adventure Works-Beispielcubes definiert ist, tatsächlich auf der Anzahl von eindeutigen Werten (bzw. Distinct Count) in der EmployeeKey-Spalte der FactSalesQuota-Faktentabelle. |
Granularität einer Measuregruppe
Measuregruppen verfügen über eine zugeordnete Granularität, die auf die von der Faktentabelle unterstützte Detailebene verweist. Die Granularität wird über die Fremdschlüsselbeziehung zu einer Dimension festgelegt.
Z. B. hat die FactSalesQuota-Faktentabelle eine Fremdschlüsselbeziehung mit der DimEmployee-Tabelle, und jeder Datensatz in der FactSalesQuota-Tabelle bezieht sich auf einen einzigen Mitarbeiter. Somit befindet sich die Granularität der Measuregruppe aus Sicht der "Employee"-Dimension auf der Ebene einzelner Mitarbeiter.
Die Granularität einer Measuregruppe kann nicht stärker differenziert werden als die unterste Ebene der Dimension, von der die Measuregruppe betrachtet wird. Mithilfe zusätzlicher Attribute kann jedoch eine gröbere Granularität festgelegt werden. Die FactSalesQuota-Faktentabelle verwendet beispielsweise drei Spalten, TimeKey, CalendarYear und CalendarQuarter, um die Granularität einer Beziehung mit der DimTime-Tabelle festzulegen. Als Folge davon befindet sich die Granularität der Measuregruppe aus Sicht der Zeitdimension auf der Ebene des Kalenderquartals und nicht des Tages, der niedrigsten Ebene der Zeitdimension.
Sie können die Granularität einer Measuregruppe in Bezug auf eine bestimmte Dimension mithilfe der Registerkarte Dimensionsverwendung des Cube-Designers angeben. Weitere Informationen zu Dimensionsbeziehungen finden Sie unter Dimensionsbeziehungen.