<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Using Dates in variables in a script in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/Using-Dates-in-variables-in-a-script/m-p/205588#M713555</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;got these results:&lt;/P&gt;&lt;P&gt;2011-01-01 - 2011-04-04&lt;BR /&gt;week 201052 is from 2010-12-27 to 2011-01-03&lt;BR /&gt;week 201101 is from 2011-01-03 to 2011-01-10&lt;BR /&gt;week 201102 is from 2011-01-10 to 2011-01-17&lt;BR /&gt;week 201103 is from 2011-01-17 to 2011-01-24&lt;BR /&gt;week 201104 is from 2011-01-24 to 2011-01-31&lt;/P&gt;&lt;P&gt;--- Script Finished ---&lt;/P&gt;&lt;P&gt;changes to be made:&lt;/P&gt;&lt;P&gt;1. use the floor() command to force your dates into being seen as numbers by qlikview. thsi just makes all date maniplutaion a lot less stress free. Did this to vStartDate, vEndDate and vWeekStart&lt;/P&gt;&lt;P&gt;2. when you need to see these "dates" as dates - ie when using trace to see your results or when naming your qvd file - then use the date() comand.&lt;/P&gt;&lt;P&gt;here is your reworked script&lt;/P&gt;&lt;P&gt;//Define the total period I should extract data for.&lt;BR /&gt;let vStartDate = floor(makedate(2011,01,01));&lt;BR /&gt;let vEndDate = floor(weekstart(today()-3)); //Thursdays the data is updated.&lt;BR /&gt;let vTrace=date($(vStartDate)) &amp;amp; ' - ' &amp;amp; date($(vEndDate));&lt;BR /&gt;trace $(vTrace);&lt;BR /&gt;//trace $(vStartDate) - $(vEndDate);&lt;BR /&gt;&lt;BR /&gt;//Now prepare for running the first week&lt;BR /&gt;//Make sure that the first date is a Monday. I want to extract full weeks.&lt;BR /&gt;//Also, get the weekname for this date in the format YYYYWW.&lt;BR /&gt;let vWeekStart = floor(weekstart($(vStartDate)));&lt;BR /&gt;let vNextWeekStart = $(vWeekStart) + 7;&lt;BR /&gt;let vWeekName = weekyear($(vWeekStart))*100 + week($(vWeekStart));&lt;BR /&gt;let vTrace='week ' &amp;amp; $(vWeekName) &amp;amp; ' is from ' &amp;amp; date($(vWeekStart)) &amp;amp; ' to ' &amp;amp; date($(vNextWeekStart));&lt;BR /&gt;trace $(vTrace);&lt;BR /&gt;//trace week $(vWeekName) is from $(vWeekStart) to $(vNextWeekStart);&lt;/P&gt;&lt;P&gt;let countloops = 0; //Just during test, to be able to exit loop&lt;BR /&gt;&lt;BR /&gt;//Loop through the weeks to save weekly QVD-files&lt;BR /&gt;do while $(vWeekStart) &amp;lt;= $(vEndDate)&lt;BR /&gt; let vWeekStart = $(vNextWeekStart);&lt;BR /&gt; let vNextWeekStart = $(vWeekStart) + 7;&lt;BR /&gt;&lt;BR /&gt; let vWeekName = weekyear($(vWeekStart))*100 + week($(vWeekStart));&lt;BR /&gt; let vTrace='week ' &amp;amp; $(vWeekName) &amp;amp; ' is from ' &amp;amp; date($(vWeekStart)) &amp;amp; ' to ' &amp;amp; date($(vNextWeekStart));&lt;BR /&gt; trace $(vTrace);&lt;BR /&gt; //trace week $(vWeekName) is from $(vWeekStart) to $(vNextWeekStart);&lt;/P&gt;&lt;P&gt;//for the test, so that I exit the loop even when dates are wrong.&lt;BR /&gt; let countloops = $(countloops) + 1;&lt;BR /&gt; exit do when $(countloops) &amp;gt; 3;&lt;BR /&gt;loop&lt;/P&gt;&lt;P&gt;by the way your vWeekName was not updating simply because you initiased it but then didn't change the value in your loop.&lt;/P&gt;&lt;P&gt;hope this helps&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 08 Apr 2011 14:25:08 GMT</pubDate>
    <dc:creator>pat_agen</dc:creator>
    <dc:date>2011-04-08T14:25:08Z</dc:date>
    <item>
      <title>Using Dates in variables in a script</title>
      <link>https://community.qlik.com/t5/QlikView/Using-Dates-in-variables-in-a-script/m-p/205587#M713554</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;BR /&gt;I am new to Qlikview, and I am now working on a script to create several QVD-files, each with one week of data. I hope someone can help me understand how dates in variables are working.&lt;/P&gt;&lt;P&gt;My idea was to make a loop, where I have one variable containig the first day of the week and for every loop, I increase it with 7 days. But I have not succeeded to make the variable contain a correct date.&lt;/P&gt;&lt;P&gt;This is the script I am running:&lt;/P&gt;&lt;P&gt;&lt;B&gt;SET&lt;/B&gt; &lt;B&gt;&lt;I&gt;TimeFormat&lt;/I&gt;&lt;/B&gt;='hh:mm:ss';&lt;BR /&gt;&lt;B&gt;SET&lt;/B&gt; &lt;B&gt;&lt;I&gt;DateFormat&lt;/I&gt;&lt;/B&gt;='YYYY-MM-DD';&lt;BR /&gt;&lt;B&gt;SET&lt;/B&gt; &lt;B&gt;&lt;I&gt;TimestampFormat&lt;/I&gt;&lt;/B&gt;='YYYY-MM-DD hh:mm:ss[.fff]';&lt;BR /&gt;&lt;BR /&gt;//Define the total period I should extract data for.&lt;BR /&gt;&lt;B&gt;let&lt;/B&gt; &lt;B&gt;&lt;I&gt;vStartDate&lt;/I&gt;&lt;/B&gt; = makedate(2011,01,01);&lt;BR /&gt;&lt;B&gt;let&lt;/B&gt; &lt;B&gt;&lt;I&gt;vEndDate&lt;/I&gt;&lt;/B&gt; = weekstart(today()-3); //Thursdays the data is updated.&lt;BR /&gt;&lt;B&gt;trace&lt;/B&gt; &lt;B&gt;&lt;I&gt;$(vStartDate)&lt;/I&gt;&lt;/B&gt; - &lt;B&gt;&lt;I&gt;$(vEndDate)&lt;/I&gt;&lt;/B&gt;;&lt;BR /&gt;&lt;BR /&gt;//Now prepare for running the first week&lt;BR /&gt;//Make sure that the first date is a Monday. I want to extract full weeks.&lt;BR /&gt;//Also, get the weekname for this date in the format YYYYWW.&lt;BR /&gt;&lt;B&gt;let&lt;/B&gt; &lt;B&gt;&lt;I&gt;vWeekStart&lt;/I&gt;&lt;/B&gt; = weekstart(&lt;B&gt;&lt;I&gt;$(vStartDate)&lt;/I&gt;&lt;/B&gt;);&lt;BR /&gt;&lt;B&gt;let&lt;/B&gt; &lt;B&gt;&lt;I&gt;vNextWeekStart&lt;/I&gt;&lt;/B&gt; = &lt;B&gt;&lt;I&gt;$(vWeekStart)&lt;/I&gt;&lt;/B&gt; + 7;&lt;BR /&gt;&lt;B&gt;let&lt;/B&gt; &lt;B&gt;&lt;I&gt;vWeekName&lt;/I&gt;&lt;/B&gt; = weekyear(&lt;B&gt;&lt;I&gt;$(vWeekStart)&lt;/I&gt;&lt;/B&gt;)*100 + week(&lt;B&gt;&lt;I&gt;$(vWeekStart)&lt;/I&gt;&lt;/B&gt;);&lt;BR /&gt;&lt;B&gt;trace&lt;/B&gt; week &lt;B&gt;&lt;I&gt;$(vWeekName)&lt;/I&gt;&lt;/B&gt; is from &lt;B&gt;&lt;I&gt;$(vWeekStart)&lt;/I&gt;&lt;/B&gt; to &lt;B&gt;&lt;I&gt;$(vNextWeekStart)&lt;/I&gt;&lt;/B&gt;;&lt;BR /&gt;&lt;B&gt;&lt;BR /&gt;&lt;/B&gt;&lt;B&gt;let&lt;/B&gt; &lt;B&gt;&lt;I&gt;countloops&lt;/I&gt;&lt;/B&gt; = 0; //Just during test, to be able to exit loop&lt;BR /&gt;&lt;BR /&gt;//Loop through the weeks to save weekly QVD-files&lt;BR /&gt;&lt;B&gt;do&lt;/B&gt; while &lt;B&gt;&lt;I&gt;$(vWeekStart)&lt;/I&gt;&lt;/B&gt; &amp;lt;= &lt;B&gt;&lt;I&gt;$(vEndDate)&lt;BR /&gt;&lt;/I&gt;&lt;/B&gt; &lt;B&gt;let&lt;/B&gt; &lt;B&gt;&lt;I&gt;vWeekStart&lt;/I&gt;&lt;/B&gt; = &lt;B&gt;&lt;I&gt;$(vNextWeekStart)&lt;/I&gt;&lt;/B&gt;;&lt;BR /&gt; &lt;B&gt;let&lt;/B&gt; &lt;B&gt;&lt;I&gt;vNextWeekStart&lt;/I&gt;&lt;/B&gt; = &lt;B&gt;&lt;I&gt;$(vWeekStart)&lt;/I&gt;&lt;/B&gt; + 7;&lt;BR /&gt; &lt;B&gt;trace&lt;/B&gt; week &lt;B&gt;&lt;I&gt;$(vWeekName)&lt;/I&gt;&lt;/B&gt; is from &lt;B&gt;&lt;I&gt;$(vWeekStart)&lt;/I&gt;&lt;/B&gt; to &lt;B&gt;&lt;I&gt;$(vNextWeekStart)&lt;/I&gt;&lt;/B&gt;;&lt;BR /&gt;&lt;BR /&gt; //for the test, so that I exit the loop even when dates are wrong.&lt;BR /&gt; &lt;B&gt;let&lt;/B&gt; &lt;B&gt;&lt;I&gt;countloops&lt;/I&gt;&lt;/B&gt; = &lt;B&gt;&lt;I&gt;$(countloops)&lt;/I&gt;&lt;/B&gt; + 1;&lt;BR /&gt; &lt;B&gt;exit&lt;/B&gt; do when &lt;B&gt;&lt;I&gt;$(countloops)&lt;/I&gt;&lt;/B&gt; &amp;gt; 3;&lt;BR /&gt;&lt;B&gt;loop&lt;/B&gt;&lt;/P&gt;&lt;P&gt;When running this script in the debugger, I get this result:&lt;/P&gt;&lt;P&gt;2011-01-01 - 2011-04-04&lt;BR /&gt;week 190507 is from 1905-06-26 to 1880&lt;BR /&gt;week 190507 is from 1880 to 1887&lt;BR /&gt;week 190507 is from 1887 to 1894&lt;BR /&gt;week 190507 is from 1894 to 1901&lt;BR /&gt;week 190507 is from 1901 to 1908&lt;BR /&gt;&lt;BR /&gt;--- Script Finished ---&lt;/P&gt;&lt;P&gt;While I would have expected this result instead:&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt;"&gt;2010-01-01 - 2011-04-04&lt;BR /&gt;week 201052 is from 2010-12-27 to 2011-01-03&lt;BR /&gt;week 201101 is from 2011-01-03 to 2011-01-10&lt;BR /&gt;week 201102 is from 2011-01-10 to 2011-01-17&lt;BR /&gt;week 201103 is from 2011-01-17 to 2011-01-24&lt;BR /&gt;week 201104 is from 2011-01-24 to 2011-01-31&lt;BR /&gt;&lt;BR /&gt;--- Script Finished ---&lt;BR /&gt;&lt;/P&gt;&lt;P style="margin: 0cm 0cm 0pt;"&gt;So I don't manage to get a good date in my variables vStartWeek, vNextStartWeek nor vWeekName. How should it be written?&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Hans&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Apr 2011 13:41:31 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Using-Dates-in-variables-in-a-script/m-p/205587#M713554</guid>
      <dc:creator />
      <dc:date>2011-04-08T13:41:31Z</dc:date>
    </item>
    <item>
      <title>Using Dates in variables in a script</title>
      <link>https://community.qlik.com/t5/QlikView/Using-Dates-in-variables-in-a-script/m-p/205588#M713555</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;got these results:&lt;/P&gt;&lt;P&gt;2011-01-01 - 2011-04-04&lt;BR /&gt;week 201052 is from 2010-12-27 to 2011-01-03&lt;BR /&gt;week 201101 is from 2011-01-03 to 2011-01-10&lt;BR /&gt;week 201102 is from 2011-01-10 to 2011-01-17&lt;BR /&gt;week 201103 is from 2011-01-17 to 2011-01-24&lt;BR /&gt;week 201104 is from 2011-01-24 to 2011-01-31&lt;/P&gt;&lt;P&gt;--- Script Finished ---&lt;/P&gt;&lt;P&gt;changes to be made:&lt;/P&gt;&lt;P&gt;1. use the floor() command to force your dates into being seen as numbers by qlikview. thsi just makes all date maniplutaion a lot less stress free. Did this to vStartDate, vEndDate and vWeekStart&lt;/P&gt;&lt;P&gt;2. when you need to see these "dates" as dates - ie when using trace to see your results or when naming your qvd file - then use the date() comand.&lt;/P&gt;&lt;P&gt;here is your reworked script&lt;/P&gt;&lt;P&gt;//Define the total period I should extract data for.&lt;BR /&gt;let vStartDate = floor(makedate(2011,01,01));&lt;BR /&gt;let vEndDate = floor(weekstart(today()-3)); //Thursdays the data is updated.&lt;BR /&gt;let vTrace=date($(vStartDate)) &amp;amp; ' - ' &amp;amp; date($(vEndDate));&lt;BR /&gt;trace $(vTrace);&lt;BR /&gt;//trace $(vStartDate) - $(vEndDate);&lt;BR /&gt;&lt;BR /&gt;//Now prepare for running the first week&lt;BR /&gt;//Make sure that the first date is a Monday. I want to extract full weeks.&lt;BR /&gt;//Also, get the weekname for this date in the format YYYYWW.&lt;BR /&gt;let vWeekStart = floor(weekstart($(vStartDate)));&lt;BR /&gt;let vNextWeekStart = $(vWeekStart) + 7;&lt;BR /&gt;let vWeekName = weekyear($(vWeekStart))*100 + week($(vWeekStart));&lt;BR /&gt;let vTrace='week ' &amp;amp; $(vWeekName) &amp;amp; ' is from ' &amp;amp; date($(vWeekStart)) &amp;amp; ' to ' &amp;amp; date($(vNextWeekStart));&lt;BR /&gt;trace $(vTrace);&lt;BR /&gt;//trace week $(vWeekName) is from $(vWeekStart) to $(vNextWeekStart);&lt;/P&gt;&lt;P&gt;let countloops = 0; //Just during test, to be able to exit loop&lt;BR /&gt;&lt;BR /&gt;//Loop through the weeks to save weekly QVD-files&lt;BR /&gt;do while $(vWeekStart) &amp;lt;= $(vEndDate)&lt;BR /&gt; let vWeekStart = $(vNextWeekStart);&lt;BR /&gt; let vNextWeekStart = $(vWeekStart) + 7;&lt;BR /&gt;&lt;BR /&gt; let vWeekName = weekyear($(vWeekStart))*100 + week($(vWeekStart));&lt;BR /&gt; let vTrace='week ' &amp;amp; $(vWeekName) &amp;amp; ' is from ' &amp;amp; date($(vWeekStart)) &amp;amp; ' to ' &amp;amp; date($(vNextWeekStart));&lt;BR /&gt; trace $(vTrace);&lt;BR /&gt; //trace week $(vWeekName) is from $(vWeekStart) to $(vNextWeekStart);&lt;/P&gt;&lt;P&gt;//for the test, so that I exit the loop even when dates are wrong.&lt;BR /&gt; let countloops = $(countloops) + 1;&lt;BR /&gt; exit do when $(countloops) &amp;gt; 3;&lt;BR /&gt;loop&lt;/P&gt;&lt;P&gt;by the way your vWeekName was not updating simply because you initiased it but then didn't change the value in your loop.&lt;/P&gt;&lt;P&gt;hope this helps&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Apr 2011 14:25:08 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Using-Dates-in-variables-in-a-script/m-p/205588#M713555</guid>
      <dc:creator>pat_agen</dc:creator>
      <dc:date>2011-04-08T14:25:08Z</dc:date>
    </item>
    <item>
      <title>Using Dates in variables in a script</title>
      <link>https://community.qlik.com/t5/QlikView/Using-Dates-in-variables-in-a-script/m-p/205589#M713556</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;Thanks a lot! That got me running. I was so confused not understanding why it did not work... I also got some hints on concatenation and tracing.&lt;/P&gt;&lt;P&gt;Regards&lt;BR /&gt;Nybbe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Apr 2011 06:49:23 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Using-Dates-in-variables-in-a-script/m-p/205589#M713556</guid>
      <dc:creator />
      <dc:date>2011-04-11T06:49:23Z</dc:date>
    </item>
  </channel>
</rss>

