【发布时间】:2020-12-22 19:35:18
【问题描述】:
我一直在使用 td_normalize_overlap_meet 来折叠时段。我在论坛上看到了一些使用 CNT 来识别被折叠的周期数的示例,并且我一直在搜索文档以查看是否存在其他类似功能但没有找到任何东西。我正在专门寻找一个可以保留最后一个折叠期间的开始日期的。例如,假设我有这些时期:
+-----------+------------+
|Start Date | End Date |
+-----------+------------+
|2018-01-02 | 2018-01-04 |
|2018-01-05 | 2018-01-07 |
|2018-01-08 | 2018-01-10 |
+-----------+------------+
然后我将它们折叠成这样:
+-----------+------------+-----+
|Start Date | End Date | CNT |
+-----------+------------+-----+
|2018-01-02 | 2018-01-10 | 3 |
+-----------+------------+-----+
有没有类似于 CNT 的函数可以给我这个?
+-----------+------------+-----+------------------------------------+
|Start Date | End Date | CNT | Last Collapsed Period's Start Date |
+-----------+------------+-----+------------------------------------+
|2018-01-02 | 2018-01-10 | 3 | 2018-01-08 |
+-----------+------------+-----+------------------------------------+
【问题讨论】:
-
它没有功能,但是
td_normalize_overlap_meet可以通过多种方式重写(实际上你在使用SELECT NORMALZE时根本不需要它。你的Teradata版本是什么,它支持@ 987654326@? -
前几天我第一次看到
SELECT NORMALIZE子句,我需要开始使用它。我正在发布 16.20.48.01。不久前,我用nPath玩了几天,当我在你的回复中遇到td_normalize_overlap_meet时放弃了。我可以通过在正常化后回到崩溃前的时期来获得我需要的东西;我只是好奇是否有办法在 normalize 中做到这一点以提高效率。