有没有一种方法可以对Teradata中的每个事件记录(按行而不是列进行排名)进行事件排名?

时间:2019-02-06 21:23:05

标签: teradata ranking

我有一个表,该表具有与每个记录的事件相关的多个列。我想做的是按日期对每个记录中的每个事件进行排名。

我试图在Excel中转​​置它,但它不喜欢null值。在Teradata中,我尝试了一个when语句,但是有太多的列无法尝试。排名/密集排名是我认为的列。答案会在交叉联接中吗?

例如,表格看起来像这样,但是有更多的行和列:

Cust_number|Event_dte|Close_dte|Lst_Upte_Dte|
1          |2018-05  | 2018-09 | 2018-06    |
2          |2017-05  | 2018-09 | 2018-06    |            
3          |2018-01  | 2018-10 | 2018-06    |
4          |2015-05  | 2018-06 | 2017-09    |
5          |2018-05  | 2018-05 | 2018-10    |

输出应为:

Cust_number|Event_dte|Close_dte|Lst_Upte_Dte|
1          |1        | 3       | 2          |
2          |1        | 3       | 2          |            
3          |1        | 3       | 2          |
4          |1        | 2       | 2          |
5          |1        | 2       | 2          |

1 个答案:

答案 0 :(得分:0)

解决方法是将表导入Excel,对其进行转置,同时将ISNA和RANK组合使用,同时按升序排列,然后反转该转置,然后将其重新导入到Teradata中。