【发布时间】:2013-06-20 20:02:19
【问题描述】:
目前我有一个要求,需要一个看起来像这样的表格:
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 的总和。然后对于每一年,我需要将每张年票的总和计算到到期日,在该年将多头和票面利率相加。
我的想法是,我必须创建一个 while 循环,该循环将在一个表中填充每个工具每年的记录,直到到期日,这样我就可以使用 sql 枢轴以某种方式进行枢轴。这看起来可行吗?关于执行此操作的最佳方式的任何其他想法,特别是我可能需要有关 while 循环的帮助?
【问题讨论】:
-
您能解释一下所需结果中
long/short总数背后的逻辑吗?为什么2016forFixed的值为110? -
多头空头只是每个工具报告期的值。上面两张表使用的数据不一样,是我随便编的。
-
您能否编辑所需的结果以使其与您的样本数据相匹配?如果数据/结果不匹配,很难确定逻辑。
-
抱歉,我已经编辑了
标签: tsql while-loop pivot pivot-table