![]() |
|
Archives of the TeradataForumMessage Posted: Wed, 02 Dec 2009 @ 12:14:40 GMT
Thanks to ulrich arndt and Dieter for their replies to my question. One thing I forgot to mention, Dieter, is that our Financial Calendar doesn't always have 7 days in a week (probably some sort of bean counting consideration), so the more simplistic solution probably won't work so, sorry, I should have mentioned that part. We've spent a lot of mental energy playing with this sort of construct but to no avail. But, as usual Dieter, thanks. I think, with the varying nature of our data, the more sophisticated/complex solution, Ulrich, is the one we're going for !
SELECT DTE_DT, DTE_YEAR_NR, DTE_WEEK_NR_FIN
,ROW_NUMBER() OVER (ORDER BY DTE_DT ASC) AS DAY_NR , SUM(WEEK_CHANGE_ID) OVER (ORDER BY
DTE_DT ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +1 AS RUNNING_WEEK_nr
FROM
(
SELECT
SUM(TRIM(DTE_YEAR_NR)||TRIM(DTE_WEEK_NR_FIN)) OVER (ORDER BY DTE_DT ROWS BETWEEN 1
PRECEDING AND 1 PRECEDING) as sumTo1Preceding
,SUM(TRIM(DTE_YEAR_NR)||TRIM(DTE_WEEK_NR_FIN)) OVER (ORDER BY DTE_DT ROWS BETWEEN CURRENT
ROW AND CURRENT ROW) as sumToCurrent , CASE WHEN
SUM(TRIM(DTE_YEAR_NR)||TRIM(DTE_WEEK_NR_FIN)) OVER (ORDER BY DTE_DT ROWS BETWEEN 1
PRECEDING AND 1 PRECEDING) <>
SUM(TRIM(DTE_YEAR_NR)||TRIM(DTE_WEEK_NR_FIN)) OVER (ORDER BY DTE_DT ROWS BETWEEN
CURRENT ROW AND CURRENT ROW)
THEN 1 ELSE 0 END AS WEEK_CHANGE_ID
, A.*
FROM DEVCE_V.KPNDATE_V01 A
-- ORDER BY DTE_DT
)
AS T
ORDER BY DTE_DT;
Actually, I'm a bit disappointed with myself for not getting even close, but I have to hand it to you, brilliant ! As you'll see, I had to break out the individual components of your solution, just to be able to understand it, which I think I do now. Please help yourself to 3 virtual beers on me. If you wonder past TNT in Atherstone anytime, I'll materialize them for you! Thanks again. Regards David Clough
| ||||||||||||||||||||||||||||||||||||||||||||||||
| | ||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||
| Copyright 2016 - All Rights Reserved | ||||||||||||||||||||||||||||||||||||||||||||||||
| Last Modified: 15 Jun 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||