DATACOPY in einer ASO Datenbank

Viele denken, dass es in einer Aggregate Storage Datenbank keine Calc Skripte gibt. Nun, das ist nicht ganz falsch, aber es gibt 2 Funktionen, die wir in Blockstorage in Calc Skripte ausfĂĽhren: DATACOPY und ALLOCATION. In diesem Beitrag zeige ich, wie einfach eine Datenkopie innerhalb der ASO Storage Datenbank zu machen ist.

Wie es funktioniert

Ich nehme die ASOSamp.Sample Datenbank, die als Beispielanwendung in Essbase verfügbar ist. Hier möchte ich die Daten von dem Element „Previous Year“ in das „Current Year“ kopieren.

Abbildung 1: Daten der ASOSamp vor dem Kopieren.

Wir brauchen zum Kopieren ein MaxL Skript und eine Datei mit einem Befehl darin. MaxL skripte kennen sie Wahrscheinlich schon, aber dieses hat 3 unterschiedliche Teile, die ich in hierunten farblich markiert habe.

  • Der erste Teil ist, dass eine Berechnung auf der ASOSamp mit einem Skript ausgefĂĽhrt werden soll.
  • Der zweite Teil gibt die Point-Of-View (POV) zu diesem Skript.
  • Der dritte Teil definiert die Region, welche involviert ist.

MaxL Skript

execute calculation on database ‚ASOsamp‘.’Sample‘ with local script_file „C:\temp\ASO_COPY.csc“

POV „Crossjoin(Descendants([Geography], [Geography].Levels(0)),

Crossjoin(Descendants([Transaction Type], [Transaction Type].Levels(0)),

Crossjoin(Descendants([Stores], [Stores].Levels(0)),

Crossjoin(Descendants([Products], [Products].Levels(0)),

Crossjoin(Descendants([Income Level], [Income Level].Levels(0)),

Crossjoin(Descendants([Age], [Age].Levels(0)),

Crossjoin(Descendants([Promotions], [Promotions].Levels(0)),

Crossjoin({[Cash]},

Crossjoin({[Original Price]},

Descendants([MTD], [Time].Levels(0) ))))))))))“

SourceRegion „{[Previous Year],[Current Year]}“;

Wichtig, alle Dimensionen mĂĽssen aufgenommen werden. Also nicht, wie in MDX, wo man die TopKnoten weglassen kann.

Die Skript Datei muss aus dem MaxL zu finden sein. Wenn das MaxL auf dem Server gestartet wird, dann sollte der Pfad aus der Sicht des Servers definiert werden. Zum Beginnen ist es am einfachsten, wenn das MaxL lokal liegt.

Skript Datei

Der Befehl in der Skript Datei bezieht sich auf die SourceRegion in dem MaxL. Es ist ein MDX Statement welcher hierunten dargestellt ist.

([Current Year]) := ([Previous Year]) ;

Abbildung 2: Skript Datei

Beim AusfĂĽhren des MaxL wird eine Ausgabe wie in Abbildung 3 dargestellt. Hierin sieht man, dass Shared Member nicht berĂĽcksichtigt werden.

Abbildung 3: Erfolgreiches Kopieren der Daten.

Ein Aktualisieren des Excel Blattes zeigt jetzt die kopierten Daten an.

Abbildung 4: Die Daten wurden kopiert.

Noch ein Beispiel

In dem nachfolgenden Beispiel zeige ich, wie der Dezember-Wert von dem Vorjahr in den Januar des Aktuellen Jahres kopiert wird. Eine häufig verwendete Funktion bei Inventar oder andere Bilanz-Größen.

MaxL Skript 2

Hier wird die SoureRegion erweitert mit der Dimension Time. Es wurden 2 Tupel gebildet.

execute calculation on database ‚ASOsamp‘.’Sample‘ with local script_file „C:\temp\ASO_COPY.csc“

POV „Crossjoin(Descendants([Geography], [Geography].Levels(0)),

Crossjoin(Descendants([Transaction Type], [Transaction Type].Levels(0)),

Crossjoin(Descendants([Stores], [Stores].Levels(0)),

Crossjoin(Descendants([Products], [Products].Levels(0)),

Crossjoin(Descendants([Income Level], [Income Level].Levels(0)),

Crossjoin(Descendants([Age], [Age].Levels(0)),

Crossjoin(Descendants([Promotions], [Promotions].Levels(0)),

Crossjoin({[Cash]},

{[Original Price]} ))))))))“

SourceRegion „Crossjoin({[Previous Year],[Current Year]},{[Jan],[Dec]})“;

Skript Datei 2

Die Skript Datei wird entsprechend erweitert. Das Ziel steht, wie bei Calc Skripte, an der linken Seite.

([Current Year],[Jan]) := ([Previous Year],[Dec]) ;

Und eine Aktualisierung zeigt, dass die Kopie der Zahl funktioniert hat.

Abbildung 5: Die Dezember Daten wurden in den Januar kopiert.

Ihr Philip Hulsebosch

Veröffentlicht in Essbase Verwendete Schlagwörter: , ,

SmartView Tipp 18: Daten Löschen in Essbase – richtig machen

Daten können unterschieden werden in Stammdaten und Bewegungsdaten. Dieser Beitrag behandelt das Thema wie Bewegungsdaten in Essbase gelöscht werden können.

Die Basis

Etwas was Essbase besonderes macht ist, dass es einen Unterschied zwischen 0 und #missing gibt. Technisch gesehen ist eine 0 fĂĽr Essbase eine Zahl wie jede andere auch. Sie nimmt gleichviel Speicherplatz ein und wird wie alle anderen auch in den Dimensionen aggregiert. Auch beim Datacopy geht sie mit in die Ziel-Elemente. Hierdurch wird eine 0 sehr schnell zu sehr vielen.

Das #missing bedeutet in Essbase, dass es keinen Wert gibt. Es wird kein Speicherplatz reserviert und es gibt die Option AGGMISSNG ON die Knotenwerte mit diesem ĂĽberschreibt.

Ausnullen

Eine weit verbreitete Praxis ist es, um unerwünschte Daten mit einer 0 zu überschreiben. Inhaltlich wird die Zahl dann zwar eine 0, aber technisch ist noch immer ein Wert in der Datenbank. Nun ist es im kleinen Stil nicht so schlimm, aber ich habe schon Anwendungen gesehen, die mehr als 20% der Werte Nullen hatten. Hierdurch wurden diese unnötig groß, denn diese Daten wurden immer wieder verarbeitet.

Wenn es also keine echte 0 ist, sollte das Ausnullen mit einem #missing geschehen. Dieses Wort kann wie eine Null in Excel Zellen kopiert werden.

Eine 0 ĂĽberschreiben in Smart View.

Wenn in der Anzeige das Label für Keine Daten als #NumericZero ist ausgewählt, dann kann der Benutzer keinen Unterschied zwischen einer echten 0 und einem #missing sehen.

Diese Anzeige ist sehr praktisch, wenn Formeln wie Summierung ĂĽber Zeilen oder Spalten gemacht werden. Mit einem #missing kommt Excel dann nicht klar und funktioniert die Formel nicht.

Abbildung 1: Smart View Datenoptionen

Um den oben genannten Fehler des Ausnullen nicht automatisch anzuwenden, wenn Daten hochgeladen werden, ĂĽbersetzt Smart View die Nullen mit #missing.

Dieses hat aber zur Folge, dass man mit dieser Anzeigeoption keine 0 hochladen kann!

Das auch das Ausnullen wie oben beschrieben nicht funktioniert.

Wenn sie also mal ein Excel mit einer Abfrage haben, und sie wollen diese Daten mit 0 ĂĽberschreiben und diese dann hochladen und sie sehen, dass dieses nicht funktioniert, dann probieren sie es mal mit #missing!

Man kann natĂĽrlich auch die Anzeigeoption umstellen.

Ihr Philip Hulsebosch

Veröffentlicht in Essbase Verwendete Schlagwörter: , ,

Planung – Reihenfolge der Monate wieder herstellen

Durch einen Upgrade wurde irgendwie die Reihenfolge der Elemente in der Dimension Periode verändert. Diese Dimension kann nicht einfach mit normalen Mitteln umsortiert werden, denn es ist eine spezifische Dimension mit Logik wie z.B. Verteilungslogik in Formulare. Daher muss ein anderer Trick her und dieser wird in diesem Beitrag beschrieben.

Ausgangssituation

In der Abbildung sieht man die Reihenfolge der Monate und Quartale. Dieser Kunde hat das Fiskaljahr von April bis März, aber hier ist es alles durcheinander.

Abbildung 1: Reihenfolge der Monate und Quartale ist falsch.

Abbildung 2: Elemente in der Outline

Wie die notwendigen Anpassungen machen?

Die Elemente können als nicht in die richtige Reihenfolge verschoben werden. Wir werden diese Umbenennen müssen, sodass die richtige Struktur wieder entsteht.

Schritte

  1. Export aller Daten.
  2. Löschen der Daten.
  3. In Planning die Elemente umbenennen. Dieses ist notwendig, denn es kann keine doppelten Namen in der Outline geben. Hierzu wird ein Punkt hinter dem Namen geschrieben: Jul wird Jul. Aug wird Aug. Etc.

Abbildung 3: Elemente und Alias wurden umbenannt.

  • Datenbank aktualisieren.

Abbildung 4: Aktualisieren der Datenbank.

Danach sind die umbenannten Elemente auch in der Outline zu sehen.

Abbildung 5: Elemente wurden umbenannt.

  • Die Elemente und Alias, jetzt den richtigen Namen geben anhand der Position in der Struktur.

Abbildung 6: Apr kann jetzt erstellt werden, denn das andere Element heisst Apr.

Abbildung 7: fertig mit dem Umbennen

Danach muss die Datenbank wieder aktualisiert werden, um diese Elemente auch in das Essbase zu bekommen.

  • Datenbank aktualisieren.

Danach sieht auch die Outline wieder richtig aus.

Abbildung 7: fertig mit dem Umbennen

Abbildung 8: Struktur ist jetzt korrekt.

  • Exportierte Daten wieder importieren und high-level Kontrolle machen.

Fazit

Die elemente der Dimension Periode können nicht einfach verschoben werden. Dieses ist technisch nicht möglich. Wenn die Reihenfolge nicht mehr stimmt, dann bleibt einem nur das Umbenennen übrig.

Ihr Philip Hulsebosch

Veröffentlicht in Installation, Konfiguration & Tuning, Planung & Berichtswesen Verwendete Schlagwörter: , ,

SmartView Tipp 17: Zellenstile als Standardoption

Smart View Tipps sind kurze Beiträge in einer Reihe von Oracle Smart View Funktionalität in der Tipps, Tricks aber auch Störungen beschrieben werden. Es ist eine Sammlung meiner Erfahrungen bei der Nutzung von Smart View. Ich hoffe, diese helfen den Lesern bei der Nutzung von SmartView.

Nach einer langen Zeit gibt es doch wieder ein Thema für die SmartView Tipp Reihe – Zellenstile. Ich bekam die Frage, ob man nicht direkt die richtigen (Zahlen) Formatierung bei neuen Abfragen bekommen kann. Hierzu eine Antwort.

Smart View Optionen

In Smart View Optionen gibt es im Grunde zwei Möglichkeiten:

  1. Zellenstile verwenden. Die Konfiguration, welcher Stil auf die Elemente und welche auf die Datenzellen angewendet werden sollte.
  2. Excel-Formatierung verwenden. Dieses bedeutet das die Konfiguration in Excel verwendet wird. Dieses ist bei groĂźen Abfragen deutlich schneller. Siehe hierzu auch SmartView Tipp 11:  Performance Verbesserung.

Abbildung 1: Formatierung Optionen

Zellenstile verwenden.

Die Zellenstile beziehen sich nur auf die Farben. Das kann praktisch sein, um z.B. zu sehen was ein Knotenelement ist und welche Zellen schreibgeschützt sind. Man kann auch an trüben Wintertagen sehr bunte Excel Arbeitsblätter machen. ?

Es werden also nicht die Nachkommastellen konfiguriert. Die Excel Settings werden auf den Standard zurĂĽckgesetzt. STRG+1  oder das Standard Arbeitsbuch ändern, welches bei der Installation erstellt wird (Program Files/Microsoft Office/Office /xlstart

Abbildung 2: Farbpalette fĂĽr Zellen

Excel-Formatierung verwenden.

So wie der Name schon sagt, es wird die Standard-Konfiguration von Excel verwendet. Smart View bietet dort nichts Weiteres.

Wenn ein neues Arbeitsblatt erstellt wird, dann gibt es eine Formatierung die (mit einiger MĂĽhe) in Excel definiert werden kann. Dieses ist jetzt nicht weiter Teil des Blogs.

Ein Workaround ist sich selbst eine Vorlage zu machen und diese dann zu nehmen. So kann es praktisch sein, für jede Anwendung ein Template Excel zu haben, wo deine gewünschte Datenformatierung (z.B. 2 Dezimalstellen und Euro Zeichen) und z.B. auch das Jahr, Version, Szenario schon eingestellt sind. Diese kann man dann in Excel „Festpinnen“ damit diese einfach erreichbar sind.

Abbildung 3: Festpinnen von Tempate Excel

Generell

Jedes Arbeitsblatt hat seine eigene Konfiguration. Unter dem OK Knopf kann man aber die eingestellten Parameter entweder auf alle Blätter übertragen oder als Standardoption speichern. Wenn letzteres gemacht wird, dann gilt diese auch für neue Excel Formulare (nicht aber für bestehende)

Abbildung 4: Die Standardkonfiguration von Excel.

Meine Empfehlung ist mit einer ausgewählten Standardoption zu arbeiten, wo Excel-Formatierung verwendet wird.

Ihr Philip Hulsebosch.

Veröffentlicht in Planung & Berichtswesen Verwendete Schlagwörter: , , ,

Error: 1051082: Substitution variable already exists

Sie haben vielleicht diese Fehlerbotschaft schon einmal gesehen beim Erstellen einer Substitutionsvariable, aber hier kam diese als ich den Wert ändern wollte. Hier ist eine Beschreibung dieser Erfahrung.

Ein Name von einer Substitutionsvariable kann es nicht doppelt geben. Zumindest nicht fĂĽr dieselbe Anwendung/Datenbank. Wenn man also eine doppelt anlegen will, dann ist eine Fehlerbotschaft wie im Titel des Beitrags steht auch wohl zu erwarten.

Das interessante war aber, dass ich im EAS den Wert einer bestehenden Variablen ändern wollte. Nichts neu, sondern nur ein anderes Szenario bei Value. Diese gilt für alle Applications und alle Datenbanken. Wie in Abbildung 1 zu sehen ist, war das nicht möglich.

Abbildung 1: Create Variable failed

EAS gab auch diese Fehlerbotschaft zurĂĽck.

                MaxL Command               November 25, 2022 2:48:53 PM CET

Error: 1051082: Substitution variable Curr_Scenario already exists

Später stellte sich heraus, dass im Hintergrund eine Restrukturierung lief.

Abbildung 2: Es lief nog ein restructure

Als diese fertig war, konnte ich ohne Probleme die Variable anpassen.

Dabei fiel mir aber auf, dass eine andere Variable nicht mehr funktionierte. Ich bekam den Fehler dass sie nicht existierte. Nun, ich sah sie doch echt….

Error: 1012042 Substitution variable [CURR_Year] doesn’t exist.

Nachdem ich diese neu erstellt hatte, funktionierte diese auch wieder. Auch diese war eingestellt fĂĽr alle Anwendungen und alle Datenbanken.

Ihr Philip Hulsebosch.

Veröffentlicht in Bewirtschaftung & Automatisierung, Essbase Verwendete Schlagwörter: , ,

Datenblöcke erstellen in Essbase

Bei der Erstellung von Calc Skripte ist es notwendig darauf zu achten, dass Datenblöcke erstellt werden. Essbase hat eine „Sicherung“, dass nicht unnötig Datenblöcke entstehen und somit die Datenbank grösser machen. Als Entwickler hat man aber eine Herausforderung und Wissen rund um dieses Thema ist also wichtig. Dieser Beitrag beschreibt zuerst was ein Datenblock ist und dann wie diese entstehen.

Die Definition eines Datenblocks

Zuerst einmal die Basis: In der Speicherform Block Storage und Hybrid Storage werden Daten in sogenannte Datenblöcke gespeichert. Dieses werden gebildet aus den Gespeicherte Elemente (Stored Member) der Dense Dimensionen. Stored Member

In der Abbildung 1 gibt es fiktiv 3 Dimensionen mit jeweils 3 Member. In allen Dimensionen sind 2 Elemente als Store Data oder Never Share definiert. Ein Element in jeder Dimension ist z.B. auf Dynamisch Berechnen eingestellt. Das Datenblock auf der Festplatte/SSD hat dann die Größe der orangen markierten Zellen.

Abbildung 1: Datenblock im Speicher

Wenn der Datenblock in den Speicher kommt, werden die übrigen Zellen, hier grau dargestellt, ausgerechnet und wird der Block also grösser (Expanded Blocksize).

Wenn dieser abgebildete Datenblock in einer Anwendung mit 5 Dimensionen ist, dann kann es einen solchen Datenblock nur fĂĽr die Schnittmenge der Stored Elemente von den restlichen 2 Dimensionen geben.

Beispiel von 2 sparse Dimensionen zu dem oben gezeigten Datenblock.

Customer_A

                Customer_A1

                Customer_A2

                Customer_A3

Product_A

                Product_A1

                Product_A2

                Product_A3

FĂĽr alle Kombinationen aus Customer und Product kann es einen Datenblock geben. Eine Kombination wird dargestellt als Product_A1 -> Customer_A1. FĂĽr diesen kann es nur einen einzigen Block mit den 6 gespeicherten Zellen geben. In jeder Zelle kann nur ein einziger Datenwert aufgenommen werden.

Abbildung 2: Blöcke in Sparse Dimension.

Jeder Datenblock hat dieselbe Struktur von den Zellen her.

Einen Datenblock kann ein Upperlevel Block sein, wenn ein oder beide Elemente ein Knoten ist. Sonst ist es ein Block der Ebene 0.

Technisch kann es sein, dass ein Block keinen Datenwert hat. Dieses ist ein Empty Block.

Entstehen von einem Datenblock

Es gibt eine kleine Anzahl an Möglichkeiten, wie ein Datenblock entsteht.

Import von Daten.

Beim Importieren von Daten in die Datenbank entstehen Blöcke. Wenn es noch keinen Block für die Kombination von Sparse Elementen in der Quelle gibt, dann wird ein Block erstellt. Wenn es diesen schon gibt, dann werden weitere Zellen gefüllt. Gibt es für die Zelle schon einen Wert, dann liegt es an die Importparameter, ob dieser überschrieben, oder der importierte Datenwert addiert bzw. subtrahiert wird. Es kann immer nur ein Wert in einer Zelle geben.

Berechnen von Daten.

Die andere Weise, wie ein Datenblock entstehen kann, ist durch ein Calc Skript. Hier unterscheiden wir verschiedene Berechnungen:

Aggregation

Die Aggregation wird gemacht durch ein Calc Skript mit z. B. CALC DIM (Account); oder AGG(Product);

Hier entstehen nur Upperlevel Blocks, denn es ist immer mindestens ein Knotenelement im Spiel. Wir brauchen uns hier keine Sorgen zu machen, die notwendigen Blöcke werden immer erstellt.

Gleichung

Eine andere Form der Berechnung ist die Gleichung. Diese kann eine Form haben wie Produkt B = Produkt A *1.2;  und in diesem Fall wird der Wert nur geschrieben, wenn es fĂĽr das Ziel, hier Produkt B, schon einen Block gibt. Wenn nicht, dann geht die Berechung ins leere und bringt das falsche Ergebnis.

Eine Lösung ist das Calc Kommando: SET CREATEBLOCKONEQ ON;

Wenn dieses eingesetzt wird, dann schaut Essbase, ob ein Block notwendig ist, und wenn ja, wird einer erstellt. Leider ist dieses aber ein sehr langsamer Prozess und Berechnungen mit diesem Parameter dauern meistens lange. Deshalb sollte dieser nach Möglichkeit nicht eingesetzt werden!

DATACOPY

Der Befehl DATACOPY erstellt auch Blöcke und es können, je nach Definition, Level0 als auch Upperlevel Blöcke entstehen. Beim DATACOPY hat man eine Quell- und einen Zielbereich. Dieses erstellt im Zielbereich Datenblöcke. Dieses ist also auch eine Methode, die oft eingesetzt wird, nicht um Werte zu kopieren, sondern um die benötigten Blöcke zu erstellen.

Wenn ein Block Datenwerte (und eine 0 ist ein Datenwert) hat, dann ist es einfach – es werden Blöcke erstellt. Fertig.

Jetzt geht es aber ins eingemachte…. Ob leere Blöcke aber kopiert werden, ist abhängig von der Setting SET COPYMISSINGBLOCK. In manchen Fällen ist es gewĂĽnscht, dass leere Blöcke entstehen, z.B. wenn danach eine Berechnung kommt mit einer Gleichung, wo diese Blöcke Daten bekommen. In anderen Fällen wollen wir es nicht, denn, je mehr unnötige Blöcke, je ineffizienter die Datenbank.

SET COPYMISSINGBLOCK ON

Wenn die Quelle keinen Block hat und das Ziel auch keinen Block, dann ist das Ergebnis kein Block.

Wenn die Quelle keinen Block hat und das Ziel aber einen leeren Block, dann ist das Ergebnis kein Block.

Wenn die Quelle einen leeren Block hat und das Ziel aber keinen Block, dann wird der leere Block kopiert und gibt es diesen auch im Ziel.

Abbildung 3: Logik von SET COPYMISSINGBLOCK ON

SET COPYMISSINGBLOCK OFF

Wenn die Quelle keinen Block hat und das Ziel auch keinen Block, dann ist das Ergebnis kein Block.

Wenn die Quelle keinen Block hat und das Ziel aber einen leeren Block, dann ist das Ergebnis kein Block.

Wenn die Quelle einen leeren Block hat und das Ziel aber keinen Block, dann ist das Ergebnis kein Block!

Abbildung 4: Logik von SET COPYMISSINGBLOCK OFF

Bei einem DATACOPY werden die Zielwerte ĂĽberschrieben. Wenn man also einen leeren Bereich nimmt, kann man auf diese Weise einfach Bereiche in der Datenbank leer machen.

Fazit

Das Konzept vom Datenblock ist sehr wichtig für den Essbase Entwickler. Gutes Wissen rund um wie Datenblöcke entstehen und wann nicht ist essenziell für gute Calc Skripte. Das kopieren von leere Blöcke ist wichtig zu kennen.

Ihr Philip Hulsebosch

Veröffentlicht in Essbase Verwendete Schlagwörter: , , , , , , ,

ESG-Lösungen in EPM

Es gibt unter den Unternehmen verstärktes Interesse, um über Nachhaltigkeitskriterien oder ESG zu berichten. Die drei Buchstaben E,S & G sind ein Megatrend unserer Zeit und eine fundamentale Transformation der Wirtschaft. Diese Kriterien betreffen das gesamte Unternehmen und eine Aufnahme, Berichterstattung und das Erkennen von Handlungsbedarf erfordert eine gute Softwareunterstützung. Dieser Beitrag zeigt das Oracle EPM Software hier ein gutes Mittel sein kann.

Was ist ESG?

Dieses sogenannte ESG steht fĂĽr Environmental (Umwelt), Social (Soziales), Governance (verantwortungsvolle UnternehmensfĂĽhrung) und versteht sich also viel breiter als Nachhaltigkeit im eigendlichen Sinne. Es reicht vom Klimawandel ĂĽber die Diversität der Belegschaft bis hin zu nachhaltigen Finanzierungsstrategien.  

Das ESG entwickelt sich durch  Gesetzgebung und freiwillige Abkommen von einem Risiko- und Compliance-Thema hin zu einer Wertgenerierung. Es ist also entscheidend, mit diesen Verpflichtungen ein Wachstum, Profitabilität und damit einen höheren Unternehmenswert zu bekommen.

Diese Verpflichtungen sind jetzt noch sehr unterschiedlich und sogar auf internationaler Ebene gibt es verschiedenste Initiativen wie z.B.

  • OECD Guidelines for Multinational Enterprises
  • UN Global Compact and Sustainable Development Goals
  • ISO 26000 Guidance on social responsibility

Eines haben sie gemeinsam – ESG muss also messbar gemacht werden.

Weiterentwicklung von IFRS in ISSB

Die bestimmt bei ihnen bekannte IFRS sind die Grundsätze, nach denen Jahresabschlüsse von Unternehmen erstellt werden müssen. Dahinter steckt die International Financial Reporting Standards Foundation (IFRS Foundation), das die International Financial Reporting Standards (IFRS) entwickelt und überarbeitet.

Nun gibt es seit kurzem aus der IFRS Foundation einen International Sustainabiltiy Standards Board (ISSB).  Dieser entwickelt Grundsätze zur ESG relatierten Berichserstattung.

Eine andere Entwicklung sind die GRI Standards (Global Reporting Initiative), welche auch ein Buchwerk hat wie ESG zu messen und die Berichterstattung auszusehen hat.

Nun ist dieses ein riesengrosser Markt mit einem Umfang von Milliarden Euro und damit auch sehr grossen Interessen von verschiedenen Spielern verbunden. Ähnlich wie in der finanziellen Berichterstattung ist es also noch abzuwarten, wer sich mit welchen Regeln wo durchsetzt.

Oracle EPM (jetzt auch fĂĽr ihre ESG Berichterstattung)

Das EPM steht ja fĂĽr Enterprise Performance Management, also das beinflussen (management) von Leistung (Performance). Dieses gilt auch fĂĽr die Leistung, die erbracht werden soll im Umfeld von Nachhaltigkeit.

Wenn es Gesetze und Normen gibt, dann muss es zuerst messbar gemacht und dann mit Massnahmen verbessert werden. Dieses wird die Aufgabe aller Unternehmen werden. Um diese zu erreichen kommen wir in einen ähnlichen Zyklus oder Prozess wie wir diesen mit gewinn-orientierten Daten haben. Die Software, die hierzu seit Jahren erfolgreich als Unterstützung eingesetzt wird ist Oracle EPM. Es ist eine flexible Software die massgeschneidert eingesetzt werden kann. Ob die Kriterien von ISSB oder GRI Standards führend sein sollen, es können neue Anwendungen entwickelt werden, die ihren Zielen dienen.

 

Zyklus zur ESG Berichterstattung

Abbildung 1: Schritte zur ESG Berichterstattung

Daten aus dem gesamten Unternehmen werden abgerufen und validiert. Diese laufen dann in neue KPI’s und Controller werden diese dann deuten und die Berichterstattung erstellen. Anhand von Strategie und Pläne werden Manager dann Massnahmen und Anpassungen einfĂĽhren.  

Weil es Gesetzgebung und die finanziellen Märkte gibt, werden diese Daten auch ein externes und unabhängiges Audit bekommen. Auch hier bietet die EPM Software eine gute Basis.

Fazit

Der ESG Trend und die Anforderungen an Betriebe, um hierzu Berichterstattung zu haben, bieten eine gute Basis um die EPM Software in diesem Sinne zu erweitern und/oder zu entwickeln.

Ihr Philip Hulsebosch.

Veröffentlicht in EPM & BI, EPM Cloud Verwendete Schlagwörter: , , , , ,

Essbase Properties ĂĽbertragen mit MaxL

Eine Essbase Datenbank hat eine große Anzahl an Eigenschaften, oder auch Properties. Diese sind wichtig für das richtige Funktionieren der Anwendung und auch für die Leistung. Es kommt regelmäßig vor, dass die Properties übertragen werden müssen, zum Beispiel zwischen Test und Produktion oder Datenbanken mit Loadbalancer.

Display Database

Eine der Wege kann MaxL sein, denn hiermit kann man die Properties exportieren. Hierzu gibt es den Befehl

display database <DBSNAME>;

Den Output kann man in eine Datei schreiben lassen. Damit könnte man dann einen Abgleich machen zwischen Datenbanken auf verschiedene Server. Die Unterschiede kann man dann manuell übertragen.

Wenn man aber viele Datenbanken abgleichen will, dann kann man auch ein Excel erstellen, welches MaxL Befehle erzeugt. Wie in Abbildung 1 zu sehen ist, wird der Output in Spalten gebracht.

Abbildung 1: Output vom Befehl display database.

Auf diese Zeile wird ein zweites Excel Blatt referenziert. Hier entstehen mit Formeln die MaxL Befehle, um die Eigenschaften auf die Anwendung zu ĂĽbertragen.

Abbildung 2: Excel mit Formeln zum Generieren der MaxL Befehle.

In Abbildung 3 sieht man das MaxL welches die wichtigsten Properties setzt. Dieses wurde aus der Spalte D kopiert.

Abbildung 3: Kopie aus dem Excel mit MaxL Befehle.

In den nachfolgenden Abbildungen stehen die Referenzen auf die Position in dem Eigenschaften Export.

Abbildung 4: Referenz der Eigenschaft auf Excel Zeile.

Abbildung 5: Referenz der Eigenschaft auf Excel Zeile.

Abbildung 6: Referenz der Eigenschaft auf Excel Zeile.

Ihr Philip Hulsebosch

Veröffentlicht in Bewirtschaftung & Automatisierung, Essbase Verwendete Schlagwörter: , ,

EPM 11.2 Dokumentation auch in Deutsch

Seit kurzem ist die neue Version von Oracle Enterprise Performance Management verfĂĽgbar. Auch fĂĽr diese On-Premise Version gibt es wieder die komplette Dokumentation auch in Deutscher Sprache.

Diese ist zu finden unter dieser URL.

https://docs.oracle.com/applications/help/de/enterprise-performance-management/11.2/index.html

Ich finde die Qualität der Handbücher sehr hoch, und es sieht nicht danach aus, dass diese durch ein Übersetzungsprogramm „gezogen“ wurden, sondern dass wirklich Personen am Werk waren.

Die Werke können im pdf-Format heruntergeladen werden. Ich glaube mich daran zu erinnern, dass wir früher auch .mobi Format hatten, um diese auf einen E-Reader auch in der Sonne lesen zu können. Generell wird .pdf ja auch unterstützt, aber das skaliert nicht gut und ist oft wertlos.

Ich muss zugeben, manchmal fällt es mir schwer, um die richtige deutsche Bezeichnung zu finden. Dann stelle ich oft die Sprache auf Deutsch um, damit ich den Menü-Eintrag oder Fehlerbotschaft richtig aufschreiben kann.

Wenn ich aber im Netz nach Fehlerbotschaften suchen muss, dann habe ich doch gern die Englische Version. Die hat eine deutlich höhere Trefferquote.

Ihr Philip Hulsebosch

Veröffentlicht in EPM - 11.2, EPM & BI, Essbase, Installation, Konfiguration & Tuning

Smart View – Datenbank Abgleich mit Mehrfach-Ad-Hoc-Raster

Wie oft kommt es vor, dass Daten aus zwei Quellen miteinander abgeglichen werden müssen? Doch bestimmt ab und zu. In Smart View können sie auf einem Blatt mehrere Verbindungen erstellen. Diese können auch auf unterschiedliche Anwendungen zeigen.

Es ist eigendlich ganz einfach, nachdem das Excel Blatt an einen Cube verbunden ist und Daten abgerufen wurden, markiert man einen Bereich an Excel Zellen.

Danach verbindet man sich an einer Datenquelle.  

Abbildung 1: Bereich markiert und Erstellen einer Verbindung.

Sie bekommen dann eine Maske mit 4 Optionen. Die unterste Option „Blatt für Mehrfach-Ad-Hoc-Raster verwenden“ sollte dann ausgewählt werden.

Abbildung 2: Auswahl und Option Blatt fĂĽr Mehrfach-Ad-Hoc-Raster verwenden

Abbildung 3: In dem Excel Fenster sehen sie dass 2 Verbindungen bestehen.

Wenn man dann auf die Arbeitsblattinformation geht, dann sieht man nicht wie normal eine Datenquelle genannt, sondern zwei.

Abbildung 4: Arbeitsblattinformation mit zwei Verbindungen auf unterschiedliche Datenbanken.

In Abbildung 5 sehen sie dann die beiden Raster neben einander. Nicht alle Ad-hoc Tätigkeiten sind verfügbar, aber ein Datenabgleich ist sehr viel einfacher. Natürlich kann man dieses auch verwenden für Berichte zu einem Thema, wo die Daten aus verschiedenen Quellen zusammengetragen werden.

Abbildung 5: Ein Arbeitsblatt und Daten aus unterschiedliche Cubes.

Ihr Philip Hulsebosch

Veröffentlicht in Essbase Verwendete Schlagwörter: , , , ,

Informationen zum Smart View Bericht

Haben sie nicht auch ab und zu den Bedarf zu wissen, mit welchem Server oder welche Anwendung ihr Smart View Bericht verbunden ist? Wir gehen dann unter Smart View auf die Blattinfo, um diese Informationen zu sehen. Es geht aber auch anders.

Abbildung 1: Arbeitsblattinformation mit den Verbindungsdaten.

HS Funktionen

Die HS Funktionen wie HSGetValue und andere bieten in Smart View viel power. Sie sind auch einfach zu erstellen und hier wird gezeigt wie dieses geht um Verbindungsparameter auf SmartView zu bekommen, die sich auch automatisch anpassen.

Sie selektieren eine Zelle wo eine Funktion stehen sollte. Auf der Smart View Navigation selektieren sie unten „Mehr“ und dann „Funktion generieren“.

Abbildung 2: Funktion generieren

Danach kommt folgendes Fenster mit einer Auswahl an Funktionen.

Abbildung 3: Die verfĂĽgbaren Funktionen.

Wir wählen für unsere Zwecke die HsGetSheetinfo aus.

Abbildung 4: Auswahl der Blatteigenschaften.

Hier kann man also das Auswählen, was man haben will. In dem Beispiel in Abbildung 5 sind vier Funktionen genommen. Diese sind:

=@HsGetSheetinfo(„URL“)

=@HsGetSheetinfo(„Server“)

=@HsGetSheetinfo(„Application“)

=@HsGetSheetinfo(„Cube“)

Abbildung 5: Darstellung der Funktionen im Bericht.

Beim Aktualisieren werden die Informationen erneuert. Somit kann man Ăśbersicht behalten womit das Arbeitsblatt verbunden ist. Auch wenn es gespeichert oder abgedruckt wird.

Ihr Philip Hulsebosch

Veröffentlicht in Essbase, Planung & Berichtswesen Verwendete Schlagwörter: , , ,

Automatisierte Prozesse mit EPMAUTOMATE

In meinem Beitrag „Erfahrungsbericht: EPM AUTOMATE“ im Jahr 2018 hatte ich Verwendung von diesem Werkzeug schon einmal besprochen. Hierin hatte ich beschrieben, dass es für alle EPM Cloud Produkte verwendet werden kann. In diesem Beitrag beschreibe ich wie Prozesse für die EPM Cloud mit diesem Tool automatisiert werden können. Es ist ein Beispiel, wie es in der Praxis funktioniert.

Automatisierung

Software Anwendungen sollten ohne (viele) manuelle Eingriffe laufen. Anwendungen sind da, um Daten zu verarbeiten, also in der einfachsten Form: Eingabe, Logik hinzufügen und Ausgabe. Weil die Welt sich ständig verändert, sollten sie sich am Besten selbst automatisch anpassen. Wenn es neue Elemente gibt (Kunden, Produkte, etc.) dann sollten diese automatisch hinzugefügt werden oder zumindest sollte der manuelle Aufwand minimal sein. Wenn es dann einmal einen Fehler gibt, sollten dieses einfach zu finden und beheben sein.

Zur Automatisierung werden of Skripte eingesetzt. Die Skriptsprache EPMAUTOMATE ist ein Programm in welchem Kommandos an die EPM Cloud gegeben werden können. Sie wird durch Batch, PowerShell oder anderem aufgerufen. Dieses geschieht durch den Aufruf von epmautomate <kommando> […]

Das Errorhandling, Logdatei Pflege, Loops und „scheduling“ sowie oft komplexe und viele Aufgaben findet lokal in den Skripten statt.

Aufbau fĂĽr Automatisierung

EPM Automate benötigt eine lokale Installation und hat damit auch eine Ordnerstruktur. Es ist ratsam nicht in diese Ordner von EPM Automate zu arbeiten. Die Software bekommt regelmässig Updates und man weiss ja nie, was dort dann passiert. Der Standard Ordner ist „EPM Automate“.

Praktisch ist eine separate Ordnerstruktur zu haben, und darin separate Ordner für Skripte, Logdateien und Dateien mit Bewegungsdaten zu machen. Ich verwende gern „EPM_Automate“ (mit Unterstrich).

Abbildung 1: Vorschlag fĂĽr Ordnerstruktur.

Modular

Weil Skripte andere Skripte aufrufen können, kann Modular gearbeitet werden. So kann man ein Skript zum Login erstellen und ein anderes zum Export der Daten, anstatt in einem Skript alles unterzubringen, also wo zuerst der Login stattfindet und danach der Export. Wenn sich dann der Login wegen einen oder anderen Grund ändert, muss man im modularen Aufbau nur ein Skript anpassen (testen und dokumentieren), in dem anderen fast alle. Modular arbeiten ist in vielen Fällen also weniger Aufwand in der Pflege und lohnt sich um so mehr, je grösser die Anzahl Skripte ist.

Abbildung 2: Schaubild modularer und generischer Aufbau.

Parameter beim Start mitgeben

Skripte sollten mit variable parameter gestartet werden. So hat man in der Regel immer mindestens eine Test und eine Produktionsumgebung. Unter der Verwendung von Verbindungsparametern beim Aufruf der Skripte kann der Inhalt des Skripte gleich bleiben und ändert sich nur die Verbindungsparameter. In Abbildung 3 sind im oberen Teil die Aufrufe für die Testumgebung und darunter die Produktionsumgebung. Die Variablen werden in dem eigentlichen Skript verarbeitet.

Abbildung 3: Modularer Aufbau bei Skripte – oben batch files für Test und Produktion, unten Loginskript mit Variablen.

Emailfunktion

Interessant ist die Email Funktionalität aus der EPM Cloud heraus. Diese kann eingesetzt werden um Logdateien zu sichern oder wenn Prozesse auf einen Fehler stossen, diesen dann an die jeweilige Email-Gruppe senden. Hierbei können auch Beilagen mitgeschickt werden. Nachfolgend ist ein Beispiel.

%EPMAUTOMATEPATH% sendMail %ID% „Email von der EPM-Umgebung %ENVIRONMENT% %DOMAIN% “ Body=“Email von der %ENVIRONMENT%%DOMAIN% wo gerade gearbeitet wird. Beigefuegt eine Exportdatei. “ Attachments=All_Lev0_Export.zip

Processing…

Retrieving status…

sendMail completed successfully

Abbildung 4: Ein (kleiner) Teil aus meiner Emailbox mit der Nachricht.

Abbildung 5: Die Nachricht mit dem Anhang.

Aufrufen von Jobs

EPM Automate kann auch Jobs aufrufen und ausführen. Diese können selbstverständlich auch mit Parameter eingegeben werden. Hierunten ein Beispiel von einem Datenbank refresh.

Abbildung 6: Ein Job zum Refresh der Datenbank

%EPMAUTOMATEPATH% refreshCube Refresh_DB

Processing…

Retrieving status…

refreshCube completed successfully

Details: Refresh Complete.

Nur im EPMAUTOMATE

In der EPM Cloud gibt es Funktionalität, die nur mit dem EPM Automate ausgeführt werden kann. Oft, weil dieses die gesamte Umgebung betrifft, und nicht ausgeführt werden kann, wenn man in der Cloudumgebung angemeldet ist. Dieses sind die folgenden Funktionen:

  • resetService      

Dieses startet die Cloudumgebung neu. Dieses kann notwendig sein, wenn es grössere Probleme gibt oder wenn ein Snapshot zurückgesichert wurde.

  • Recreate

Mit dem Recreate wird ein Snapshot zurĂĽck auf die Umgebung gebracht.

  • renameSnapshot           

Mit dem Rename Snapshot kann man die Snapshot Datei umbenennen. Hiermit wird sie nicht in dem täglichen Prozess überschrieben.

  • downloadFile/uploadFile           

Download oder upload von Dateien grösser als 2 Gb.

  • Replay                

Dieses spielt die ReplayFile, eine Datei die alle Aktivitäten in einer Zeitperiode aufzeichnet, wieder ab. Dieses kann verwendet werden, um Last zu erzeugen, als ob Benutzer auf dem System arbeiten.

  • sendMail

Sendet Emails, eventuell mit Anhänge.

Fazit

Mit EPM Automate können viele Prozesse automatisiert werden, und damit das manuelle Eingreifen stark reduziert werden. Durch gutes Einrichten der Prozesse kann man die Anwendungen in der EPM Cloud mit minimalem Aufwand betreiben. Ich hoffe, mit den Beispielen einen Einblick gegeben zu haben, wie dieses in der Praxis funktioniert.

Ihr Philip Hulsebosch

Veröffentlicht in EPM Cloud Verwendete Schlagwörter: , , ,

Smart View – Ad-Hoc-Raster kann nicht geöffnet werden

Diesen Fehler bekomme ich, wenn ich ein leeres Excel Arbeitsblatt nehme und eine Verbindung mit Planning Smart View mache. Hierzu nehme ich einen Ad-Hoc Abfrage Eintrag direkt aus der „Zuletzt Verwendet“-Liste.

Abbildung 1: Meine Zuletzt Verwendet Liste

Abbildung 2: Fehlerbotschaft dass das Raster nicht geöffnet werden kann

Nach kurzer Zeit bekomme ich die Fehlerbotschaft „Ad-Hoc-Raster kann nicht geöffnet werden, da keine gültigen Datenzeilen vorhanden sind.“ Oder in Englischer Sprache „Ad Hoc grid can not be opened as there are no valid rows of data.”. Nun was jetzt?

Es gibt 2 Lösungen –

Die Lösung ist, ein Mini-Raster zu erstellen mit Monat und Jahr. In Planning wissen wir, dass wir standardmäßig ein FYxx haben. Einen Monat kennt man sicherlich auch aus dem Kopf.

Abbildung 3: Mini-Raster

Damit machen wir ein Aktualisieren des Rasters.

Abbildung 4: Aktualisieren oder Refresh

Die andere Lösung ist unter Optionen > Datenoptionen den Haken bei „Fehlende Blöcke Unterdrücken“ herausnehmen. Diese Option ist ziemlich versteckt wie auf Abbildung 5 zu sehen ist.

Diese Option selbst macht die Abfragen aber schon schneller, also nachdem die Verbindung steht, sollte diese wieder eingestellt werden.

Abbildung 5: Datenoptionen wo die markierte Option ausgeschaltet werden sollte.

Wenn die Verbindung dann steht, gibt es auf der Leiste jetzt einen Eintrag „Planning Ad Hoc“ und es erscheint die POV mit den anderen Dimensionen. Damit ist die Ad-Hoc Verbindung über den Planning Provider gemacht.

Abbildung 6: Verbindung ist jetzt erstellt.

Ihr Philip Hulsebosch

Veröffentlicht in EPM - 11.2, EPM & BI, Essbase Verwendete Schlagwörter: , , ,

Planungsanwendung mit SmartView verwenden

Eine Planungsanwendung kann aus dem Smart View mit zwei unterschiedliche Verbindungstypen verwendet werden. Eine ist der Planning Smartview Provider und der andere ist der Essbase Smartview Provider. Beide haben ihre eigene Funktionalität und je nach Zweck verwende ich den einen oder den anderen.

Selbst verwende ich gern „Private Verbindungen“, denn diese geben mir Flexibilität zwischen den Servern und den Providern. In Abbildung 1 sehen sie 3 Schnellverbindungen: die erste ist eine Verbindung mit dem Essbase Smartview Provider und die zweite ist eine Planning Smartview Provider URL.

Abbildung 1: Schnellverbindungen mit Essbase und Planning Provider URL

Die Kommunikation geht, wie sie sehen via Webprotokoll. Die URL kann bei ihnen vielleicht etwas anders aussehen, je nach Installation und Konfiguration, z.B. mit Portnummern. Generell sind diese aber so:

Essbase       <server>/aps/SmartView

Planning    <server>/HyperionPlanning/SmartView

Planning Smartview Provider

Wenn sie sich an den Planning Verbindung anmelden, sehen sie, im Gegensatz zu einer Essbase Verbindung, nur Planning Anwendungen. Eine Verbindung über Planning bietet alle Funktionen die auch in der Weboberfläche zu finden sind. So sieht man die Formulare, Aufgabenlisten und die Business Rules. Auch hier gibt es einen Ad-Hoc Option die in der Abbildung 2 als Plan1 gekennzeichnet ist.

Abbildung 2: Planning Smart View Provider

Nachdem die Verbindung zustande gekommen ist, erscheint die Planning Ad-hoc Leiste, wo viele der Funktionalität mit der von Essbase übereinstimmen.

Abbildung 3: Planning Ad-hoc Leiste

In dem Planning gibt es die Option das Smartview als Ad-Hoc Raster in Planning zu speichern. Dann wird dieses auch in der Web Oberfläche sichtbar und kann als solches auch dort verwendet werden.

Es gibt aber noch einige Zellenaktionen die spezifisch von Planning sind. Vorallem die Historie ist darin interessant, denn diese zeigt wie der Wert dieser Zelle sich hat verändert.

Abbildung 4: Zellenaktionen in Planning.

Ein sehr wichtiger Unterschied ist, dass in einer Planning Verbindung die Essbase Calc Skripte und die Business Rules sichtbar sind, wo es in der Essbase Verbindung nur Calc Scripte zur Auswahl gibt.

Abbildung 5: Skripte und Regeln

Im Essbase Provider gibt es generell keine Prompts, auch wenn diese als Essbase Business Rules angelegt sind!

Essbase Smartview Provider

Unter der Essbase Smartview Provider Verbindung findet man sowohl die Essbase als auch die Planungsanwendungen. Dieses kann manchmal zu Verwirrung fĂĽhren.

Mit der Essbase Anwendung hat man keine weitere Planungsfunktionalität und

Abbildung 6: Essbase Provider Verbindung.

Die Leiste einer Essbase Ad-Hoc Verbindung, auch wenn sie auf eine Planungsanwendung geht, ist in Abbildung 7 dargestellt. Sieh hat fast dieselben icons.

Abbildung 7: Essbase Ad-hoc Leiste

Eine Besonderheit hat Essbase und das ist die SmartSlice Funktion. Hierzu sollte ich mal einen separaten Blog-Beitrag schreiben.

Mit der Essbase Verbindung kann man auch in die Planungsanwendung Daten hochladen, dazu muss aber zuerst die Rolle „Essbase Write Access“ zugewiesen werden. Zum Lesen reicht unter dem Essbasecluster die Rolle „Server Access“ aus.

Abbildung 8: Rollen fĂĽr den Zugriff mit der Essbase Verbindung.

Fazit

Eine Planungsanwendung kann mit zwei unterschiedliche Smart View Provider verwendet werden. Mit der Planungsverbindung hat man alle Funktionen aus Essbase und Planning. Mit der Essbase sind diese etwas eingeschränkt, aber der Vorteil ist, dass man mit einer Verbindung, Zugriff auf alle Cubes hat.

Ihr Philip Hulsebosch

Veröffentlicht in Essbase Verwendete Schlagwörter: , , , ,

LCM im Einsatz fĂĽr Planning

LifeCycleManagement, welches of nur mit der Abkürzung „LCM“ genannt wird, ist Teil der Foundation Services und dieser Beitrag erklärt einiges rund um dieses wichtige Werkzeug.

Export und Import

Die Foundation Services und damit auch LCM sind nur mit dem Administrator Account zu erreichen. Mit LCM kann man Artefakte (Objekte) der Anwendung exportieren und importieren – und zwar alle. Das Format welches erstellt wird is XML.

Dieses bietet für den Admin und Entwickler natürlich viele Möglichkeiten und hier sind einige Beispiele:

  • Export von der Anwendung als Backup (ja es lässt sich auch automatisieren)
  • Import (von einem Teil) der Anwendung.
  • Export von einem Object welches nach Anpassung wieder importiert wird.
  • Export von einem Artefact(en), um Eigenschaften zu sehen und miteinander zu vergleichen.

Abbildung 1: XML Datei von den Application Properties

Die beiden Abbildungen 2 und 3 zeigen die lange Liste der Auswahl einer standard Planning Anwendung. Einige Einträge sind nicht geöffnet. Hier befinden sich dann die Anwendungsspezifischen Objekte wie die jeweiligen Compostite Forms dieser Anwendung.

Der Reihe nach

Ich werde die jeweiligen Teile hier der Reihe nach besprechen.

Configuration

Als erstes sind die Properties da. Dieses sind die Anwendungseigenschaften wie in welchem Jahr die Anwendung anfängt und andere Basis Einstellungen. Praktisch, um hier nachzusehen was nicht immer deutlich in dem Webbrowser gezeigt wird.

Dann haben wir de Adhoc Options, User Preferences und User Variables von den Benutzern. Diese sind praktisch, wenn es Probleme gibt und etwas sollte umgestellt werden.

Essbase Data

Diese Option ist in jüngeren Versionen nicht mehr enthalten. Dieses sind die Essbase Daten als Binäre Export Datei. Zum eins zu eins Übertragen von Daten gut, aber sonst unbrauchbar.

Global Artifacts

Die Artifacts sind entweder Global oder einem Plantyp zugeordnet. Hier gibt es oft Verwirrung, wo steht das Object nun…

Calculation Manager Rule Sets können Calculation Manager Rules von verschiedenen Plan Typen aufnehmen, deshalb sind es Global Artifacts.

Common Dimensions. Dieses sind die Dimensionen die mehreren Plantypen zugeordnet sind, wie die Standarddimensionen Accounts, Period, Year, Entity, Version und Szenario.

Composite Forms  können Forms von verschiedenen Plantypen haben. Deshalb sind die auch unter den Global Artifacts zu finden. Dashboards, Report Templates, Smart Lists und Task Lists gibt es auch Plantype ĂĽbergreifend.

Abbildung 2: Erster Teil der LCM Auswahl

Eine Besonderheit sind die Substitution Variables, diese können sowohl auf Applikationsebene als auch auf Datenbank (Plantype) Ebene existieren. Das ist zwar nicht praktisch, aber technisch möglich.

Plan Type

Die Liste unter den Plan Typen ist sehr auf Essbase Orientiert mit Attribute Dimensions, Calc Scripts, Rule files (ja die kann man also doch nach XML exportieren) und Standard Dimensions.

Hier sind aber nicht die Standard Dimensions gelistet, sondern nur die Dimensionen die es in diesem Plantyp gibt.

Abbildung 3: Zweiter Teil der LCM Auswahl

Relational Data

In dem zweiten Teil gibt es dann auch noch die Relational Data, mit allen Daten, die nicht in Essbase gespeichert werden können.

Dieses ist auch sehr praktisch, um Einsicht zu haben wie dieses durch die Benutzer verwendet wird und wenn es Probleme in diesem Bereich gibt.

Als letztes sind die Zugriffsrechte zu sehen. Hier ist viel codiert und man sollte vorsichtig sein Änderungen vorzunehmen.

Export einer Planungsanwendung

Wenn eine Anwendung exportiert wird, dann wird ein Zip-Datei mit zahlreichen XML Dateien erstellt und in dem Workspaceordner abgelegt. In dem Ordner „info“ befindet sich eine Datei Listing.xml welches ein Inhaltsverzeichnis der Objekte ist. Dieses kann sehr praktisch sein, um Anwendungen zu vergleichen oder Objekte schneller zu finden.

Wenn wir uns die Datei ansehen, fällt auf, dass der Inhalt auf eine Zeile gebracht ist.

Abbildung 4: Inhalt der XML Datei.

Mit einem Editor wie Notepad++ kann dieses aber schnell formattiert werden. Wir suchen die Trennung der Felder >< , setzen einen Zeilenumbruch dazwischen > /r < und erhalten dann eine Liste.

Abbildung 5: Suchen und ersetzen

Danach setzen wir noch ein Trennzeichen vor LastUpdated und modifiedBy.

Abbildung 6: Setzen von Trennzeichen.

Und erhalten jetzt eine Liste der Exportierten Objekte aus der Anwendung die in Excel weiter verarbeitet werden kann.

Abbildung 7: Liste der Objekte in der Anwendung.

Fazit

LifeCycleManagement ist ein wichtiges Werkzeug fĂĽr den Administrator und Entwickler zum Export und Import von (Teilen) einer Anwendung. Ein Extrakt kann mit einem guten Editor schnell angepasst werden, um mir noch Detailinformation zu geben.

Ihr Philip Hulsebosch

Veröffentlicht in Installation, Konfiguration & Tuning Verwendete Schlagwörter: , , ,