現在、次のようなテーブルが必要な要件があります。
Instrument Long Short 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 ....
Fixed 41 41 35 35 35 35 35 35 35 53 25 25
Index 16 16 22 22 22 32 12 12 12 12 12 12
Credits 29 29 41 16 16 16 16 16 16 16 16 16
Short term 12 12 5 5 5 5 5 5 5 5 5 17
私のワークテーブルは次のようになります。
Instrument Long Short Annual Coupon Maturity Date Instrument ID
Fixed 10 10 10 01/01/2025 1
Index 5 5 10 10/05/2016 2
Credits 15 15 16 25/06/2020 3
Short term 12 12 5 31/10/2022 4
Fixed 13 13 15 31/03/2030 5
Fixed 18 18 10 31/01/2019 6
Credits 14 14 11 31/12/2013 7
Index 11 11 12 31/10/2040 8
..... etc
したがって、基本的に、ピボットのロングとショートは、個別のインストゥルメント ID の合計になるはずです。そして、年ごとに、ロングとクーポン率が加算される満期日まで、各年間クーポンの合計を取る必要があります。
私の考えでは、SQL ピボットを使用して何らかの方法でピボットできるように、満期日まで各商品の各年のレコードをテーブルに入力する while ループを作成する必要がありました。これは実現可能だと思いますか?これを行う最善の方法に関する他のアイデアはありますか?特にwhileループで助けが必要になるかもしれませんか?