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

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
Pablo_Aimar
Partner - Contributor II
Partner - Contributor II

Dates and data load

Hi,

 

I have a different set of costs I need to apply to my data model, and I've tried various statements with no success.  The following block of code is what I am starting with, and this on its own works just fine.  You can see the cost rate is £4.00 here.

CONCATENATE(CostValue)
LOAD
Text("Placement ID") as "Placement ID",
// "Date",
Date(Date#("Date",'YYYY-MM-DD'),'DD/MM/YYYY') as Date,
(Sum(Impressions)/1000) * 4.00 as [Cost-Per-Day]
FROM [lib://Output Files/Openreach/GCM/*.qvd] (qvd)
WHERE
Match([Site (DCM)],'crimtan.com','Programmatic Ads - Crimtan Agency')
GROUP BY Date, "Placement ID";

 

My approach is to have this block of code repeat 3 times, and I insert a different cost rate in each.  You see the £4.00 rate in the above example.  In my other two tables, it'll be £9 and £10.  The differentiating factor will be the dates, so I wanted to insert a WHILE statement like this:

WHILE Date <29/02/2021

WHILE Date >=29/02/2021 AND Date <=03/09/2021

WHILE Date >=12/01/2022

 

This is my approach:

CONCATENATE(CostValue)
LOAD
Text("Placement ID") as "Placement ID",
// "Date",
Date(Date#("Date",'YYYY-MM-DD'),'DD/MM/YYYY') as Date,
(Sum(Impressions)/1000) * 4.00 as [Cost-Per-Day]
FROM [lib://Output Files/Openreach/GCM/*.qvd] (qvd)
WHERE
Match([Site (DCM)],'crimtan.com','Programmatic Ads - Crimtan Agency')
WHILE Date <29/02/2021
GROUP BY Date, "Placement ID";

 

CONCATENATE(CostValue)
LOAD
Text("Placement ID") as "Placement ID",
// "Date",
Date(Date#("Date",'YYYY-MM-DD'),'DD/MM/YYYY') as Date,
(Sum(Impressions)/1000) * 10.00 as [Cost-Per-Day]
FROM [lib://Output Files/Openreach/GCM/*.qvd] (qvd)
WHERE
Match([Site (DCM)],'crimtan.com','Programmatic Ads - Crimtan Agency')
WHILE Date >=29/02/2021 AND Date <=03/09/2021
GROUP BY Date, "Placement ID";

 

CONCATENATE(CostValue)
LOAD
Text("Placement ID") as "Placement ID",
// "Date",
Date(Date#("Date",'YYYY-MM-DD'),'DD/MM/YYYY') as Date,
(Sum(Impressions)/1000) *9.00 as [Cost-Per-Day]
FROM [lib://Output Files/Openreach/GCM/*.qvd] (qvd)
WHERE
Match([Site (DCM)],'crimtan.com','Programmatic Ads - Crimtan Agency')
WHILE Date >=12/01/2022
GROUP BY Date, "Placement ID";

 

However, this isn't working.  The block of code I start with is fine; once I start inserting those WHILE statements with the dates, I do not get the results I expect.  Please help 🙂

Labels (2)
1 Reply
brunobertels
Master
Master

Have you tried to replace while statement by And : 

 

Where match( ...)

AND Date <= 12/01/2022