Qlik Community

New to Qlik Sense

Discussion board where members can get started with Qlik Sense.

baarathi
Contributor II

How to reset a variable

LastUpdatedDate:

       Load

            max(Date("Date of Joining")) as MaxDate

            FROM  /*lib://QVDs/abc.qvd(qvd);*/ [lib://QVDs/Employee.xls]

      (biff, embedded labels, table is Sheet1$);

Let varThisExec = Date(Now());

Let varLastExec = date(MaxDate);

drop table LastUpdatedDate;

if ('$(varTemp)'=1) then    

   Qvd:

        LOAD

          "First Name",

          "Last Name",

          "Date of Joining",

          Designation,

          Location,

          Salary,

          ID

      FROM [lib://QVDs/Employee.xls]

      (biff, embedded labels, table is Sheet1$)

      Where "Date of Joining" > '$(varLastExec)';

       Store Qvd into [lib://QVDs/abc.qvd](qvd);

      Let '$(varTemp)'=0;

endif

Drop Table Qvd;

LastUpdatedDate:

       Load max(Date("Date of Joining")) as QvdDate

        FROM  lib://QVDs/abc.qvd(qvd);

Let varQvdDate = date(QvdDate);

Temp:

        LOAD

            "First Name",

            "Last Name",

            "Date of Joining",

            Designation,

            Location,

            Salary,

            ID

FROM [lib://QVDs/Employee.xls]

(biff, embedded labels, table is Sheet1$)

Where "Date of Joining" > '$(varQvdDate)';

Concatenate

          LOAD * from lib://QVDs/abc.qvd(qvd)

where not Exists(ID);

inner join

Load ID FROM [lib://QVDs/Employee.xls]

(biff, embedded labels, table is Sheet1$);

if ('$(ScriptErrorCount)') = 0 then

Store Temp into [lib://QVDs/abc.qvd](qvd);

Let varLastExec = '$(varThisExec)';

Let varQvdDate = '$(varThisExec)';

endif

After, Each execution of this script I want to reinitialize varLastExec date to current date.

3 Replies
MVP
MVP

Re: How to reset a variable

Not sure I understand. The first part of your code overwrites varLastExec.This code is probably not working as I see a few issues. Can you clarify a little more what you are trying to do?

Logic will get you from a to b. Imagination will take you everywhere. - A Einstein
baarathi
Contributor II

Re: How to reset a variable

Jonathan, Actually what I want is, During the next reload of the script, I need varLastExec = varThisExec ( previous reloaded time).

Employee
Employee

Re: How to reset a variable

As mentioned by Jonathan your script is not accurately formed.

Essentially a variable value is stored in the app after successful reload. So to get the previous variable value, simply grab it before it is overwritten.

LET varLastExec = varThisExec;

LET varThisExec = Today();

Also notice that Date(Now()) does not give you an accurate date value, it will be a timestamp containing date and time. This is likely to cause you logical issues when using the value in comparisons. Today() will return the current date, or use Now() it you are looking for the timestamp.

Community Browser