날짜와 값이 확장되고 누락 날짜를 순서대로 채우는 테이블이 있습니다. 내가 그룹과 위치별로 이것을하고 있지만, 내가해야 할 일의 핵심은 아래에 나와있다. 내가Teradata 조건부 확장
dt | val
2014-01-01 | 10
2014-02-17 | 9
2014-04-21 | 5
내가이 확장 한 다음 테이블이 말은 제로에 누락 일주일 테이블 작성입니다
week_bgn_dt| week_end_dt| val
2014-01-01 | 2014-01-08 | 10
2014-01-09 | 2014-01-16 | 0
2014-01-17 | 2014-01-24 | 0
...
2014-02-10 | 2014-02-17 | 0
2014-02-18 | 2014-02-25 | 9
2014-02-26 | 2014-03-05 | 0
2014-03-06 | 2014-03-13 | 0
...
2014-03-30 | 2014-04-06 | 0
2014-04-07 | 2014-04-14 | 0
2014-04-15 | 2014-04-22 | 5
내가 원하는 것은 변화 할 때까지 마지막 값으로 입력, 그래서 출력하고자 테라 데이타에서
week_bgn_dt| week_end_dt| val
2014-01-01 | 2014-01-08 | 10
2014-01-09 | 2014-01-16 | 10
2014-01-17 | 2014-01-24 | 10
...
2014-02-10 | 2014-02-17 | 10
2014-02-18 | 2014-02-25 | 9
2014-02-26 | 2014-03-05 | 9
2014-03-06 | 2014-03-13 | 9
...
2014-03-30 | 2014-04-06 | 9
2014-04-07 | 2014-04-14 | 9
2014-04-15 | 2014-04-22 | 5
처럼이
case when val <> 0 then val
else sum(val) over (partition by group, location order by group, store, week_bgn_dt 1 preceding to current row) as val2
을 시도 본다 나는 최대 (와 시도
case when val <> 0 then val
else sum(val) over (partition by group, location order by group, store, week_bgn_dt unbounded preceding to current row) as val2
week_bgn_dt| week_end_dt| val | val2
2014-01-01 | 2014-01-08 | 10 | 10
2014-01-09 | 2014-01-16 | 0 | 10
2014-01-17 | 2014-01-24 | 0 | 10
...
2014-02-10 | 2014-02-17 | 0 | 10
2014-02-18 | 2014-02-25 | 9 | 9
2014-02-26 | 2014-03-05 | 0 | 19
2014-03-06 | 2014-03-13 | 0 | 19
...
2014-03-30 | 2014-04-06 | 0 | 19
2014-04-07 | 2014-04-14 | 0 | 19
2014-04-15 | 2014-04-22 | 5 | 5
새 값을 쳤을 때
하지만은과 같이 한 번 마지막 값을주고,
week_bgn_dt| week_end_dt| val | val2
2014-01-01 | 2014-01-08 | 10 | 10
2014-01-09 | 2014-01-16 | 0 | 10
2014-01-17 | 2014-01-24 | 0 | 0
...
2014-02-10 | 2014-02-17 | 0 | 0
2014-02-18 | 2014-02-25 | 9 | 9
2014-02-26 | 2014-03-05 | 0 | 9
2014-03-06 | 2014-03-13 | 0 | 0
...
2014-03-30 | 2014-04-06 | 0 | 0
2014-04-07 | 2014-04-14 | 0 | 0
2014-04-15 | 2014-04-22 | 5 | 5
나는 창을 억제 할 수 있도록하는 경우, 그것은 요약) 및 min()과 유사하지만 결과는 비슷합니다. 도움을 주셔서 감사합니다.
일주일은 어떻게 정의됩니까? 귀하의 예를 기반으로 8 일 것으로 보입니까? 그 주들은 항상 8 일을 기준으로하고 있으며, 그들은 val과 어떤 관련이 있습니까? – dnoeth
TD 릴리스는 무엇입니까? TD13에는 언제든지 재설정이 있지만 TD13.10의 확장은 가장 쉬운 방법 일 수 있습니다. – dnoeth