Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
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

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.