Qlik Community

QlikView Scripting

Discussion Board for collaboration on QlikView Scripting.

Announcements
QlikView Fans! We’d love to hear from you.
Share your QlikView feedback with the product team… Click here to participate in our 5-minute survey.
Rules, plus terms and conditions, can be found here.
shawnklar
New Contributor II

Only recent data show (by date) - Nur neuesten Datensatz zeigen (nach Datum)

Hello There,

I have a problem and I remember this time absolutely nothing a:

I have a file with multiple contracts. The contracts have a maturity date (LaufzeitBis) and among others a version of the (also a date).

I can select a specific contract with maturity date with YEAR, MONTH and DAY. (z. B .: All contracts with maturity date 31.12.2015).

Then I get:

Contract Period Date Version

1 31.12.2015 04.01.2015

1 31.12.2015 06.07.2015

1 31.12.2015 17.06.2015

I want now but displayed only the last (latest) version of get (ie from 17.06.2015), all others are not to be displayed.

This should be done more or less automatically, without further manual selection, since later a killer table with contracts is read.

Does anyone have a good idea?

greeting

Peter

Translated with Google Translate - Qlik Community Administrative Team

Hallo,

ich habe ein Problem und mir fällt diesmal absolut nichts ein:

Ich habe eine Datei mit mehreren Verträgen. Die Verträge haben ein Laufzeitdatum (LaufzeitBis) und unter anderem eine Version vom (ebenfalls ein Datum).

Ich kann mit YEAR, MONTH und DAY einen bestimmten Vertrag mit Laufzeitdatum selektieren. (z. B.: alle Verträge mit Laufzeitdatum 31.12.2015).

Dann bekomme ich:

Vertrag  Laufzeitdatum  Version

1               31.12.2015     01.04.2015

1               31.12.2015     07.06.2015

1               31.12.2015     17.06.2015

Ich möchte jetzt aber nur die letzte (aktuellste) Version angezeigt bekommen (also die vom 17.06.2015), alle anderen sollen nicht angezeigt werden.

Das soll quasi automatisch ohne nochmalige manuelle Selektion erfolgen, da später eine Mördertabelle mit Verträgen eingelesen wird.

Hat jemand eine gute Idee?

Gruß

Peter

1 Solution

Accepted Solutions
MVP
MVP

Re: Nur neuesten Datensatz zeigen (nach Datum)

Hab vielleicht noch eine einfachere Lösung gefunden:

INPUT:

LOAD KundeNr & Vertrag as Key,

  KundeNr,

     Vertrag,

     LieferungVon,

     Day(LieferungVon) as Tagvon,

     Month(LieferungVon) as Monatvon,

     Year(LieferungVon) as Jahrvon,

     LieferungBis,

     Day(LieferungBis) as Tagbis,

     Month(LieferungBis) as Monatbis,

     Year(LieferungBis) as Jahrbis,

     Wert,

     Version

FROM

Test.xlsx

(ooxml, embedded labels, table is Tabelle1)

;

LOAD *, Key as KeyChecked RESIDENT INPUT

WHERE NOT EXISTS(KeyChecked, Key)

ORDER BY KundeNr, Vertrag, Version desc

;

DROP TABLE INPUT;

10 Replies
MVP
MVP

Re: Nur neuesten Datensatz zeigen (nach Datum)

Mir ist nicht ganz klar, was du genau willst.

Nach Selektion von Vertrag und Laufzeitdatum sollte

=Date(max(Version))

dir die letzte Version liefern.

Re: Nur neuesten Datensatz zeigen (nach Datum)

You should do (in the script) something like

Load

...

Max(Version)

From

...

Where

...

Group by Laufzeitdatum

MVP
MVP

Re: Nur neuesten Datensatz zeigen (nach Datum)

Du willst das schon im Ladeskript filtern? Dann ähnlich wie von Alessandro vorgeschlagen, nur würde ich nach Vertrag (und Laufzeitdatum?) gruppieren:

LOAD

     Vertrag,

     Laufzeitdatum,

     Date(max(Version)) as Version,

     FirstSortedValue(WeiteresFeld, -Version) as WeiteresFeld,

     ...

FROM YourTableSource

GROUP BY Vertrag, Laufzeitdatum;

shawnklar
New Contributor II

Re: Nur neuesten Datensatz zeigen (nach Datum)

Ich hänge die Testdatei mal an.

Vielleicht wird es dann etwas verständlicher.

Mit dem =Date(max(Version)) hatte ich es schon probiert, aber vielleicht habe ich den Befehl an einem völlig falschen Ende eingebaut.

shawnklar
New Contributor II

Re: Nur neuesten Datensatz zeigen (nach Datum)

Kann man hier nichts hochladen?

Ich habe es noch nie gemacht, aber mir wird diese Gruppe nicht als Empfänger angeboten....

MVP
MVP

Re: Nur neuesten Datensatz zeigen (nach Datum)

Einfach den letzten Post editieren, dann sollte man direkt im 'advanced editor' landen, der hat rechts unten einen Button um Attachments anzuhängen. Oder den Link oben rechts im Editorfenster benutzen, um vom 'einfachen' Editor zum 'advanced' Editor zu gelangen.

shawnklar
New Contributor II

Re: Nur neuesten Datensatz zeigen (nach Datum)

So, habe die beiden Dateien mal hochgeladen.

Ich bekam gestern hier im Forum nur Fehlermeldungen und sollte mich andauernd neu anmelden.

Eure Lösung hatte ich mal ausprobiert, aber es kam dauernd ein Fehler hoch.

Ich habe sie aus dem Dokument (dem Hochgeladenen) wieder entfernt.

So ganz scheine ich das noch nicht verstanden zu haben.

Peter

shawnklar
New Contributor II

Re: Nur neuesten Datensatz zeigen (nach Datum)

Ich bekomme immer die Fehlermeldung "Invalid expression".

MVP
MVP

Re: Nur neuesten Datensatz zeigen (nach Datum)

Hab vielleicht noch eine einfachere Lösung gefunden:

INPUT:

LOAD KundeNr & Vertrag as Key,

  KundeNr,

     Vertrag,

     LieferungVon,

     Day(LieferungVon) as Tagvon,

     Month(LieferungVon) as Monatvon,

     Year(LieferungVon) as Jahrvon,

     LieferungBis,

     Day(LieferungBis) as Tagbis,

     Month(LieferungBis) as Monatbis,

     Year(LieferungBis) as Jahrbis,

     Wert,

     Version

FROM

Test.xlsx

(ooxml, embedded labels, table is Tabelle1)

;

LOAD *, Key as KeyChecked RESIDENT INPUT

WHERE NOT EXISTS(KeyChecked, Key)

ORDER BY KundeNr, Vertrag, Version desc

;

DROP TABLE INPUT;

Community Browser