dt
SQL Server 2008 データベースに、indx_nm
、およびの 3 つの列を持つテーブルがあります。indx_val
私が実行すると:
SELECT *
FROM table1 a
WHERE a.indx_nm = 'ABQI' OR a.indx_nm = 'ACNACTR'
ORDER BY indx_nm, dt
私は次のようなものを取得します(3000の値からランダムに8つを選択するだけです)
# dt--------------indx_nm----------------indx_val
2009-06-08---------ABQI------------------1001.25
2009-06-09---------ABQI------------------1002.12
2010-06-08---------ABQI------------------928.76
2011-06-10---------ABQI------------------959.97
2009-06-08--------ACNACTR----------------300.05
2009-06-09--------ACNACTR----------------341.19
2010-04-08--------ACNACTR----------------428.26
2011-07-10--------ACNACTR----------------509.48
次のような結果を返す方法はありますか
# dt---------indx_nm1-----indx_val1-------indx_nm2------indx_val2
2009-06-08----ABQI------1001.2------------ACNACTR----------300.05
2009-06-09----ABQI------1002.12 ----------ACNACTR----------341.19
インデックス番号間で共有された日付を本質的に一致させてから、他方indx_nm
を結合し、その結果に対応indx_val
しますか?
*補遺
ABQI
だから私はとの間の共分散を見つけようとしていますACNACTR
。indx_val1
全体の平均と全体の平均を取ることができることはわかっていますが、index_val2
1000 行以上のセット全体をループして、(xi-x)(yi- y) / n
おそらく vba でこれをもっと簡単に行うことができますが、それを処理できるとは思いません (共分散を決定したい数百の indx_nm があります)indx_val1
indx_val2