Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi guys,
I have a case statement in SQL
sum(CASE WHEN datediff(dd,due_date,getdate()) < = '0' then T1.unall_amount end) as 'Current',
sum(CASE WHEN datediff(dd,due_date,getdate()) between '1' and '30' then T1.unall_amount end) as '0-30',
sum(CASE WHEN datediff(dd,due_date,getdate()) between '31' and '60' then T1.unall_amount end) as '31-60',
sum(CASE WHEN datediff(dd,due_date,getdate()) between '61' and '90' then T1.unall_amount end) as '61-90',
sum(CASE WHEN datediff(dd,due_date,getdate()) between '91' and '120' then T1.unall_amount end) as '91-120',
sum(CASE WHEN datediff(dd,due_date,getdate()) >= '121' then T1.unall_amount end) as '121+'
Could I write this into a QV load script? Or even into an Expression would be better for me..
Unless this is best left in SQL load?
Any advise would be appreciated ![]()
Yes it can be done in the Load Script. However, a 1:1 translation is pretty much useless if there is no context.
Can you post the entire SQL SELECT/GROUP BY/Table JOIN statement?
In QlikView, you can do this like:
LOAD
:
IF ((OpenPeriod >= 1) and (OpenPeriod < 31), unall_amount) AS [0-30],
IF ((OpenPeriod >= 31) and (OpenPeriod < 61), unall_amount) AS [31-60],
IF ((OpenPeriod >= 61) and (OpenPeriod < 91), unall_amount) AS [61-90],
IF ((OpenPeriod >= 91) and (OpenPeriod < 121), unall_amount) AS [91-120],
IF ((OpenPeriod >= 121), unall_amount) AS [121+];
LOAD *,
today() - due_date AS OpenPeriod;
SQL SELECT
:
Ok, my 2nd post doesn't contain any URLs or product names, but it's still being moderated. We'll have to be patient.