Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
NoeAutEur
Contributor
Contributor

Problem mit Set Analysis, Datum und Inputs

Liebe Leute,

Folgendes Problem in Qlik-Sense:
Über 2 Variablen Inputs (Input boxes) frage ich 2 Datumswerte vFrom und vTo im Format DD.MM.YYYY ab.
Daraus soll ein Zeitraum ermittelt werden und zusätzlich sollen die beiden Variablen für eine Set Analysis benutzt werden: Es sollen Zählungen von ID-Nummern in eines bestimmten Typs (hier: C) und im Datumsbereich zwischen vFrom (vStart) und vTo (vEnd) durchgeführt werden.

Die Auswertung des Zeitraumes funktioniert problemlos:
=Date(MakeDate(num(right('$(vTo)',4)),num(mid('$(vTo)',4,2)),num(left('$(vTo)',2))),'DD.MM.YYYY')-
Date(MakeDate(num(right('$(vFrom)',4)),num(mid('$(vFrom)',4,2)),num(left('$(vFrom)',2))),'DD.MM.YYYY')
...liefert die Zeitdifferenz in Tagen (passt perfekt).

Danach werden 2 weitere Variablen zugewiesen:
vStart = Date(MakeDate(num(right('$(vFrom)',4)),num(mid('$(vFrom)',4,2)),num(left('$(vFrom)',2))),'DD.MM.YYYY')
vEnd = Date(MakeDate(num(right('$(vTo)',4)),num(mid('$(vTo)',4,2)),num(left('$(vTo)',2))),'DD.MM.YYYY')

Nur die Set Analysis funtioniert einfach nicht:
=Count({$<[TYPE]={'C'}>}+{$<[DATE]={">=$(vStart)"}>}+{$<[DATE]={"<=$(vEnd)"}>}[ID_NUMBER])

Ergebnis der Kennzahl ist stets ein "-"

Irgendwelche Ideen?

Danke, Markus

2 Replies
marcus_sommer
MVP
MVP

Die Input-Variablen scheinen ein normales Datum von DD.MM.YYYY abzubilden. Sofern auch das Standard-Datumsformat der Anwendung (Interpretationsvariablen am Skript-Beginn) diesem entsprechen, benötigt man keine Extrakt + Matching-Maßnahmen der Einzelteile, um damit in Qlik-Formel zu arbeiten. Insofern sollte das hier direkt, ohne nochmalige Variablen-Zuweisung, ausreichen:

=Count({$<[TYPE]={'C'}, [DATE]={">='$(vFrom)'<='$(vTo)'"}>} [ID_NUMBER])

- Marcus

NoeAutEur
Contributor
Contributor
Author

Danke für den Hinweis, ich habe noch länger probiert und bin zu folgender (funktionierender) Lösung gekommen:

Count({$<[TYPE]={'C'}>*$<[DATE]={"$(='>=' & Date(vFrom,'DD.MM.YYYY'))$(='<=' & Date(vTo,'DD.MM.YYYY'))"}>}[ID_NUMBER])

 

Werde mir aber alle Lösungswege nochmals in Ruhe durchsehen.