DynaRange: Dimension dynamisch wählen, z.b. per Dropdown-Element?

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • DynaRange: Dimension dynamisch wählen, z.b. per Dropdown-Element?

    Hallo,

    seit kurzem beschäftige ich mich mit Jedox.
    Dabei habe ich einige Berichte eines zuvor benutzten Auswertungstools nachgebaut. Diese Berichte sind stets wie folgt aufgebaut:
    - Vertikale DynaRange Dimension 1
    - Darunter / darin weitere vertikale DynaRange Dimension 2
    - Darunter / darin weitere vertikale DynaRange Dimension 3
    - zu Dimension 3 Anzeige diverser Attribute in den Zellen daneben.
    Es sind also 3 DynaRanges verschachtelt.

    Es gibt ca 20 Berichte, welche exakt so aufgebaut sind und sich lediglich in der Wahl von Dimension 1 und Dimension 2 des Würfels unterscheiden, es sind also jeweils andere Gruppierungen / Gliederungen im Bericht.

    Nun kann ich natürlich meinen Bericht kopieren und jeweils die anderen Dimensionen im DynaRange wählen. Das macht aber enormen Wartungsaufwand, denn eine Änderung im Bericht muss manuell in mehr als 20 anderen Berichten nachgezogen werden.

    Daher meine Frage: Gibt es eine Möglichkeit, ein DynaRange anzulegen und zu sagen, die Dimension kann durch den Berichts-Nutzer gewählt werden? Z.B. dass man zwei Dropdown-Elemente einbaut, welche die verfügbaren Dimensionen eines festen Würfels enthalten und dass man in der DynaRange sagt, nimm die im Dropdown gewählte Dimension für die Berichtsanzeige.

    Danke für Tipps und Hinweise!

    The post was edited 1 time, last by fnsl ().

  • Soweit ich weiß, ist das nicht möglich und im Allgemeinen auch nicht sinnvoll.

    Kurz zur Erklärung: Grundsätzlich kannst sehr viele Einstellungen in einer DynaRange variabel gestalten. In der Regel immer dann, wenn in der DynaRange-Konfiguration eine Variable einfügbar ist.
    Nun steht bei der Auswahl der Dimension in der Konfiguration keine Variabilisierungsmöglichkeit. Den Grund, den ich dafür sehe, ist, dass die Dimensionen eines Würfels sich im Allgemeinen komplett unterscheiden.
    Würde man die Auswahl der Dimension variabilisieren können, so müssten alle weiteren Einstellungen wie A-Filter, D-Filter,... in der DynaRange mitgeändert werden. Aber wie soll das automatisch funktionieren, wenn sich die Dimensionen technisch komplett unterscheiden? Ein weiteres Argument ist, dass andere Berichtelemente mit den Ergebnissen von DynaRanges (also Elementen einer Dimension) weiterarbeiten können. Ändert sich diese Dimension nun dynamisch, müssten die nachgelagerten Elemente, die diese Ergebnisse nutzen, auch mit den Elementen der neuen Dimension umgehen können. Das ist zum Beispiel im Falle eines Datenfilters in dem nachgelagerten Elements, der die erste DynaRange als Quelle für eine Dimension nutzt i.A. nicht möglich.

    Ich würde also eher sagen, dass das aus diversen Gründen nicht möglich ist. Vielleicht hat noch jemand eine andere Idee?
  • Hi,
    this is possible. However, you need to manually edit the Subset-Formula used for the DynaRange, i.e. switch it from type "Subset" to "Formula"; and then you can replace the static string that specifies the used dimension (e.g. "Months") with your desired "picker" source (e.g. ComboBox1 named range, or some variable, cell reference etc.). If the value of ComboBox1 changes (users selects a different value in CB), the DynaRange treats this like any other change of its formula and updates the list.

    However, all the constraints described by p.hildebrandt in the previous post do apply - specific filters such as DFilter, AFilter etc. will most probably only work with one specific dimension, and the overall workbook / formula design needs to account for possible dimension change in the dynarange(s), which is probably far from trivial.
  • Wow! Great! Thank you.

    In cell G16 I wrote the dimension as text.

    =PALO.SUBSET("localhost/DWH_XXX",$G$16,1,,PALO.HFILTER(,false,false,,,,,2,2),,,,,PALO.SORT(1,0,,0,,0,1))

    works fine

    =PALO.SUBSET("localhost/DWH_XXX",G16,1,,PALO.HFILTER(,false,false,,,,,2,2),,,,,PALO.SORT(1,0,,0,,0,1))

    does not work.

    I would prefer G16 as reference, otherwise I'll have to chance the formula every time I change layout (add lines etc.)

    Is this a bug? Or do I use it the wrong way?
  • So, ich habe versucht, das anzugehen, bin allerdings nun leider gescheitert. Vielleicht habe ich aber auch einen Denkfehler.

    Mein Vorgehen / Idee:
    - in einem zweiten Tabellenblatt speichere ich alle möglichen Kombinationen, welche ein Bericht haben können soll. In Spalten 1 udn 2 habe ich zuerst beide Dimensionen, welche für das Dynarange herangezogen werden, benannt (funktioniert auch), dahinter jeweils die einzelnen Werte, welche für die PALO.DATAC-Funktion verwendet werden sollen.
    - meine Datenfunktion sieht so aus: =PALO.DATA("localhost/DWH_XXXX";"XXXXXX";B10;Konfiguration!D4;Konfiguration!E4;Konfiguration!F4;Konfiguration!G4;Konfiguration!H4;Konfiguration!I4;Konfiguration!J4;Konfiguration!K4;Konfiguration!L4;Konfiguration!M4;Konfiguration!N4;Konfiguration!O4;Konfiguration!P4) - B10 bezieht sich auf das immer gleich bleibende, dritte Dynarange.
    - im Blatt Konfiguration sind die Werte jeweils benannt, es ist dort quasi eine Matrix vorhanden mit einer Zeile je Berichts-Ausprägung.
    - in der Spalte einer Dimension, welche für's Dynarange verwendet wird, hätte ich wiederum einen Verweis auf das Dynarange: =Bericht!B8 als Beispiel.
    Theoretisch müsste je Berichtsausprägung, welche aktiviert ist, dann entsprechend der Bericht sich aufbauen. Leider aber scheinen die vielen Querverweise nicht zu funktionieren. Die richtigen Werte werden nicht angezogen, obwohl theoretisch immer die Referenzen richtig sind.

    Schade, aber es sollte wohl nicht sein ;)

    Vielen Dank für die Hilfe. Falls noch jemand einen Tipp hat, was ich falsch gemacht haben könnte, wäre ich darüber natürlich dankbar!