Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Ich möchte im QlikSense in einem Tabellendiagramm für drei unterschiedliche Zeiträume eine Kennzahl in % rechnen.
Das ist die einfache Formel, welche mir den ausgewählen Zeitraum rechnet...
avg(aggr(count(distinct If([SalesLine.ShippingDateRequested] >= SalesLine.ShippingDateConfirmed,SalesLine.ShippingDateConfirmed,Null())) /
count(distinct [SalesLine.InventTransId]),[SalesLine.RecId]))
Ich würde gerne von "today" weg in drei Spalten die Kennzahl für die letzten 3, 6 und 9 Monate darstellen.
Leider bin ich mit meinen Versuchen bisher gescheitert. Vielleicht liegt es an der Aggregierung....
Kann mir da jemand einen Tipp geben?
Ich würde vor den Quotenberechnungen erstmal schauen, ob sich die absoluten Anzahlen für die gewünschten Metriken ermitteln lassen. Weiterhin würde ich versuchen, die Datumsabgleiche nicht bzw. nicht komplett in der Oberfläche abzubilden, sondern bereits im Datenmodell, z.B. mit Logiken wie:
sign(Datum1 - Datum2) as Flag,
Datum1 - Datum2 as DatumOffset,
class(Datum1 - Datum2, 30) as OffsetCluster
Möglicherweise könnte man hiermit auch die zeilenbasierte If-Logik der aggr() umgehen und die Quoten mit Set Analysis Bedingungen berechnen.
Abgesehen hiervon, wäre zu klären, gegen welchen Datums-Wert (Heute, Datum1, Datum2) die Relationen gezeigt werden sollen.
Hallo Marcus, Danke für den Input!
Die Datumsabgleiche im Datenmodell zu machen, daran habe ich auch schon gedacht, nur muss ich mich mit den entsprechenden Funktionen erst vertraut machen.
Da die Berechnung an der Oberfläche, so wie ich sie oben dargestellt habe, funktioniert, dachte ich, es geht auch so 😉
Die Datumswerte stehen in keiner Relation zueinander. Hier wird nur für jeden bestimmten Zeitraum (3,6,9 Monate) das Verhältnis der positiv bestätigten Liefertermine zu den Wunschterminen in Relation zu den Gesamtpositionen errechnet.
Für sowas könnte eine ähnlich geartete Flag-Generierung ausreichend sein und dann etwas wie:
count({< Flag = {1}>} distinct Pos) / count(distinct Pos)