Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
Douwe_KB
Contributor II
Contributor II

Sick leave durations per employee

Hi there,

 

I am currently trying to implement a function which calculates the sick leave durations for employees. For example if an employee has 3 sick leave periods, I want it to store these periods seperately.

 

I now have the following code, which does work somewhat but it does not do what I want it to do, as it does not show the sick leave periods seperately. Could anybody help me out? 

 

TEST:

LOAD *,
     If([Ziekte Status] = 'Ziek' and not IsNull(Datum),
          If(Previous([Ziekte Status]) = 'Ziek' and not IsNull(Previous(Datum)) and Previous(Naam) = Naam,
              Peek('OpeenvolgendeAantalDagenZiek') + 1,
              1),
          0) as OpeenvolgendeAantalDagenZiek,
     If([Ziekte Status] <> 'Ziek' and not IsNull(Datum),
          If(Previous([Ziekte Status]) <> 'Ziek' and not IsNull(Previous(Datum)) and Previous(Naam) = Naam,
              Peek('OpeenvolgendeAantalDagenNietZiek') + 1,
              1),
          0) as OpeenvolgendeAantalDagenNietZiek,
     If([Ziekte Status] = 'Ziek' and not IsNull(Datum),
          If(Previous([Ziekte Status]) = 'Ziek' and not IsNull(Previous(Datum)) and Previous(Naam) = Naam,
              If(Peek('OpeenvolgendeAantalDagenZiek') + 1 > Peek('MaxAantalDagenZiek'), Peek('OpeenvolgendeAantalDagenZiek') + 1, Peek('MaxAantalDagenZiek')),
              1),
          0) as MaxAantalDagenZiek,
     If([Ziekte Status] <> 'Ziek' and not IsNull(Datum),
          If(Previous([Ziekte Status]) <> 'Ziek' and not IsNull(Previous(Datum)) and Previous(Naam) = Naam,
              If(Peek('OpeenvolgendeAantalDagenNietZiek') + 1 > Peek('MaxAantalDagenNietZiek'), Peek('OpeenvolgendeAantalDagenNietZiek') + 1, Peek('MaxAantalDagenNietZiek')),
              1),
          0) as MaxAantalDagenNietZiek
          
Resident Expeditie
Order By Naam, Datum;



LOAD 
OpeenvolgendeAantalDagenNietZiek,OpeenvolgendeAantalDagenZiek,
     If(OpeenvolgendeAantalDagenZiek >= 0 and OpeenvolgendeAantalDagenZiek <= 7, '0-7',
        If(OpeenvolgendeAantalDagenZiek >= 8 and OpeenvolgendeAantalDagenZiek <= 42, '8-42',
            If(OpeenvolgendeAantalDagenZiek >= 43 and OpeenvolgendeAantalDagenZiek <= 365, '43-365',
                If(OpeenvolgendeAantalDagenZiek >= 366 and OpeenvolgendeAantalDagenZiek <= 1825, '366-1825', 'Other')
            )
        )
     ) as Verzuimduurklasse
          
Resident TEST
Order By Naam;

 

Thanks!

Labels (4)
0 Replies