我们有这样的桌子
Cumulative Paid Triangle
DP 1 DP 2 DP 3 DP 4 DP 5 DP 6 DP 7 DP 8 DP 9 DP 10
OP 1 3,57,848 11,24,788 17,35,330 22,18,270 27,45,596 33,19,994 34,66,336 36,06,286 38,33,515 39,01,463
OP 2 3,52,118 12,36,139 21,70,033 33,53,322 37,99,067 41,20,063 46,47,867 49,14,039 53,39,085
OP 3 2,90,507 12,92,306 22,18,525 32,35,179 39,85,995 41,32,918 46,28,910 49,09,315
OP 4 3,10,608 14,18,858 21,95,047 37,57,447 40,29,929 43,81,982 45,88,268
OP 5 4,43,160 11,36,350 21,28,333 28,97,821 34,02,672 38,73,311
OP 6 3,96,132 13,33,217 21,80,715 29,85,752 36,91,712
OP 7 4,40,832 12,88,463 24,19,861 34,83,130
OP 8 3,59,480 14,21,128 28,64,498
OP 9 3,76,686 13,63,294
OP 10 3,44,014
对 DP3/DP2、DP4/DP3 等所有列使用公式 DP2/DP1。
从这个公式我们需要得到这样的表格
DP 1 DP 2 DP 3 DP 4 DP 5 DP 6 DP 7 DP 8 DP 9 DP 10
OP 1 3.14 1.54 1.28 1.24 1.21 1.04 1.04 1.06 1.02 -
OP 2 3.51 1.76 1.55 1.13 1.08 1.13 1.06 1.09 -
OP 3 4.45 1.72 1.46 1.23 1.04 1.12 1.06 -
OP 4 4.57 1.55 1.71 1.07 1.09 1.05 -
OP 5 2.56 1.87 1.36 1.17 1.14 -
OP 6 3.37 1.64 1.37 1.24 -
OP 7 2.92 1.88 1.44 -
OP 8 3.95 2.02 -
OP 9 3.62 -
OP 10 -
这是我尝试过的代码:此代码仅适用于有限数量的值(如 DP_1 到 DP_9),但是如果表中有大量值?
result = cursor.execute("""
Select
D1 as DP1,
D2 as DP2,
D3 as DP3,
D4 as DP4,
D5 as DP5,
D6 as DP6,
D7 as DP7,
D8 as DP8,
D9 as DP9
From (
Select
DP1,
DP2,
DP3,
DP4,
DP5,
DP6,
DP7,
DP8,
DP9,
DP10,
DP2 * (DP1 As d1,
DP3 / DP2 As d2,
DP4 / DP3 As d3,
DP5 / DP4 As d4,
DP6 / DP5 As d5,
DP7 / DP6 As d6,
DP8 / DP7 As d7,
DP9 / DP8 As d8,
DP10 / DP9 As d9
from CumulativePaidTriangle
)""" ```