当Partition By子句也有多个列时,如何在多个列上使用Informatica Powercenter中的SQL
排名功能?
如下例所示:
RANK() OVER (PARTITION BY A, B, C, D, E
ORDER BY F, G, H )
我已经尝试过EXPRESSION
转换,但是由于我们需要连接到比较,它会失去精确度。并尝试RANK
转换,但它只接受一列的排名。
还有其他方法可以带领吗?
感谢。
答案 0 :(得分:1)
我已经找到了一些示例输入,希望这会对你有帮助..
流速:
SQ --> Sorter --> Aggregator --> | --> Joiner --> Target
|---------------> |
输入:
Col1|Col2|Col3|Col4|Col5|Col6|Col7|Col8
1|2|3|4|5|1|1|2
1|2|3|4|6|1|1|3
1|2|3|4|5|1|1|1
1|2|3|4|5|1|1|1
1|2|3|4|6|1|1|4
输出:
Col1|Col2|Col3|Col4|Col5|Col6|Col7|Col8|Rank
1|2|3|4|5|1|1|1|1
1|2|3|4|5|1|1|1|1
1|2|3|4|5|1|1|2|3
1|2|3|4|6|1|1|3|4
1|2|3|4|6|1|1|4|5
映射: