Rule for copying cube data for planning

      Rule for copying cube data for planning

      Hi at All,

      I have a pretty complicated problem.
      I imlemented several ETL Jobs which are importing Turnover data from several sources into one database.
      Due to several reasons the data are always updated. As a consequence all information belonging to the adressed cube are deleted and new imported daily.
      Now I want to create plan figures in that cube. Therefore I created a dimenson datatype with the elements "actual" and "planned".
      If I now do some planning inside of the turnover cube those plan figures will be deleted afer the import of the new turnover data :(
      Due to this I thought about creating another cube (planning cube) which is identical with the turnover cube but all data are not imported by the ETl Jobs but by a business rule.

      My Idea is:
      If some new actual data have been imported to the turnover cube those data should be transfered to the planning cube.
      If I create plan figures in the planning cube those figures should be written into the turnover cube.

      the problem is that I do not have any clue how to manage this. I think this is possible by using business rules but unfprtunately I did not find out how to do such a job.

      I really hope someone could help me with this.
      Best regards

      Roman
      There is no need to think complicated.
      You can only use one cube (for actual and budget).

      But you have to edit the deletion part of the ETL process.
      I guess you are using cube slices to delete data.
      In the cube slice simply filter the data to be sliced to only "actual" in the datatype dimension.
      In consequence you dont to "delete" the whole cube overnight but only the values on "actual" as a element of dimension datatype.

      This is a pretty common task.

      Regards,
      Peer
      Da du auch aus Berlin kommst wie ich gehe ich mal davon aus dass du auch deutsch sprichst daher meine Antwort mal auf deutsch :)
      Vielen Dank schonmal für deine Hilfe.
      Es ist so, dass ich die Daten über den Cubeload UPDATE einspiele, welcher seiner Natur nach leider die Daten komplett raussschmeißt und dann ersetzt. Dies ist auch leider nicht anders lösbar.
      Demnach kann ich leider nicht nur einen Teil des Würfels ersetzen :(
      Hallo Blumbak,

      wie Peer gesagt hat ist es eine sehr übliche Aufgabe: sagen wir mal dass dein Würfel so aussieht:

      Regions;Jahr;Datatype;Kennzahl;#Value
      France;2015;1;Planning;Turnover;120
      France;2015;2;Planning;Turnover;140
      France;2015;3;Planning;Turnover;100
      France;2015;1;Actual;Turnover;160
      France;2015;2;Actual;Turnover;150
      France;2015;3;Actual;Turnover;90

      die 3 ersten Zeilen müssen nicht raus. Die 3 letzten müssen schon vor der Beladung gelöscht werden.

      update modus löscht praktisch alles und ladet alles neu. Das passt in dem Fall nicht. Man muss ein "Teilupdate" machen.

      Du musst ein CubeSlice Extrakt verwenden, der die Actual Daten abfragst, und dieses CubeSlice wird als Quelle für ein Delete Load verwendet.
      Dann kannst du deine Daten laden, aber entwender mit Modus add (die Daten werden dann aggregiert beim Load) oder insert (aber dann müssen deine Daten schon aggregiert sein, ansonsten wird immer nur den letzen Wert importiert)

      Hoffe das hilft!

      laloune
      laloune

      Post hoc, non est propter hoc

      laloune wrote:

      Hallo Blumbak,

      wie Peer gesagt hat ist es eine sehr übliche Aufgabe: sagen wir mal dass dein Würfel so aussieht:

      Regions;Jahr;Datatype;Kennzahl;#Value
      France;2015;1;Planning;Turnover;120
      France;2015;2;Planning;Turnover;140
      France;2015;3;Planning;Turnover;100
      France;2015;1;Actual;Turnover;160
      France;2015;2;Actual;Turnover;150
      France;2015;3;Actual;Turnover;90

      die 3 ersten Zeilen müssen nicht raus. Die 3 letzten müssen schon vor der Beladung gelöscht werden.

      update modus löscht praktisch alles und ladet alles neu. Das passt in dem Fall nicht. Man muss ein "Teilupdate" machen.

      Du musst ein CubeSlice Extrakt verwenden, der die Actual Daten abfragst, und dieses CubeSlice wird als Quelle für ein Delete Load verwendet.
      Dann kannst du deine Daten laden, aber entwender mit Modus add (die Daten werden dann aggregiert beim Load) oder insert (aber dann müssen deine Daten schon aggregiert sein, ansonsten wird immer nur den letzen Wert importiert)

      Hoffe das hilft!

      laloune

      Besser hätte ich es auch nicht beschreiben können.
      Wie der Erklärung von laloune zu entnehmen, ist es jedenfalls nicht nötig über zwei oder mehr Cubes nachzudenken.

      Im Prinzip kannst du mit den Cube Slice-Extrakten und den anschließenden Deletes dieser Slices jeden gewünschten Bereich aus einem Cube "herausschneiden".

      Viele Grüße,
      Peer
      Hi an Euch,

      vielen Dnak schonmal für die hilfreichen Tipps.
      Ich habe das mitlerweile wie folgt umgesetzt:
      Beim Laden der Daten werden nach hinzufügen der actuals in den finalen Cube die Umsatzactuals in den Plancube übertragen Modus INSERT. Insert geht halt leider immer erst, wenn die Daten im Cube aggregiert wurden.
      Die PLanung wird dann manuell im Planungswürfel erstellt und ebenfalls nach dem erneuten Load per INsert Formel vom Planungscube in den finalen Cube zurückgeschrieben.
      Dadurch sind beide Würfel synchron obgleich der PLnaungswürfel nicht geupdated wird.

      Der Grund hierfür ist, dass ich aktuell keine andere Lösung sehe um ein Teilupdate meiner Umsatzeinspieljobs durchzuführen.
      Vielelicht habt Ihr dahingehend aber ne Idee.
      Ausgangssituation:
      Die Umsätze werden über verschiedene TXT und CSV (mit verschiedenen Strukturen erfasst), welche im Moment monatlich erneuert werden.
      Es ist gewünscht, dass der manuelle Aufwand was das verschieben und kopieren der umsatzdateien an geht extrem gering sein soll.
      Genauer: Die Dateien werden ins Zielverzeichnis verschoben und sollen dort verbleiben.
      Nun sollen diese Umsätze einfach täglich neu importiert werden, um später ein Skript zu hinterlegen, welches die Umsatzdateien automatisiert in die Zielverzeichnisse (möglichst täglich) ablegt. Natürlich sollen bereits erfasste Monate nicht erneut importiert werden, sondern nur die neuen Informatioenn hinzugefügt werden.
      Gibt es irgendwie eine Möglichkeit z.B. beim Load zuvor abzufragen:
      Wenn(im Cube bereits Jahr+Monat erfasst wurden DANN füge diese Werte nicht hinzu SONST füge die Werte hinzu)
      Die Funktion INSERT fällt für die Nutzung leider ebenfalls aus, da die Zeilen der Umsatzeinspieler teilweise identisch sind und daher viele Werte fehlen.

      Ich danke euch bereits vorab für eure Hilfe!

      BG Roman