【发布时间】:2015-12-24 18:29:10
【问题描述】:
itm wk f1 f2
i1 w1 0 0
i1 w2 0 0
i1 w3 0 0
i1 w4 0 0
i1 w5 0 0
i1 w6 1 0
i1 w7 1 0
i1 w8 1 0
i1 w9 1 0
i1 w10 1 0
i1 w11 1 0
i1 w12 0 1
i1 w15 0 1
i1 w16 0 0
i1 w17 0 0
i1 w18 0 0
----------
i2 w1 0 0
i2 w2 0 0
i2 w3 0 0
i2 w4 0 0
i2 w5 0 0
i2 w6 0 0
i2 w7 0 0
i2 w8 0 0
i2 w9 1 0
i2 w10 1 0
i2 w11 1 0
i2 w12 1 0
i2 w13 0 1
i2 w14 0 1
i2 w16 0 1
i2 w17 0 0
i2 w18 0 0
----------
i3 w1 0 0
i3 w2 0 0
i3 w3 0 0
i3 w4 0 0
i3 w5 0 0
i3 w6 0 0
i3 w7 0 0
i3 w8 0 0
i3 w9 1 0
i3 w10 1 0
i3 w11 0 1
i3 w12 0 1
i3 w13 0 1
i3 w14 0 1
i3 w15 0 0
i3 w16 0 0
i3 w17 0 0
i3 w18 0 0
----------
上表包含第一周到第十八周(w1 到 w18)的三个项目(i1、i2 和 i3)的数据以及相应项目和周的标志 f1(0 或 1)。注意:可能有几周数据不存在,例如“i1”没有 w13 和 w14 的数据,同样“i2”没有 w15 的数据,“i3”有每周的数据。
现在我想创建另一个标志 f2,它在接下来的 4 周 标记为 1,从最后一次创建“f1”的点 1
例如:对于项目“i3”,f1 上次被标记为第 w10 周,现在 f2 将被标记为下一个 4 周,即第 w11、w12、w13 和 w14 周
对于项目“i1”,f1 上次被标记为 w11 周,现在 f2 将被标记为接下来的 4 周,即 w12、w13、w14 和 w15 周 但是 w13 和 w14 周不存在,因此 f2 将被标记为仅 w12 和 w15
对于项目“i2”,f1 上次被标记为第 w12 周,现在 f2 将被标记为接下来的 4 周,即第 w13、w14、w15 和 w16 周 但第 w15 周不是存在,因此 f2 将仅被标记为 w13、w14 和 w16
请帮助在 teradata 中对上述示例进行编码
【问题讨论】:
-
wk的数据类型是什么,实际上是varchar(格式总是相同的w..?)或date。 -
wk的数据类型是整数