我有一个表,该表具有与每个记录的事件相关的多个列。我想做的是按日期对每个记录中的每个事件进行排名。
我试图在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 |
答案 0 :(得分:0)
解决方法是将表导入Excel,对其进行转置,同时将ISNA和RANK组合使用,同时按升序排列,然后反转该转置,然后将其重新导入到Teradata中。