Methoden zur Verteilung von Werten auf konsolidierte Zellwerte
Splasher-Befehle, die Werte in konsolidierte Zellen zurückschreiben, enthalten als Präfix das Symbol "#". In der Praxis wird der Name jedes Splasher-Befehls auf einen einzelnen Buchstaben abgekürzt, wie C (Copy) oder L (Like).
Wenn ein Textwert, der in eine Zelle geschrieben wird, mit einem dieser Buchstaben oder mit dem #-Symbol beginnt, oder wenn der Wert den vollständigen Namen eines Splasher-Befehls enthält, kann der Wert fälschlicherweise als Splasher-Befehl geparst werden. Wenn dies eintritt, zeigt die Zelle #REF!
an.
Wenn der Wert, der in eine Zelle geschrieben werden soll, immer Text und nie ein Datum bzw. eine Zahl ist, können Sie dieses Problem umgehen, indem Sie den Wert mit zwei Apostrophen versehen. Der erste Apostroph stellt sicher, dass die Zeichenfolge nicht als Zahl oder als Datum/Uhrzeit interpretiert wird. Der zweite Apostroph sorgt dafür, dass die Zeichenfolge nicht als Splasher-Befehl interpretiert wird.
Das Problem tritt nur mit Zellwerten auf, nicht mit z. B. Zellnotizen oder Attributen. Es tritt nur auf, wenn Splashing aktiviert ist.
Beispiel
C2019-20
in eine Zelle vorgesehen.
=CELLWRITE("C2019-20","DEPM","BPCCONFIG_CYCLE","...
C
wird jedoch als COPY-Befehl interpretiert, und es wird ein #REF!
-Fehler zurückgegeben.
Das Hinzufügen von zwei Apostrophen nach den öffnenden Anführungszeichen weist den Parser an, dass es sich bei dem Wert nicht um einen Splasher-Befehl und nicht um eine Zahl oder ein Datum handelt:
=CELLWRITE("''C2019-20","DEPM","BPCCONFIG_CYCLE","...
Verteilung und Veränderung
Für jede Methode zum Zurückschreiben können Sie die Verteilung oder Veränderung von Werten festlegen.
Verteilung ersetzt vorhandene Werte. Wenn eine Zelle beispielsweise den Wert 1 enthält, und Sie mithilfe von Verteilung den Wert 2 in die Zelle schreiben, erhält die Zelle den Zellwert 2.
Veränderung ändert Werte um die eingegebenen Werte. Wenn eine Zelle beispielsweise den Wert 1 enthält, und Sie mithilfe von Änderung den Wert 2 in die Zelle schreiben, erhält die Zelle den Zellwert 3.
Befehle für Änderung enthalten das Präfix & (Und-Zeichen).
Methoden und Befehle zum Zurückschreiben
Standardmäßig sind Rückschreibemethoden additiv – sie erhöhen vorhandene Werte auf unterschiedliche Art. Die Syntax der einzelnen Rückschreibemethoden kann jedoch verändert werden, um Werte zu subtrahieren und Werte mit einem Prozentsatz anzugeben.
In diesem Abschnitt kann bei den Syntaxbeispielen für Gewichtete Verteilung, Gleiche Verteilung, Basisverteilung und LIKE ein Minuszeichen (-) vor [Wert] gesetzt werden, um negative Werte zu schreiben. Es kann auch ein Prozentzeichen (%) nachgestellt werden, um Werte um einen Prozentsatz zu verändern.
Syntax | Erklärung |
---|---|
&W20 | Addiert 20 zum Zellwert hinzu. |
&W-20 | Subtrahiert 20 vom Zellwert. |
&W5% | Erhöht den Wert der Zelle um 5 %. |
Das Pluszeichen (+) ist implizit. Falls erforderlich, können Sie es explizit machen (Beispiel: &W+20). Jede Rückschreibemethode unterstützt zwei oder drei Syntaxarten. So sind beispielsweise #W[Wert]
und #@[Wert]
äquivalent. Beispiele, die bestimmte Dimensionen und Elementnamen enthalten, sind Beispiele.
Gewichtet
Das Verhältnis der Kind-Werte zueinander bleibt erhalten, wenn der Wert des Eltern-Elements erhöht oder verringert wird.
Gewichtete Verteilung: #W[Wert]
Wenn Sie gewichtete Verteilung verwenden, um einen Wert in eine Eltern-Zelle zu schreiben, der beispielsweise das Doppelte des vorhandenen Werts ergibt, verdoppelt sich auch der Wert aller Kind-Elemente.
Gewichtete Veränderung: &W[Wert]
Wenn Sie die gewichtete Veränderung verwenden, um einen Wert in eine Eltern-Zelle zu schreiben, der beispielsweise das Doppelte des vorhandenen Werts ergibt, verdoppelt sich auch der Wert aller Kind-Elemente und wird zum vorhandenen Wert addiert.
Beispiel
Der Wert der Eltern-Zelle beträgt 9, der Wert der drei Kind-Zellen beträgt jeweils 3. Sie schreiben mit gewichteter Veränderung 18 in die Eltern-Zelle. Der Wert jeder Kind-Zelle wird verdoppelt und zum vorhandenen Wert hinzuaddiert. So wird der Wert in jeder Kind-Zelle 9. Der Wert in der Eltern-Zelle beträgt nun 27.
Gleich
In Eltern-Zellen angegebene Werte werden gleichmäßig auf die Kind-Zellen verteilt.
Gleiche Verteilung: #E[Wert]
Ein in eine Eltern-Zelle eingegebener Wert ersetzt den vorhandenen Wert und wird gleichmäßig auf die Kind-Zellen verteilt.
Beispiel
Eine Eltern-Zelle hat drei Kind-Zellen. Sie schreiben mit gleicher Verteilung 12 in die Eltern-Zelle. Der Wert in allen drei Kind-Zellen beträgt nun 4.
Gleiche Veränderung: &E[Wert]
Ein in eine Eltern-Zelle eingegebener Wert wird gleichmäßig auf die Kind-Zellen verteilt und zum vorhandenen Wert hinzuaddiert.
Beispiel
Der Wert der Eltern-Zelle beträgt 12. Der Wert der drei Kind-Zellen beträgt jeweils 4. Sie schreiben 12 mit gleichmäßiger Veränderung in die Eltern-Zelle. 12 wird gleichmäßig auf die Kind-Zellen verteilt und zum vorhandenen Wert hinzuaddiert. Der Wert in jeder Kind-Zelle beträgt 8. Der Wert in der Eltern-Zelle beträgt 24.
Basis
Ein in eine Eltern-Zelle geschriebener Wert wird in jede Kind-Zelle geschrieben. Der Wert der Eltern-Zelle wird aktualisiert.
Basisverteilung: #B[Wert]
Ein in eine Eltern-Zelle geschriebener Wert wird in jede Kind-Zelle geschrieben und ersetzt den vorhandenen Wert.
Beispiel
Eine Eltern-Zelle hat drei Kind-Zellen. Sie schreiben mit Basisverteilung 2 in die Eltern-Zelle. Der Wert in jeder Kind-Zelle beträgt 2. Der Wert in der Eltern-Zelle beträgt 6.
Basisveränderung: &B[Wert]
Ein in eine Eltern-Zelle geschriebener Wert wird in jede Kind-Zelle geschrieben und zum vorhandenen Wert hinzuaddiert.
Beispiel
Eine Eltern-Zelle hat drei Kind-Zellen. Der Wert jeder Kind-Zelle beträgt 2, daher beträgt der Wert der Eltern-Zelle 6. Sie schreiben 2 mit Basisveränderung in die Eltern-Zelle. 2 wird in jede Kind-Zelle geschrieben und zum vorhandenen Wert hinzuaddiert. Der Wert in jeder Kind-Zelle beträgt 4. Der Wert in der Eltern-Zelle beträgt 12.
COPY
Sie können Werte von einem Cube-Bereich in einen anderen kopieren: beispielsweise die Ist-Zahlen für ein Jahr in den Plan für ein anderes Jahr. In diesem Beispiel sind die Ist-Zahlen die Quelle und der Plan das Ziel.
Sie geben den Copy-Befehl in die Zielzelle ein. Im Befehl geben Sie nur die Dimensionen und Elemente an, die den Quellbereich des Cubes vom Zielbereich unterscheiden. Sind die Elemente eindeutig einer Dimension zuzuordnen, müssen Sie nur die Elemente angeben.
COPY – Verteilung: #C[Tupel]
COPY – Änderung: &C[Tupel]
Ein Tupel ist die Adresse eines bestimmten Bereichs in der Datenbank. In diesem Fall ist das Tupel die Adresse der Daten, die Sie kopieren möchten. Es wird empfohlen, eindeutige Elementnamen zur Angabe des Tupels zu verwenden.
COPY mit Verteilung verwendet External Weighted Basic als OLAP-spezifische Rückschreibemethode, wenn die Elemente von Quelle und auch Ziel konsolidierte Elemente (K) oder Basiselemente (N) sind. Im Falle von C-Elementen muss die Struktur der darunterliegenden Elemente ähnlich sein. Das heißt, die Quell- und Zielelemente müssen die gleiche Anzahl an Kind-Elementen, Enkel-Elementen usw. aufweisen. In anderen Fällen wird die Methode External Weighted verwendet.
COPY mit Änderung verwendet External Weighted Delta als Rückschreibemethode.
Beispiele
Sie möchten die Ist-Werte für das vierte Quartal 2006 in die Soll-Daten für das gleiche Quartal kopieren. Wählen Sie die Zelle mit den Budgetzahlen für das Quartal aus, und geben Sie die folgende Formel an:
#COPY [VALTYPE].[Abweichung].[Ist-Wert];[PERIOD].[Alle Jahre].[2006].[2006_Q4]
Sie möchten die Ist-Werte für das dritte Quartal 2006 für Deutschland in das Budget für das vierte Quartal 2006 für Frankreich kopieren.
Wählen Sie die Zelle mit dem Budget für das vierte Quartal für Frankreich aus, und geben Sie Folgendes an:
#COPY [REGION].[Alle Regionen].[Europa].[Deutschland];[VALTYPE].[Abweichung].[Ist-Wert];[PERIOD].[Alle Jahre].[2006].[2006_Q3]
COPYFULL
COPYFULL mit Verteilung verwendet External Weighted als OLAP-spezifische Rückschreibmethode.
COPYFULL mit Änderung verwendet External Weighted Delta.
Datenelemente
Microsoft Analysis Services unterstützt Datenelemente. Ein Datenelement ist eine Kopie eines Eltern-Elements, jedoch ohne den Status des Eltern-Elements. Sie können Werte in ein Datenelement zurückschreiben, ohne die Kind-Elemente zu beeinflussen.
Beispiel
Sie haben eine Mitarbeiterhierarchie, in welcher der Manager dem Eltern-Element entspricht. Wenn Sie das Gehalt des Managers planen, können Sie einen Wert in das Datenelement Manager statt in das Element Manager zurückschreiben. Auf diese Weise haben die Gehälter der anderen Mitarbeiter keine Auswirkungen auf das Gehalt des Managers und umgekehrt.
LIKE
Sie können Werte auf die Kind-Elemente einer konsolidierten Zelle verteilen, sodass sie sich im gleichen Verhältnis wie die Werte der Kind-Elemente einer anderen konsolidierten Zelle befinden.
Sie geben den Like-Befehl in die Zielzelle ein. Im Befehl geben Sie nur die Dimensionen und Elemente an, die den Quellbereich der Datenbank vom Zielbereich unterscheiden. Sind die Elemente eindeutig einer Dimension zuzuordnen, müssen Sie nur die Elemente angeben.
In Befehlen zum Zurückschreiben steht L für Like.
LIKE – Verteilung: #L[Wert][Tupel]
LIKE - Änderung: &L[Wert][Tupel]
Ein Tupel ist die Adresse eines bestimmten Bereichs in der Datenbank. In diesem Fall ist das Tupel die Adresse des Quellbereichs in der Datenbank.
Beispiel
Die Umsatzzahlen des vierten Quartals 2005 für Spanien betragen 60. Die Zahlen für die einzelnen Monate lauten Oktober = 10, November = 20 und Dezember = 30.
Um zu ermitteln, welche Auswirkung Umsatzzahlen von 600 im ersten Quartal 2006 in Italien hätten (bei gleicher Verteilung wie die Zahlen im vierten Quartal 2005 in Spanien), wählen Sie die Zelle mit den Umsatzzahlen für das erste Quartal für Italien aus, und geben Sie folgende Formel ein:
#L 600 [REGION].[All
Regions].[Europe].[Spain];[PERIOD].[All Years].[2005].[2005_Q4]
Die Umsatzzahlen des ersten Quartals für Italien betragen nun 600. Die Zahlen für die einzelnen Monate lauten nun Januar = 100, Februar = 200 und März = 300.
#delete
Um alle Werte von einem Slice der Datenbank zu löschen, geben Sie #delete
in einer Zelle an, welche eine Rückschreibeformel (zum Beispiel WBC) enthält.
LIKEFULL
LIKEFULL kombiniert LIKE mit COPYFULL. Das bedeutet, dass Sie einen angegebenen Wert zurückschreiben können, aber als Rückschreibemethode External Weighted verwendet wird. Die Syntax für Verteilung lautet:
#LIKEFULL [Wert] [Tupel]
Bei Änderung lautet die Syntax:
&LIKEFULL [Wert] [Tupel]
External Weighted Delta wird als Rückschreibemethode verwendet.