私は2セット持っています。最初のものは大きく (~1000k 行)、2000 年から 2005 年までの観察年ごとにグループ化された患者観察データが含まれています。シーケンス)、たとえば 2002 年から 2003 年のみの観測があるものもあります。
2 番目のセットには、2000 年から 2005 年までの 6 行の一連の年のみが含まれます。
私が欲しいのは、各患者のセット 1 からのデータを含むテーブルですが、各患者についてセット 2 からの各年の観察結果が表示されるように拡張され、セット 1 に特定の年の観察結果がなかった場合は、空の行を追加するか、データ列のみに空 (または「-」) を追加する必要があります。
たとえば、セット 1 は次のようになります。
patient_id | obs_year | data
a 2000 10
a 2001 12
a 2002 13
a 2003 9
a 2004 1
a 2005 6
bb 2002 100
bb 2003 110
セット 2 は次のようになります。
year |
2000
2001
2002
2003
2004
2005
したがって、理想的には次のような結果が必要です。
patient_id | obs_year | data
a 2000 10
a 2001 12
a 2002 13
a 2003 9
a 2004 1
a 2005 6
bb 2000 -
bb 2001 -
bb 2002 100
bb 2003 110
bb 2004 -
bb 2005 -
また、私はこの仕事を SAS で行っていることにも言及しておく必要があります。そのため、SQL クエリまたは SAS スクリプト (またはその両方) のソリューションを歓迎します。