Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
merry2018
Creator III
Creator III

Wie den Wert vom 1. eines Monats auch an den folgenden Tagen verwenden

Hallo Zusammen,

ich hätte mal wieder eine Frage und zwar habe ich für den ersten Tag im Monat einen Wert in der Tabelle, aber für die restlichen Tage nicht, obwohl der Wert immer je Monat hinterlegt ist.

Aussehen tut es folgendermaßen, wenn ich eine Tabelle mit dem Datumsfeld und Wert mache:

DatumWert
01.01.201850
01.02.201860
01.03.201880
01.04.201830
01.05.201840
..........

Aber eigentlich ist der Wert immer dem Monat zugeordnet.

Mein Problem ist das ich jetzt für die folgenden Tage im Monat auch diesen Wert verwenden möchte, aber dort gibt es mir nur immer 0 zurück, also z. b. folgend:

DatumWert
01.01.201850
02.01.20180
03.01.20180
04.01.20180
05.01.20180
..........
01.02.201860
02.02.20180
03.02.20180
......

Wer hat eine Idee dass ich auch am 2,3,4,5 usw. Januar den Wert vom 1. Januar bekomme?

Ich bin dankbar um jede Hilfe.

Grüße Merry

1 Solution

Accepted Solutions
marcus_sommer

Vom Ansatz her könnte man auch eine Interrekord-Funktion wie: above(Wert) im Diagramm nutzen (benötigt sicher noch die eine oder andere If-Schleife), denke aber, dass es auch mit einem TOTAL funktionieren sollte, also in etwa so: sum(TOTAL <Monat> Wert).

- Marcus

View solution in original post

4 Replies
Frank_Hartmann
Master II
Master II

Hi Merry,

probiere es mal so:

Data:

LOAD * INLINE [

    Date, MyValue

    01.01.2018, 50

    01.02.2018, 60

    01.03.2018, 80

    01.04.2018, 30

    01.05.2018, 40

    ];

MinMaxDate:

     Load Min(Date) as MinDate, Max(Date) as MaxDate resident Data;

     Let vMinDate = Peek('MinDate',-1,'MinMaxDate') - 1;

     Let vMaxDate = Peek('MaxDate',-1,'MinMaxDate')    ;

Join (Data)

     Load Date(recno()+$(vMinDate)) as Date Autogenerate vMaxDate - vMinDate;

Rates:

NoConcatenate

Load Date,

     If( IsNull( MyValue ), Peek( MyValue ), MyValue ) as MyValue

Resident Data

Order By Date ;

Drop Table MinMaxDate, Data;

merry2018
Creator III
Creator III
Author

Ich hätte eigentlich bevorzugt es in dem Diagramm selber zu machen, also z.b. mit Set Analyse oder so?

Gibt es damit nicht auch eine Idee, ansonsten werde ich es wohl im Script machen müssen.

Versucht bzw. überlegt hatte ich z.b. in folgender Art: sum({<Monat={"$(=Month(Datum))"}>} Wert) aber das klappt eben noch nicht.

Danke und Gruß

Insa

marcus_sommer

Vom Ansatz her könnte man auch eine Interrekord-Funktion wie: above(Wert) im Diagramm nutzen (benötigt sicher noch die eine oder andere If-Schleife), denke aber, dass es auch mit einem TOTAL funktionieren sollte, also in etwa so: sum(TOTAL <Monat> Wert).

- Marcus

merry2018
Creator III
Creator III
Author

Super das hat geklappt so, also mit if(Monat=Month(Datum), sum( total Wert)).

Danke!