Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Ich möchte eine KPI erstellen:
Auszuwertender Zeitraum: YearMonth des maximalen Datums im Feld [Date Created] (z.b. wenn Maximum in [Date Created]=20.08.2019, dann soll nur 2019-Aug ausgewertet werden)
Feld [Cluster] soll ein bestimmter Wert sein, z.B. "Cluster1"
Die KPI soll in der Zählung über das Feld [ID] bestehen (Distinct nicht nötig, da [ID] immer unique ist)
Die KPI soll auf Selektionen nicht reagieren.
Habe es mit:
=Count({1<[Date Created.autoCalendar.YearMonth] = {"=Date(max([Date Created]), 'YYYY-MMM')"}+[Cluster]={"Cluster1"}>} ID)
versucht, funktioniert aber nicht.
Kann mir jemand weiter helfen?
Danke!
=Count({1<[Date Created.autoCalendar.YearMonth] = {"=Date(max([Date Created]), 'YYYY-MMM')"}, [Cluster]={'Cluster1'}>} ID)
...die Beschränkung auf das höchste auftretende YYYY-MMM funktioniert leider nicht, die KPI liefert stattdessen den Wert für die aktuelle Selektion.
Setze mal die Ignorierung der Datumsselektion auch in die max(), wie:
=Count({1<[Date Created] = {"=Date(max({1} [Date Created]), 'YYYY-MMM')"}, [Cluster]={'Cluster1'}>} ID)
oder
=Count({1<[Date Created] = {"=Date(max({< [Date Created] = >} [Date Created]), 'YYYY-MMM')"}, [Cluster]={'Cluster1'}>} ID)
- Marcus
....habe beide Varianten probiert, es bringt leider keine Lösung. Die Selektion auf das max-Datum YYYY-MMM funktioniert einfach nicht. Mit der 1 in der Klammer bekomme ich stets die Anzahl pro Cluster über den Gesamtzeitraum, ohne die Anzahl pro Cluster über den selektierten Zeitraum....
Markus
Was mir gerade noch auffällt ist, dass für die Set Analysis Bedingung keine adhoc-Variable genutzt wird - das ist nicht immer zwingend erforderlich, häufig aber doch, also probiere mal:
=Count({1<[Date Created] = {"$(=Date(max({1} [Date Created]), 'YYYY-MMM'))"}, [Cluster]={'Cluster1'}>} ID)
Aus Deiner Antwort entnehme ich aber, dass diese max-Berechnung nicht global, sondern im Kontext der Dimensionen erfolgen soll. Das geht mit einer klassischen Set Analysis nicht, da diese im Prinzip einer Selektion entspricht. Wenn man sowas trotzdem so ähnlich umsetzen möchte, könnte man es so probieren:
=Count({1<[Date Created] = {"=[Date Created]=max([Date Created])"}, [Cluster]={'Cluster1'}>} ID)
Es hängt aber immer auch vom Datenmodell ab, ob dass so funktioniert oder nicht.
- Marcus
Funktioniert leider auch beides nicht...
[Date Created] und [Cluster] sind als Dimensionen angelegt. Count([ID]) als Kennzahl.
Die gewünschte KPI soll die Kennzahl für eine bestimmte Selektions-Kombination der beiden Dimensionen (max YYYY-MMM und Clusterwert) anzeigen und dabei eben nicht auf die Selektionen in den Diagrammen reagieren. Eine ganz gewöhnliche KPI mit count([ID]) kann ich per Diagrammselektion auf den gewünschten Wert einstellen.
Alle Werte stehen in einer einzigen Tabelle, ID ist wie gesagt unique, daneben kommen alle möglichen Datumswerte sowie eine Zuordnung in ein Cluster vor.
Eine KPI mit =Date(max([Date Created]), 'YYYY-MMM') liefert zwar den gewünschten Wert für den Zeitraum, jedoch lässt sich dieser nicht als Selektionskriterium verwenden.
Kurz und umgangssprachlich: zähle alle IDs im zuletzt aufgetretenen Monat/Jahr die im Cluster1 liegen....
Danke für Deine bisherigen Bemühungen, vielleicht hast Du ja noch eine Idee.
Markus
So richtig ist mir noch nicht klar, mit welchen Daten welches Ergebnis erzielt werden soll. Das oben erwähnte max-Datum berücksichtigt das Cluster jedenfalls nicht, dass müsste man gegebenenfalls da noch mit hinzufügen, wie:
Date(max({< [Cluster]={'Cluster1'} >} [Date Created]), 'YYYY-MMM')
Darüber hinaus, dass Ergebnis von dieser max-Berechnung ist ein einzelnes Datum und nicht ein Jahr-Monat Zeitraum, das Datum ist nur dahingehend formatiert.
- Marcus
Das oben erwähnte max-Datum war bloß eine andere KPI die ich erstellt habe um das Auslesen des max-Datums zu testen.
Mein Ziel ist jedoch:
"zähle alle IDs im zuletzt aufgetretenen Monat/Jahr die im Cluster1 liegen"
Im letzten Absatz gibst Du mir jedoch den entscheidenden Hinweis, nämlich dass hier mit der Date-Funktion nur eine Formatierung erreicht wird und somit eine Selektion auf den Jahr-Monat-Zeitraum nicht möglich ist. Daran liegt es mit Sicherheit: Qlik formatiert also den max-Datumswert als YYYY-MMM, behält als Selektionskriterium jedoch den ursprünglichen Datumswert.
Man braucht also eine andere als die Datumsfunktion um nach dem max Jahr-Monat Zeitraum zu selektieren.
Ich werde suchen, bin jedoch auch für Vorschläge dankbar!
Markus
Am Besten ist es einen Master-Kalender zu nutzen, der alle benötigten Felder, wie KW, Monat, Jahr, fortlaufende JahrMonat, Perioden, Flags usw. beinhaltet - und das sowohl mit formatierten (dual) Werten als auch mit rein numerischen Werten. Bei Dir wäre es jetzt wohl einfach: max(JahrMonat).
Mehr Info's hierzu gibt es hier: How-to-use-Master-Calendar-and-Date-Values
- Marcus