by ABRACON GmbH

Zufallszahlen in SAP BO Dashboards (Xcelsius)

In Excel gibt es die Funktion RAND (zu deutsch: ZUFALLSZAHL). Sie generiert eine Pseudozufallszahl aus dem geschlossenen Intervall [0, 1]. Der Wert dieser Funktion ändert sich jedes Mal, wenn die Excel Arbeitsmappe bearbeitet wird.

Die Funktion RAND wird auch von Xcelsius unterstützt. Allerdings wird hier die generierte Pseudozufallszahl nur dann erneuert, wenn sich andere Werte innerhalb derselben Formel ändern, und das Xcelsius Datenmodell somit gezwungen wird, die Formel neu auszuwerten.

Wie geht man aber vor, wenn die Neugenerierung per Klick auf einen Push-Button angestoßen werden soll? Wie können wir eine einfache Formel wie =RAND() so erweitern, dass sich die Eingabeparameter der Formel zwar ändern, das Endresultat aber das von =RAND() beibt?

Am einfachsten wäre es natürlich, wenn wir mit 1 multiplizieren oder 0 hinzu addieren. Nur müssen 1 bzw. 0 auf kreative Weise aus alternierenden Werten "berechnet" werden - aus Werten, die mit einem Push-Button jedes Mal verändert werden.

Folgendes Beispiel definiert einen Push-Button, der mit jedem Klick eine neue Pseudozufallszahl generiert:

Screenshot aus BO Dashboards

Der Quellwert des Buttons ist immer 0 oder 1, entsprechend verhält es sich mit dem Zielwert - allerdings immer gegensätzlich zu einander. In der finalen Formel wird nun der Absolutwert der Differenz der beiden mit der Pseudozufallszahl multipliziert. Dieser Absolutwert ist immer 1: mal ABS(0-1) und mal ABS(1-0). Bei jedem Klick auf den Button wird zwischen diesen beiden Möglichkeiten hin und her gewechselt. Hierdurch verändert sich jedes Mal die Eingabe der Formel, welche daraufhin neu ausgewertet wird. Das Endergebnis ist jeweils das Ergebnis von RAND().

Es gibt natürlich zahlreiche weitere Möglichkeiten 0 oder 1 aus ständig wechselnden Zahlen zu berechnen. Es ist allerdings zu beachten, dass diese Berechnung immer in derselben Formelzelle passieren muss, in der auch die Funktion RAND() aufgerufen wird. Die Berechnung kann also nicht einfach in eine separate Zelle ausgelagert werden, wenngleich hierdurch natürlich die Lesbarkeit der Formel leidet.

 

Bernd Keppel

ABRACON GmbH

Ihr Ansprechpartner

ist seit der Firmengründung Geschäftsführer der ABRACON GmbH. Er ist verantwortlich für die strategische Entwicklung des Unternehmens sowie die übergreifende Kundenbetreuung und Akquisition von Großkunden. Er ist seit mehr als 25 Jahren in Kundenprojekten im Schwerpunktberatungsbereich Business Intelligence als direkter Kundenansprechpartner und Projektleiter tätig.

back to overview

x