Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us in Bucharest on Sept 18th for Qlik's AI Reality Tour! Register Now
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Where clause with max date in load script

Hello,

I am loading in a table of product and volume information, then want to restrict this table by a date range. I have initially used static dates in my WHERE clause but now want to make these dynamic.

The following script works:

[SKU Segmentation]:

LOAD

  [SKU Number] as %SKU,

  sum([Actual Volume (HL) W+1]) as SKUVolume,

  [Week Start Date]

FROM

[AnalyticsData.xlsm]

(ooxml, embedded labels, table is [Demand - W+1])

WHERE [Actual Volume (HL) W+1] >='0' AND ([Actual Volume (HL) W+1] <> '0' OR [Forecasted Volume (HL) W+1] <> '0')

group by [SKU Number], [Week Start Date]

;

[SKU Seg 2]:

LOAD %SKU,

  sum(SKUVolume) as SKUVolume2

resident [SKU Segmentation]

where [Week Start Date] >= '01/01/2013' AND [Week Start Date] <= '01/01/2014'

group by %SKU;

drop table [SKU Segmentation];

I would like to change the bolded WHERE statement above so that my minimum and maximum dates are as follows:

min: = date(max([Week Start Date])-365)

max: = date(max([Week Start Date]))

I would think the WHERE clause would then be:

where [Week Start Date] >= date(max([Week Start Date])-365) AND [Week Start Date] <= date(max([Week Start Date]))

This doesn't seem to work when I load however, are there any ideas?

Thanks very much!

Mel

1 Solution

Accepted Solutions
alexandros17
Partner - Champion III
Partner - Champion III

Do as follows:

TMP:

LOAD min([Week Start Date]) as mini, max([Week Start Date]) as maxi esident [SKU Segmentation];

Let vMin = peek('mini',0,'TMP');

Let vMax = peek('maxi',0,'TMP');

drop table TMP;

now in your query write

....

where [Week Start Date] >= $(vMin ) AND [Week Start Date] <= $(vMax);

let me know

View solution in original post

2 Replies
alexandros17
Partner - Champion III
Partner - Champion III

Do as follows:

TMP:

LOAD min([Week Start Date]) as mini, max([Week Start Date]) as maxi esident [SKU Segmentation];

Let vMin = peek('mini',0,'TMP');

Let vMax = peek('maxi',0,'TMP');

drop table TMP;

now in your query write

....

where [Week Start Date] >= $(vMin ) AND [Week Start Date] <= $(vMax);

let me know

Not applicable
Author

Fantastic, thanks so much!