Qlik Community

QlikView Creating Analytics

Discussion Board for collaboration related to Creating Analytics for QlikView.

Not applicable

Aktuellen Datumswert fixieren

Hallo,

ich würde gerne aus dem Feld 'Datum' immer das aktuellste Datumsfeld in einer setAnalysis benutzen.

Über den Ausdruck =max(Date(Datum)) erhalte ich im Ausgangsstatus zwar den aktuellsten Datumswert, jedoch wird dieser natürlich abhängig von der Auswahl verändert. Das sollte nicht passieren! Mit jedem Ladevorgang soll nur der aktuellste Datumswert vorliegen. Möglichweiser könnte man im Script eine neues Feld schaffen welches nur den aktuellen Datumswert beinhaltet??

Grüße und Danke

1 Solution

Accepted Solutions

Re: Aktuellen Datumswert fixieren

Dann mit 1 in der Section Access:

=sum({$<Datum= {'$(=date(Max({1< Kunde = {"$(=GetFieldSelections(Kunde))"}>} Datum)))'}>}Betrag)

- Marcus

12 Replies

Re: Aktuellen Datumswert fixieren

Probier mal etwas wie max({1} Datum)

- Marcus

Not applicable

Re: Aktuellen Datumswert fixieren

Ich werde etwas konkreter.

Ich besitze eine Dimension 'Datum' und die Formel 'sum(Betrag)'. Das Ziel ist es in einer einfachen TextBox eine Differenz zwischen dem neusten Datumswert und eine Datumswert den ich gewählt habe anzuzeigen.

Wie muss die Formel in der TextBox gestaltet werden?

=sum({<Datum= {/*aktuelles Datum*/}>}Betrag) - sum(Betrag)

Irgendwie in diese Richtung?

Re: Aktuellen Datumswert fixieren

Hallo Thomas,

wie Marcus_Sommer schon sagte, liefert max({1} Datum) das aktuellste Datum unabhängig vom Selektionsstatus.

Eine Lösung könnte also z.B. sein:

=Money(Sum({$<Datum={'$(=Max({1} Datum))'}>} Betrag)-Sum(Betrag))

QlikCommunity_Thread_147377_Pic1.JPG

QlikCommunity_Thread_147377_Pic2.JPG

QlikCommunity_Thread_147377_Pic3.JPG

Gruß

Marco

Not applicable

Re: Aktuellen Datumswert fixieren

Vielen Dank für diese umfangreiche Antwort.

Ich habe versucht das bei mir nachzustellen, allerdings erhalte ich bei dieser Formel...

=Sum({$<Datum={'$(=Max({1}Datum))'}>}Betrag)

Grundsätzlich den Wert 0! Ich weiß aber absolut nicht warum!

Am max(Datum) ist der Wert -108,85 hinterlegt.

Um meine Anforderungs abzuschließen müsste ich diese Berechnung allerdings noch auf Grundlage eines jeweiligen Kunden durchführen. Also das Feld Kunde beinhaltet verschiedene Kunden (A,B,C,D,....) kann ich das auch berücksichtigen in der Formel? Irgendwie mit getfieldselections??

Viele Grüße

EDIT: Ich habe meinen Datensatz auf das Beispiel von dir angewendet und dann geht es auch nicht! Liegt das an einem falschen Datumswert??? IN der Excel Datei ist aber ganz normal 01.01.2015 usw...

Re: Aktuellen Datumswert fixieren

Möglicherweise gibt es für max({1} Datum) auch keinen Betrag, z.B. wenn auch Daten mit zukünftigen Zeiträumen, wie Planzahlen in der Anwendung existieren. Gib also mal max({1} Datum) in einer Textbox aus. Dann siehst Du auch, welches Format zurückgegeben wird, denn auch dieses muss in der Set Analysis identisch sein. Siehe hierzu, wie auch zur Einbeziehung von getfieldselections() die Links:

http://community.qlik.com/thread/137079

http://community.qlik.com/message/460944#460944

Schöne Grüße

Marcus

Not applicable

Re: Aktuellen Datumswert fixieren

Wenn ich max({1}Datum) eingebe erhalte ich 41996 und das entspricht dem 23.12.2014! Das ist auch richtig an diesem Tag ist ein Wert von -108,85 angegeben.

Wenn ich das hier angebe

=sum({$<Datrum= {'23.12.2014'}>}Betrag)

erhalte ich das korrekte Ergebnis!

EDIT: Ich glaube ich habs! Habe in der Formel (=date(Max...) gesetzt, damit der Wert als Datumswert ausgegeben wird!

Re: Aktuellen Datumswert fixieren

Das zeigt, dass das Format nicht passt: 23.12.2014 und 41996 matcht nicht in einer Set Analysis, Du benötigst daher noch ein date() in der Formel:

=Sum({$<Datum={'$(=Date(Max({1}Datum), 'DD.MM.YYYY'))'}>}Betrag)

- Marcus

Not applicable

Re: Aktuellen Datumswert fixieren

Ich habe irgendwie keinen Zugriff auf die GetSelectedField Links.

Die Formel =sum({$<Datum= {'$(=date(Max({1}Datum)))'}>}Betrag)   

scheint ja jetzt zu funktionieren. Um das ganze zum Abschluss zu bringen fehlt allerdings noch etwas.

Ich möchte die Möglichkeit haben unter dem Feld Kunden einen jeweiligen Kunden auszuwählen und die Formel soll an dieser Stelle dann für den ausgewählten Kunden den letzten Datumswert und damit in Verbindung den Betrag ausgeben.

Im Moment ermittle ich ja den max(Datumswert) aller Datumswerte!

Ich vermute das es mit der

=GetFieldSelections(Kunde)

möglich ist. Allerdings ist mir nicht wirklich klar wie ich diesen Ausdruck über die set Analysis in die obige Formel einbaue.

Ich hoffe du kannst mir erneut helfen =) Schonmal vielen Dank!!!

Re: Aktuellen Datumswert fixieren

Probier es mal so:

=sum({$<Datum= {'$(=date(Max({< Kunde = {"$(=GetFieldSelections(Kunde))"}>} Datum)))'}>}Betrag)

Die Links kannst Du sehen, wenn Du der http://community.qlik.com/groups/german-user-group beitritts.

- Marcus

Community Browser