Kurze Erklärung zu 'kumulativ'
Kumu-was? Eigentlich ganz einfach, dabei handelt es sich um Werte, die sich aufeinander aufsummieren. Noch nicht verstanden? Hier ein Beispiel:Wir haben Kosten von jeweils 100 Euro in den Monaten Januar bis März gehabt. Damit haben wir im März insgesamt Kosten von 300 Euro. Eine kumulative Darstellung wäre in diesem Fall also wie folgt:
Januar - 100 €
Februar - 200 €
März - 300 €
Dies wird im Finanzwesen immer mal wieder benötigt.
Wie stellen wir das Ganze also nun in einem Diagramm dar?
Folgende Regeln gilt es zu beachten:- das Diagramm muss eine Privottabelle sein.
- die Formel darf nicht in einer Variablen stehen (das habe ich getestet, funktioniert leider nicht :-( )
- die Werte müssen numerisch sein
Angenommen, in der Dimension der Privottabelle stehen die Kostenträger/Konten/oder ähnliche sowie die Monate (welche wir in der Privot-Tabelle geschickt nach oben ziehen), dann sieht die Formel so aus:
=rangesum(before(sum( Kosten),0,ColumnNo()))
Nehmen wir das Konstrukt von innen heraus auseinander:
sum( Kosten) - soweit klar, die Summe aller Kosten für die entsprechende Spalte, in der wir uns befinden (zum Beispiel März).
before(sum( Kosten),0,ColumnNo()) - jetzt wirds spannend. Die Syntax before( [ total ] formel [ , startwert [,n ]] ) erklärt es beinahe. In unserem Fall greifen wir auf die aktuelle Spalte März zu (wegen der 0), nehmen den Wert (unsere Summe aller Kosten, per Beispiel 100 €) und alle vorigen Werte auch (ColumnNo() = 3, da wir in Spalte März sind).
Wir produzieren also eine Menge, welche die Werte der aktuellen Spalte und alle davor (Januar und Februar) beinhalten. Damit können wir so aber noch nichts gescheites anstellen. QlikView wirft uns dabei halt den ersten Wert aus dieser Menge vor die Augen. Mit dieser Menge hat man jetzt die Basis für Mengenfunktionen.
Da wir diese Menge aber miteinander summieren wollen, benötigen wir noch rangesum() Damit werden die (in unserem Beispiel 3) Werte summiert. Je nach Spalte, da wir dies mit ColumnNo() steuern, kommt dann auch der richtige Wert heraus. Hierbei ist es wichtig, dass die Werte numerisch sind.
Man könnte an dieser Stelle auch rangeavg() benutzen, um einen Durchschnittswert der Menge je Spalte zu errechnen.
Guten Qlik und eine schöne Woche!
