私の問題は、四半期ごとのデータがいくつかありますが、別の毎日の値を使用して毎日再計算する必要があることです。基本的に、私は四半期ごとの財務データを扱っていますが、毎日の価格データを使用して、毎日の頻度の比率の一部を再計算する必要があります。以下の例では、c.atq と c.csh12q の値が四半期ごとに、s1.prccd の値が毎日与えられています。現在の s1.prccd を使用して、現在の c.atq の比率を計算する必要があります。四半期の終わりに c.atq が変更された場合、プロセスは新しい値で続行する必要があります。
select s1.DATADATE, c.ATQ, s1.PRCCD, c.ATQ/(s1.PRCCD*c.CSH12Q) as PATQ
from sec_dprc s1
left outer join co_ifndq c
on s1.GVKEY = c.GVKEY
and s1.DATADATE = c.DATADATE
where s1.GVKEY = 008068
order by s1.DATADATE
これは結果の小さな表です:
DATADATE ATQ PRCCD PATQ
19/12/1984 00:00 NULL 28 NULL
20/12/1984 00:00 NULL 27.25 NULL
21/12/1984 00:00 NULL 27.5 NULL
24/12/1984 00:00 NULL 27.5 NULL
26/12/1984 00:00 NULL 27.5 NULL
27/12/1984 00:00 NULL 27.625 NULL
28/12/1984 00:00 NULL 27.75 NULL
31/12/1984 00:00 12273 28 4.400022371
02/01/1985 00:00 NULL 27.5 NULL
03/01/1985 00:00 NULL 26.75 NULL
04/01/1985 00:00 NULL 25 NULL
07/01/1985 00:00 NULL 24 NULL
08/01/1985 00:00 NULL 25 NULL
09/01/1985 00:00 NULL 25.375 NULL
次の四半期に変更されるまで、c.ATQ の値を次のすべての日付で複製する必要があります。
ありがとう!!
パート2:
GVKEY rankx rdq QTR ATQ CSH12Q DATADATE
008068 2 1984-02-03 00:00:00.000 1 11775.402 96.569 1983-12-31 00:00:00.000
008068 3 1984-05-07 00:00:00.000 2 11428.602 96.751 1984-03-31 00:00:00.000
008068 4 1984-08-02 00:00:00.000 3 11642.902 98.104 1984-06-30 00:00:00.000
008068 5 1984-10-18 00:00:00.000 4 11654.5 98.984 1984-09-30 00:00:00.000
同様に:
DATADATE ATQ PRCCD PATQ datadate rdq
1984-01-31 00:00:00.000 NULL 28 NULL NULL NULL
1984-02-01 00:00:00.000 NULL 28.625 NULL NULL NULL
1984-02-02 00:00:00.000 NULL 27.875 NULL NULL NULL
1984-02-03 00:00:00.000 11775.2 26.75 4.55841 1983-12-31 1984-02-03 00:00:00.000
1984-02-06 00:00:00.000 NULL 27 NULL NULL NULL
1984-02-07 00:00:00.000 NULL 26.875 NULL NULL NULL
1984-02-08 00:00:00.000 NULL 25.75 NULL NULL NULL