2016-06-28 2 views
-1

ich eine Reihe von Terminen haben, zB .:QlikView: Hier finden Sie den nächsten Termin vor dem aktuell ausgewählten Datum

20160628 
20160627 
20160623 
20160620 

Wenn ich ein bestimmtes Datum auswählen, ich das Datum unmittelbar vor diesem Datum finden wollen .

Zum Beispiel:

  • Wenn ich 20160628 wählen, bekomme ich 20160627.
  • Wenn ich 20160627 wählen, ich 20160623.
  • bekommen Wenn ich 20160623 wählen, bekomme ich 20160620.

Gibt es eine Möglichkeit, dies in QlikView zu tun?

+0

Wo möchten Sie es "bekommen"? In einem Textobjekt? – mickeger

+0

Der einfachste Weg, dies zu tun, ist in Ihrem Laden Skript und +1 zu Ihrem Datum! Dies wird alles an einem Tag verschieben. Es hängt jedoch ganz davon ab, was Sie erreichen wollen. Versuchen Sie, das angezeigte Datum zu ändern, wählen Sie das Datum in einem Diagramm aus? Einige weitere Informationen sind erforderlich, bevor eine Antwort gegeben werden kann. –

Antwort

0

Ich erwarte, dass Sie mit jedem Tag mehr als eine Reihe von Daten haben werden, also werde ich diese INLINE Daten als Beispiel:

BASETABLE: 
    LOAD * INLINE [ 
     myDate,myType 
     20160628,A 
     20160628,B  
     20160627,C 
     20160627,D 
     20160627,E  
     20160623,F 
     20160623,G 
     20160623,H   
     20160620,I 
     ]; 

Jetzt werden wir von einem Beginn der Erstellung sehr dumm temporäre Tabelle mit allen einzigartigen Daten, die zur Verfügung stehen:

UNIQUE_DATE: 
    LOAD Distinct myDate Resident BASETABLE order by myDate; 

Wir können nun eine neue Tabelle erstellen, die alle bestehenden Termine und der Korrespondent letzte Datum enthalten:

PREVIOUS_DATE: 
    LOAD myDate, Previous(myDate) as myPrevDate Resident UNIQUE_DATE order by myDate; 

Der Trick ist der Befehl Vorherige und die Tatsache, dass wir die Tabelle von myDate bestellen. Schließlich können Sie die UNIQUE_TABLE fallen, wird es nicht mehr benötigt werden:

DROP TABLE UNIQUE_DATE; 

Sie werden mit dem Feld myDate am Ende (das Original) und der myPrevDate, das enthält, was (glaube ich) Sie sind erwartet.

Verwandte Themen