Substitutionsvariable mit mehreren Elementen für MDX / Report Skript erstellen
Wenn man innerhalb einer ASO Datenbank Daten kopieren möchte, dann kann man den Weg des Export und Import wählen.
Zum Export der Daten würde sich dann ein Essbase Report-Skript anbieten und zum Laden eine Laderegel.
Dazwischen (d.h. auf jeden Fall vor dem Import sollte ein Kalkulations-Skript zum Löschen der im Modell vorhandenen Daten laufen. Es ist „Best Practice“ um die eventuell bestehenden Daten in dem Ladebereich vorher zu löschen und in ASO auch notwendig, denn die Daten in einer ASO Datenbank werden immer additiv geladen.
Natürlich baut man solche Datenkopiervorgänge mit Substitutionsvariablen auf. Hiermit kann man flexibel Daten selektieren und kopieren. Um z.B. die ersten 4 Monate eines Geschäftsjahres zu kopieren, wäre es praktisch, alle 4 Monate in einem Durchlauf und nicht die Monate sequentiell zu kopieren.
Die Herausforderung ist nun, die Selektion richtig zu schreiben. Jedoch: Die Syntax vom Report Skript ist eine andere als im MDX Kommando. Für unser Beispiel der 4 Monate muss also eine gemeinsame Syntax gefunden werden.
Ansonsten können schneller Fehler auftreten, z.B. dass der Ladebereich aus Reportscript-Variablen nicht gleich dem Löschbereich aus MDX ist. Die Lösung ist, die ID der Elemente zu verwenden, getrennt durch Kommas, aber mit Leerzeichen vor und hinter dem Komma.
Beispiel:
Jan , Feb , Mar , Apr
Das Report-Skript gibt im Log eine Warnung, dass es die Kommas nicht mag, aber der Export läuft sauber durch. Auch das MDX Kommando kann mit dem Leerzeichen vor dem Komma gut leben.
Eine Alternative wäre natürlich, ein MDX Skript zum Export zu erstellen, aber in Organisationen, die viel Essbase Reports verwenden ist dieser Paradigmenwechsel nicht immer sinnvoll.
Schreibe einen Kommentar