Show TOC

HintergrundWährungsaggregation Dieses Dokument in der Navigationsstruktur finden

 

Das System bearbeitet nach der Standard- und vor der Ausnahmeaggregation Währungen und Einheiten (siehe Schritte der Aggregation). Nach der Währungsumrechnung folgt zum ersten Mal die Währungsaggregation. Das bedeutet, dass Werte mit verschiedenen Währungen oder Einheiten in einen Ergebniswert aggregiert werden. Die Währungsaggregation wird bei allen weiteren Aggregationsschritten wiederholt, d.h. sie wird bei mehreren Aggregationsschritten mehrmals ausgeführt.

Beispiel Beispiel

Das folgende Beispiel zeigt einige Aggregationen auf den Datensätzen V1 und V2, wobei der Datensatz V2 aus Werten mit verschiedenen Währungen besteht.

Der Datensatz V1 enthält Werte mit derselben Währung:

V1 = { (Luke, 10€), (Obi-Wan, 12€), (Anakin, 8€) }

Dies ergibt die folgenden Ergebnisse bei verschiedenen Aggregationen:

Aggregation

Erklärung

SUM(V1) = 30€

berechnet als Summe aller Werte, 10€ + 12€ + 8€

CNT(V1) = 3

berechnet als Zähler von {Luke, Obi-Wan, Anakin}

AVG(V1)= 10€

berechnet als Division aus SUM(V1)/CNT(V1)

MIN(V1) = 8€

berechnet als Minimalwert aller Werte {10€, 12€, 8€}

MAX(V1) = 12€

berechnet als Maximalwert aller Werte {10€, 12€, 8€}

LAST(V1) = 8€

berechnet als der letzte Wert der Mitglieder des Ausdruckes {Luke, Obi-Wan, Anakin} unter Berücksichtigung der alphabetischen Reihenfolge, dies ist also der Wert von “Obi-Wan”

Der Datensatz V2 enthält Werte mit unterschiedlichen Währungen:

V2 = { (Luke, 10€), (Leia, 15$) }

Dies ergibt die folgenden Ergebnisse bei verschiedenen Aggregationen:

Aggregation

Erklärung

SUM(V2) = *

Da die Werte unterschiedliche Währungen aufweisen, kann die Summe nicht richtig berechnet werden. Das Ergebnis ist ‘*’. Dies ist das Zeichen für gemischte Währungen oder Einheiten.

CNT(V2) = 2

berechnet als Zähler von {Luke, Leia} unabhängig von den Währungen.

AVG(V2) = *

Da dies als Division aus SUM(V2)/CNT(V2) zu berechnen ist und das Ergebnis der Aggregation SUM(V2) = *, ist der Durchschnitt ebenfalls *.

Ende des Beispiels.

Beachten Sie allerdings, dass nicht alle Aggregationsarten bei unterschiedlichen Währungen oder Einheiten zu einem unbestimmten Ergebnis (‘*’) führen.

Hinsichtlich der Währungen und Einheiten unterscheiden sich die Aggregationsarten wie folgt:

  1. Aggregationsarten, die vollständig unabhängig sind von Währungen oder Einheiten, sind CNT und CN0. Weder Input noch Output dieser Aggregationsarten berücksichtigt Währungen oder Einheiten.

  2. Eine Aggregationsart, die Währungen und Einheiten in ihrem Input berücksichtigt, bei dem Ergebnis jedoch keine Währung oder Einheit zuweist, ist VAR. Das Ergebnis hat zwar keine Währung oder Einheit, aber wenn die Varianz von zwei verschiedenen Währungen oder Einheiten berechnet werden soll, ergibt dies ‘*’.

  3. Alle anderen Aggregationsarten berücksichtigen Währungen und Einheiten sowohl in ihrem Input als auch in ihrem Output. Das Ergebnis dieser Aggregationsarten bezieht sich auf Währungen und Einheiten.

Für Aggregationsarten, die Währungen und Einheiten berücksichtigen (2. und 3.), gibt es Regeln für den Fall, dass im Ergebnis der Aggregation Währungen oder Einheiten gemischt vorliegen oder aber eindeutig bestimmt sind.

Zunächst wendet das System die folgenden Aggregationsregeln an:

  • Wenn verschiedene Werte ungleich 0 mit unterschiedlichen Währungen oder Einheiten aggregiert werden, ist die Ergebniswährung bzw.-einheit unbestimmt (‘*’). Wenn es nur eine Währung oder Einheit gibt, ist diese diejeinge des Ergebnisses.

  • Wenn der Datensatz Werte enthält, die gleich 0 sind, berücksichtigt das System nur die Währungen bzw. Einheiten derjenigen Kennzahlwerte, die ungleich 0 sind. Aus diesen wird bestimmt, ob die Währung oder Einheit eindeutig ist oder nicht.

  • Wenn der Datensatz ausschließlich Werte enthält, die gleich 0 sind, übernimmt das System eine der vorkommenden Währungen bzw. Einheiten in das Ergebnis.

Während der Währungsaggregation von Aggregationsarten, die nicht MIN und MAX sind, baut der OLAP-Processor zwei Mengen von Währungen bzw. Einheiten auf: Die eine enthält alle Währungen bzw. Einheiten von Kennzahlwerten ungleich 0 (sog. Menge CUP), die andere enthält alle Währungen bzw. Einheiten von Kennzahlwerten gleich 0 (sog. Menge CU0). Wenn die Menge CUP nur einen Eintrag enthält, ist das Ergebnis eindeutig bestimmt. Wenn die Menge CUP mehr als einen Eintrag enthält, ist das Ergebnis '*'. Wenn die Menge CUP leer ist, hat das Ergebnis eine Währung bzw. Einheit aus CU0.

Beispiel Beispiel

Währungsaggregation mit der Aggregationsart SUM

V2 = { (Luke, 10€), (Leia, 15$) }

SUM(V2) = *

V3 = { (Leia, 15$), (Palpatine, 0€)}

SUM(V2) = 15$

V4 = { (Palpatine, 0€), (Boba, 0$) }

SUM(V2) = 0 ? (? könnte € oder $ sein, abhängig vom System)

Ende des Beispiels.

Zusätzlich zu den oben genannten Regeln gelten weitere für die Aggregationsarten MIN und MAX. Für MIN und MAX baut das System nicht nur zwei Mengen von Währungen bzw. Einheiten, sondern drei. Die erste Menge enthält alle Währungen bzw. Einheiten von Kennzahlwerten gleich 0 (entsprechend CU0). Die zweite Menge enthält alle Währungen bzw. Einheiten von positiven Kennzahlwerten (CUP) und die dritte Menge enthält alle Währungen bzw. Einheiten von negativen Kennzahlwerten (CUN).

Für die Aggregatonsart MIN gelten zusätzlich folgende Regeln:

  • Wenn verschiedene Werte kleiner als 0 mit unterschiedlichen Währungen oder Einheiten aggregiert werden, ist die Ergebniswährung bzw.-einheit unbestimmt (‘*’). Wenn es nur eine Währung oder Einheit gibt, ist diese diejeinge des Ergebnisses.

  • Wenn es im Datensatz keine Kennzahlwerte kleiner als 0 gibt, berücksichtigt das System die Währungen oder Einheiten der Kennzahwerte gleich 0. Wenn es nur eine Währung oder Einheit gibt, ist diese diejeinge des Ergebnisses, andernfalls ist die Ergebniswährung bzw.-einheit unbestimmt (‘*’).

  • Wenn es im Datensatz keine Kennzahlwerte kleiner oder gleich 0 gibt, prüft das System, ob alle positiven Kennzahlwerte dieselbe Währung bzw. Einheit haben und übernimmt diese für das Ergebnis. Wenn das nicht der Fall ist, ist die Ergebniswährung bzw.-einheit unbestimmt (‘*’).

Beispiel Beispiel

Währungsaggregation mit der Aggregationsart MIN

V5 = { (Han Solo, -12€), (Chewbacca, 0£), (Leia, 15$) }

MIN(V5) = -12€

V6 = { (Yoda, -61$), (Han Solo, -12€), (Palpatine, 0€) }

MIN(V6) = *

V7 = { (Palpatine, 0€), (Leia, 15$), (R2D2, 28€) }

MIN(V7) = 0€

Ende des Beispiels.

Im Vergleich zur Aggregationsart MIN wendet das System hinsichtlich der Aggregationsart MAX dieselben Regeln an, jedoch hinsichtlich der Teilmengen von Kennzahlwerten größer, gleich und kleiner 0 in umgekehrter Reihenfolge von positiven zu negativen Werten. Somit lauten die Regeln wie folgt:

  • Wenn verschiedene Werte größer als 0 mit unterschiedlichen Währungen oder Einheiten aggregiert werden, ist die Ergebniswährung bzw.-einheit unbestimmt (‘*’). Wenn es nur eine Währung oder Einheit gibt, ist diese diejeinge des Ergebnisses.

  • Wenn es im Datensatz keine Kennzahlwerte größer als 0 gibt, berücksichtigt das System die Währungen oder Einheiten der Kennzahwerte gleich 0. Wenn es nur eine Währung oder Einheit gibt, ist diese diejeinge des Ergebnisses, andernfalls ist die Ergebniswährung bzw.-einheit unbestimmt (‘*’).

  • Wenn es im Datensatz keine Kennzahlwerte größer oder gleich 0 gibt, prüft das System, ob alle negativen Kennzahlwerte dieselbe Währung bzw. Einheit haben und übernimmt diese für das Ergebnis. Wenn das nicht der Fall ist, ist die Ergebniswährung bzw.-einheit unbestimmt (‘*’).

Beispiel Beispiel

Währungsaggregation mit der Aggregationsart MAX

V5 = { (Han Solo, -12€), (Chewbacca, 0£), (Leia, 15$) }

MAX(V5) = 15$

V6 = { (Yoda, -61$), (Han Solo, -12€), (Palpatine, 0€) }

MAX(V6) = 0€

V7 = { (Palpatine, 0€), (Leia, 15$), (R2D2, 28€) }

MAX(V7) = *

Ende des Beispiels.