Freigeben über


Verwenden von Aggregatfunktionen

Wenn eine Dimension zum Aufteilen eines Measures in Slices verwendet wird, wird das Measure gemäß den in dieser Dimension enthaltenen Hierarchien zusammengefasst. Das Zusammenfassungsverhalten hängt von der für das Measure angegebenen Aggregatfunktion ab. Für die meisten Measures, die numerische Daten enthalten, ist Sum die Aggregatfunktion. Der Wert des Measures wird zu unterschiedlichen Beträgen aufsummiert, je nachdem, welche Ebene der Hierarchie aktiv ist.

In Analysis Services liegt jedem Measure, das Sie erstellen, eine Aggregationsfunktion zugrunde, die die Operation des Measures bestimmt. Vordefinierte Aggregationstypen sind Sum, Min, Max, Count, Distinct Count und einige speziellere Funktionen. Wenn Sie Aggregationen basierend auf komplexen oder benutzerdefinierten Formeln benötigen, können Sie auch eine MDX-Berechnung anstelle einer vorgefertigten Aggregationsfunktion erstellen. Wenn Sie z. B. ein Measure für einen Prozentwert definieren möchten, würden Sie dazu in MDX ein berechnetes Measure verwenden. Siehe CREATE MEMBER-Anweisung (MDX).

Über den Cube-Assistenten erstellten Measures wird im Rahmen der Measuredefinition ein Aggregationstyp zugewiesen. Der Aggregationstyp ist immer Sum, vorausgesetzt die Quellspalte enthält numerische Daten. Sum wird unabhängig vom Datentyp der Quellspalte zugewiesen. Haben Sie beispielsweise den Cube-Assistenten zum Erstellen von Measures verwendet und alle Spalten aus einer Faktentabelle abgerufen, werden Sie feststellen, dass alle resultierenden Measures die Aggregation Sum haben, auch wenn die Quellspalte eine Datum-Uhrzeit-Spalte ist. Überprüfen Sie für über den Assistenten erstellte Measures immer die vorab zugewiesenen Aggregationsmethoden, um sicherzustellen, dass die Aggregationsfunktion geeignet ist.

Sie können die Aggregationsmethode entweder in der Cubedefinition über SQL Server Data Tools - Business Intelligence oder über MDX zuweisen bzw. ändern. Weitere Anweisungen dazu finden Sie unter Erstellen von Measures und Measuregruppen oder Aggregate (MDX).

Aggregatfunktionen

Analysis Services stellt Funktionen zur Verfügung, um Measures über die in Measuregruppen enthaltenen Dimensionen zu aggregieren. Die Additivität einer Aggregationsfunktion legt fest, wie das Measure über alle Dimensionen im Cube hinweg aggregiert wird. Aggregationsfunktionen werden nach drei Ebenen der Additivität unterschieden:

  • Additiv
    Ein additives Measure, auch als vollständig additives Measure bezeichnet, kann über alle Dimensionen hinweg innerhalb der Measuregruppe, die das Measure enthält, uneingeschränkt aggregiert werden.

  • Semiadditiv
    Ein semiadditives Measure kann über eine oder mehrere, jedoch nicht alle Dimensionen hinweg in der Measuregruppe, die das Measure enthält, aggregiert werden. So kann beispielsweise ein Measure, das die Menge des Lagerbestands darstellt, über eine geografische Dimension aggregiert werden und ergibt so eine Gesamtmenge, die allen Warenlagern zur Verfügung steht. Das Measure kann jedoch nicht über eine Zeitdimension aggregiert werden, da das Measure eine regelmäßig erstellte Momentaufnahme der verfügbaren Mengen darstellt. Die Aggregation eines solchen Measures über eine Zeitdimension würde zu falschen Ergebnissen führen. Einzelheiten dazu finden Sie unter Semiadditives Verhalten definieren.

  • Nicht additiv
    Ein nicht additives Measure kann nicht über Dimensionen hinweg in der Measuregruppe, die das Measure enthält, aggregiert werden. Anstelle dessen muss das Measure einzeln für jede Zelle im Cube, die das Measure darstellt, berechnet werden. So kann beispielsweise ein berechnetes Measure, das einen Prozentwert zurückgibt, z. B. die Bruttorendite, nicht von den Prozentwerten der untergeordneten Elemente in den Dimensionen aggregiert werden.

In der folgenden Tabelle werden die Aggregationsfunktionen in Analysis Services aufgelistet und sowohl die Additivität als auch das erwartete Ergebnis der Funktion beschrieben.

Aggregationsfunktion

Additivität

Rückgabewert

Sum

Additiv

Berechnet die Summe der Werte für alle untergeordneten Elemente. Dies ist die Standardaggregationsfunktion.

Count

Additiv

Ruft die Zahl aller untergeordneten Elemente ab.

Min

Semiadditiv

Ruft den niedrigsten Wert für alle untergeordneten Elemente ab.

Max

Semiadditiv

Ruft den höchsten Wert für alle untergeordneten Elemente ab.

DistinctCount

Nicht additiv

Ruft die Zahl aller eindeutigen untergeordneten Elemente ab. Weitere Informationen finden Sie unter About Distinct Count Measures im nächsten Abschnitt.

None

Nicht additiv

Es wird keine Aggregation durchgeführt. Alle Werte für Blatt- und Nichtblattelemente in einer Dimension werden direkt von der Faktentabelle für die Measuregruppe bereitgestellt, die das Measure enthält. Wenn kein Wert aus der Faktentabelle für ein Element gelesen werden kann, wird der Wert für dieses Element auf NULL gesetzt.

ByAccount

Semiadditiv

Berechnet die Aggregation gemäß der Aggregationsfunktion, die dem Kontotyp eines Elements in einer Kontodimension zugewiesen ist. Ist keine Kontodimension in der Measuregruppe vorhanden, wird der Wert als None-Aggregationsfunktion behandelt.

Weitere Informationen zu diesem Konto finden Sie unter Erstellen eines Finanzkontos des über- und untergeordneten Typs Dimension.

AverageOfChildren

Semiadditiv

Berechnet den Durchschnitt der Werte für alle nicht leeren, untergeordneten Elemente.

FirstChild

Semiadditiv

Ruft den Wert des ersten untergeordneten Elements ab.

LastChild

Semiadditiv

Ruft den Wert des letzten untergeordneten Elements ab.

FirstNonEmpty

Semiadditiv

Ruft den Wert des ersten nicht leeren untergeordneten Elements ab.

LastNonEmpty

Semiadditiv

Ruft den Wert des letzten nicht leeren untergeordneten Elements ab.

Informationen zu Distinct Count Measures

Ein Measure mit einem Aggregate-Funktion-Eigenschaftswert von Distinct Count wird als Distinct Count Measure bezeichnet. Ein Distinct Count Measure kann verwendet werden, um die Vorkommen der Elemente der untersten Ebene einer Dimension in der Faktentabelle zu zählen. Da nur unterschiedliche Elemente gezählt werden, wird ein mehrfach auftretendes Element nur einmal gezählt. Ein Distinct Count Measure wird immer in einer speziellen Measuregruppe platziert. Das Platzieren eines Distinct Count Measures in einer eigenen Measuregruppe ist eine bewährte Methode, die zur Leistungsoptimierung in den Designer integriert wurde.

Distinct Count Measures werden im Allgemeinen dazu verwendet, für jedes Element einer Dimension zu bestimmen, wie viele unterschiedliche Elemente der untersten Ebene einer anderen Dimension Zeilen der Faktentabelle gemeinsam nutzen. Beispielsweise wird in einem Sales-Cube bestimmt, wie viele unterschiedliche Produkte von den einzelnen Kunden und Kundengruppen gekauft wurden. (Auf die einzelnen Elemente der Customers-Dimension bezogen bedeutet das: Von wie vielen unterschiedlichen Elementen der untersten Ebene der Products-Dimension werden Zeilen der Faktentabelle gemeinsam genutzt?) Ein weiteres Beispiel: In einem Cube für die Zählung der Besucher einer Internetsite wird pro Sitebesucher und Sitebesuchergruppe bestimmt, wie viele unterschiedliche Seiten der Internetsite besucht wurden. (Auf die einzelnen Elemente der Site Visitors-Dimension bezogen bedeutet das: Von wie vielen unterschiedlichen Elementen der untersten Ebene der Pages-Dimension werden Zeilen der Faktentabelle gemeinsam genutzt?) In jedem dieser Beispiele werden die Elemente der untersten Ebene der zweiten Dimension über ein Distinct Count Measure gezählt.

Diese Art von Analyse ist nicht auf zwei Dimensionen beschränkt. Tatsächlich kann ein Distinct Count Measure getrennt und nach einer beliebigen Kombination von Dimensionen des Cubes in Slices aufgeteilt werden, einschließlich der Dimension, die die gezählten Elemente enthält.

Ein Distinct Count Measure, das zur Zählung von Elementen dient, basiert auf einer Fremdschlüsselspalte der Faktentabelle. (Das heißt, dass die Source Column-Eigenschaft des Measures diese Spalte identifiziert.) Diese Spalte verknüpft die Dimensionstabellenspalte, die die über das Distinct Count Measure gezählten Elemente identifiziert.

Siehe auch

Verweis

MDX-Funktionsreferenz (MDX)

Konzepte

Measures und Measuregruppen

Semiadditives Verhalten definieren