Freigeben über


Measures und Measuregruppen

Ein Measure stellt eine Spalte mit quantifizierbaren (und gewöhnlich numerischen) Daten dar, die aggregiert werden können. Ein Measure ist im Allgemeinen einer Spalte in einer Faktentabelle zugeordnet.

Ein Measureausdruck kann auch verwendet werden, um den Wert eines Measures basierend auf einer Spalte in einer Faktentabelle gemäß der Änderung durch einen MDX-Ausdruck (Multidimensional Expressions) zu definieren. Ein Measureausdruck ermöglicht die Gewichtung eines Measurewerts. So kann z. B. die Währungsumrechnung verwendet werden, um ein Verkaufsmeasure durch einen Wechselkurs zu gewichten.

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 Definieren von semiadditivem Verhalten.

Ein berechnetes Element kann auch mithilfe eines MDX-Ausdrucks definiert werden, um einen berechneten Wert für ein Measure basierend auf anderen Measures im Cube bereitzustellen. Berechnete Elemente fügen einem Cube in Analysis Services Flexibilität und Analysefunktionen hinzu. Weitere Informationen zu Berechnungen finden Sie unter Berechnungen und Definieren von Berechnungen.

Measuregruppen

Ein einfaches MeasureGroup-Objekt besteht aus: grundlegenden Informationen, Measures, Dimensionen und Partitionen. Grundlegende Informationen beinhalten den Namen der Measuregruppe, den Typ der Measures, den Speichermodus, den Verarbeitungsmodus usw. Measures sind der eigentliche Satz von Measures, aus denen sich die Measuregruppe zusammensetzt. Für jedes Measure ist eine Definition der Aggregatfunktion, des Formatattributs, der Datenelementquelle usw. vorhanden. Dimensionen sind eine Teilmenge von Cubedimensionen, die verwendet werden, um die verarbeitete Measuregruppe zu erstellen. Partitionen sind die Auflistung von physischen Teilungen der verarbeiteten Measuregruppe.

In einem Cube werden Measures nach den ihnen zugrunde liegenden Faktentabellen in Measuregruppen gruppiert. Measuregruppen werden verwendet, um Dimensionen Measures zuzuordnen. Measuregruppen werden auch für Measures verwendet, die Distinct Count als Aggregationsverhalten haben. Durch das Platzieren der Distinct Count-Measures in der jeweils zugehörigen Measuregruppe wird die Aggregationsverarbeitung optimiert.

Das folgende Diagramm stellt die FactSalesQuota-Faktentabelle und die beiden zugehörigen Dimensionstabellen DimTime und DimEmployee dar.

FactSalesQuota-Tabelle mit zwei Dimensionstabellen

Die FactSalesQuota-Faktentabelle definiert die Sales Quotas-Measuregruppe des Adventure Works-Cubes, und die Dimensionstabellen DimTime und DimEmployee definieren die Dimensionen Time und Employee im Analysis Services-Beispielprojekt Adventure Works DW.

Die Faktentabelle enthält zwei grundlegende Spaltentypen: 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. In der FactSalesQuota-Faktentabelle wird die SalesAmountQuota-Spalte verwendet, um das Sales Amount Quota-Measure zu definieren. Dieses Measure ist in der Sales Quotas-Measuregruppe enthalten und wird durch die Dimensionen Time und Employee organisiert.

Granularität

Die Granularität bezieht sich auf die von der Faktentabelle unterstützte Detailebene. Die FactSalesQuota-Faktentabelle hat z. B. eine Fremdschlüsselbeziehung mit der DimEmployee-Tabelle in der EmployeeKey-Primärschlüsselspalte. Jeder Datensatz in der FactSalesQuota-Tabelle steht also in Beziehung zu einem Mitarbeiter. Die Granularität der Measuregruppe befindet sich 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.

Aggregatfunktionen

Wird eine Dimension zum Organisieren von Measures in einer Measuregruppe verwendet, wird das Measure gemäß den in dieser Dimension enthaltenen Hierarchien zusammengefasst. Das Zusammenfassungsverhalten hängt von der für das Measure angegebenen Aggregatfunktion ab. So besitzt z. B. die Employee-Dimension eine Hierarchie namens Employee Department. Diese ist in Ebenen ähnlich denen im folgenden Diagramm strukturiert:

Ebenenstruktur für Employee Department-Hierarchie

Jeder Datensatz in der FactSalesQuota-Faktentabelle ist direkt über eine Fremdschlüsselbeziehung mit der EmployeeKey-Spalte mit einem Datensatz in der DimEmployee-Dimensionstabelle verbunden. Somit steht jeder Wert im Sales Amount Quota-Measure in Beziehung mit einem einzelnen Blattelement in der Full Name-Ebene der Employee Department-Hierarchie und kann direkt aus der Faktentabelle geladen werden. Der Wert des Sales Amount Quota-Measures für Elemente in Ebenen über Full Name kann jedoch nicht direkt geladen werden, da jedes Element mehrere Datensätze darstellt. Einem einzelnen Element der Title-Ebene können also mehrere Mitarbeiter zugeordnet sein, und damit mehrere Mitarbeiter auf der Full Name-Ebene. Die Measurewerte für diese Nichtblattelemente werden nicht direkt aus der Datenquelle geladen, sondern stattdessen aus den in der Hierarchie darunter angeordneten Elementen aggregiert.

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-Cubes im Analysis Services-Beispielprojekt AdventureWorksSA definiert ist, tatsächlich auf der Anzahl von eindeutigen Werten (bzw. Distinct Count) in der EmployeeKey-Spalte der FactSalesQuota-Faktentabelle.

Das Aggregationsverhalten der einzelnen Measures wird durch die dazugehörige Aggregationsfunktion bestimmt. Weitere Informationen zu Aggregatfunktionen finden Sie unter Definieren von semiadditivem Verhalten.