【发布时间】:2016-03-18 23:23:56
【问题描述】:
Teradata - 下面是两辆火车到达车站。 773 被清空(RI/RE)然后加载(RI/RL)然后离开 TD。 819 只清空然后离开。我想在此表下方创建结果。我试过在汽车上使用案例语句分组,但同一辆车有多次通过车站的行程,所以 max 和 min 给了我不可预测的结果。我已经阅读了分区,但我很难想象这一点。任何帮助表示赞赏。
*注意:最好将初始搜索限制为 EVT_CD='TA' AND STN=DEST 以消除任何简单通过车站的汽车。但我不能将整个记录集限制在此范围内,因为 TD 有不同的目的地。
CAR_NUMB EVT_DT EVT_TM EVT_CD EVST_CD WB_ID STN DEST
773 03/08/2016 19.05.00 TA 582016 BOSTON BOSTON
773 03/12/2016 04.04.00 AP PU 582016 BOSTON BOSTON
773 03/12/2016 14.35.00 RI RE 412016 BOSTON BOSTON
773 03/12/2016 14.37.00 AP PL 412016 BOSTON BOSTON
773 03/12/2016 14.45.00 RI RL 812016 BOSTON HOUSTON
773 03/14/2016 12.22.00 TD 812016 BOSTON HOUSTON
819 03/04/2016 17.50.00 TA 362016 STLOUIS STLOUIS
819 03/06/2016 13.50.00 AP PU 362016 STLOUIS STLOUIS
819 03/06/2016 17.27.55 RI RE 042016 STLOUIS STLOUIS
819 03/07/2016 00.37.00 RI PR 042016 STLOUIS PORTLAND
819 03/11/2016 01.47.00 TD 042016 STLOUIS PORTLAND
Desired output:
CAR_NUMB TA AP RIRE RIRL TD
773 03/08/2016 19.05.00 03/12/20.. 03/12/20.. 03/12/20.. 03/14/2016 12.22.00
819 03/04/2016 17.50.00 03/06/20.. 03/06/20.. null 03/11/2016 01.47.00
上面的 [..]。我切断了格式化的时间戳。
【问题讨论】:
-
您的 Teradata 版本是什么? “同一辆车有多次经过车站的行程” = 同一个
CAR_NUMB/DEST组合可能还有另一组行?TA和TD之间的最大行数是多少 -
发布:15.00.0501 15.00.05.01。是的,一辆车可能会从波士顿到休斯顿再回来很多次。有时往返需要 7 天或 2 个月,因此 car/dest 组合(这是我一直在使用的结合手动纠错的组合)在足够长的时间内失败,成为问题。如果一周前发生 TD 事件,则使用带有 evt 日期的 Max 聚合可以产生汽车在到达之前离开院子。