Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Intervall (von- bis) in einzelne Datumswerte umwandeln

Hallo zusammen,

versuche mir irgendwie das Scripting in QlikView und beizubringen habe folgenden Fall:

Eine Krankheitsliste mit Personalnr. und Krank_von und Krank_bis.

Nun benötige ich jedoch nicht den Krank_von und Krank_bis, sondern die einzelnen Krankheitstage als Datum angezeigt.

z.B. Personalnr. 1111, und dann die Krankheitstage als Datum, also der 01.01.2018, der 02.01.2018, der 03.01.2018 bis zum 31.05.2018. Kann ich dies nach Scriptausführung in einer Dimension angezeigt bekommen?

Dies benötige ich für die komplette Liste, also eine Umwandlung des von - bis in einzelne Krankheitstage als Datum.

Zusätzlich würde ich das Datum 31.12.2099 in dem heutigen Datum umwandeln wird, sobald es in der Liste auftaucht.

 

Personalnr.   Von              Bis

1111             01.01.2018   31.05.2018

2222             11.11.2018   30.12.2018

……………………………….

Habe BEREITS etwas vom INTERVALL-Match Gehört, aber es nicht hinbekommen.

Könnte mir hier jemand behilflich sein?

Danke im Voraus.

Peter

 

4 Replies
Gysbert_Wassenaar

Vielleicht so etwas:

LOAD
    [Personalnr.],
    Von,
    Bis,
    Von + IterNo() -1 as Datum
FROM
    ...Quelle...
WHILE
    Von + IterNo() - 1 <= RangeMin(Bis, Today())
    ;

talk is cheap, supply exceeds demand
Anonymous
Not applicable
Author

Hallo Gysbert, 

danke für deine Mühe, aber irgendwie komme ich damit nicht weiter.

Habe mal deinen Scripting-Vorschlag folgendermaßen eingegeben:

LOAD [Personalnr.],
Nachname,
Vorname,
von,
bis,
von + IterNo() -1 as Pers_Sontiges.Datum,
Bezeichnung as Pers_Sonstiges.Fehlgrund_Text,
Kürzel,
Ausfalltext,
von + IterNo () - 1 <= RangeMin (bis, today ())

FROM [C:\Users\Pedroh5\Desktop\ClinicPlanner_Fachklinik\Ausfall.xlsx] (ooxml, embedded labels);

 

-> Erhalte aber nichts brauchbares außer ein Datumsfeld in Nummerformat und eine -1 als RangeMin etc.

Anonymous
Not applicable
Author

Wie gesagt benötige ich für die Krankheitsdauer einer Personalnr. eine Umwandlung des von bis zu einzelnen Krankheitstagen, sodass ich mehrere KrankheitsTage einer Personalnr. sehen kann, wenn ich diese auswähle.

Also Ausgangsstatus: Personalnr. X - Krank von 01.01.2018 bis 31.01.2018  

gewünschtes Ergebnis: Personalnr. X - 01.01.2018. 02.01.2018 ..... 31.01.2018 als Datumsdimension

                                               

Gysbert_Wassenaar

Na klar. Du hast die WHILE nicht hinzugefugt.

LOAD 
    [Personalnr.],
    Nachname,
    Vorname,
    von,
    bis,
    von + IterNo() -1 as Pers_Sontiges.Datum,
    Bezeichnung as Pers_Sonstiges.Fehlgrund_Text,
    Kürzel,
    Ausfalltext   
FROM 
    C:\Users\Pedroh5\Desktop\ClinicPlanner_Fachklinik\Ausfall.xlsx] 
    (ooxml, embedded labels)
WHILE
    von + IterNo() - 1 <= RangeMin(bis, today())
    ;

talk is cheap, supply exceeds demand