Prozente berechnen in den Spalten einer Pivottabelle mit mehreren Dimensionen. Das kann sich als sehr tricky darstellen.
Diese Aufgabe wurde mir gestellt von einem Kunden, dabei bin ich auf den Artikel Percent of column for pivot tables with multiple dimensions gestossen.
Der Verfasser hatte das selbe Problem wie ich, und konnte es lösen und etwas beleuchten.
Der Verfasser hatte das selbe Problem wie ich, und konnte es lösen und etwas beleuchten.
Es gibt da ein paar Stolperfallen und spezielles verhalten. Schaut euch die Formeln nach dem Bild an.
Wie sich welche Formel verhält ist in der Pivot-Tabelle oben aufgelistet.
Column 1 zeigt eine einfache Summen Formel da wird alles normal summiert wie erwartet in einer Pivot.
Column 2 ist eine erste Prozent-Berechnung anhand dem Feld PLAYS, dabei wir die Summe von PLAYS gebildet und durch das Total PLAYS geteilt.
Diese Berechnung Zeigt alle Prozentwerte die für alle Dimensionen, wobei alle PLAYS 100% sind.
Column 3 Gruppiert die Berechnung der Prozentwerte nach der ersten Dimension, das heisst das alle Werte der ersten Dimension immer 100% sind.
Das Total der ersten Dimension ist dadurch mehr als 100%!
Column 4 nun kommt der Mix aus allen Kombinationen vorher, Es sollen die Prozentwerte der Ersten Dimension ermittelt werden, das heisst 100% sind alle PLAYS.
Dabei sollen aber die Prozent Werte der Dimension 2 Prozentual verteilt werden, Dimension 1 ist dann 100% und der Rest wird vertiellt.
Formeln
Column 1sum(Plays)
Column 2 Sum(Plays)/ Sum(Total Plays)
Column 3 Sum(Plays)/ Sum(Total <Dimension1> Plays)
Column 4 if(Dimensionality() = 1, Sum(Plays)/ Sum(Total Plays), Sum(Plays)/ Sum(Total <Dimension1> Plays))
Fazit
Die Prozentwerte in Pivot-Tabellen sind etwas speziell zu behandeln, aber in Qlik Sense ist fast alles möglich. Mann muss nur nach einer Lösung suchen.
So ist es auch mit den Formeln weiter oben zu sehen.
Das Verhalten ist logisch und kann nach vollzogen werden, aber man muss es einfach wissen wie es geht.
Dieser Artikel ist nicht von mir erstellt worden, dieser stammt aus der Community und wurde von mir übersetzt und bereit gestellt. Danke an den Ersteller.