現在、2つのSASデータセット(サンプルとマスター)を使ってSASプログラミングを実践しています。以下は、SASプログラミングを通じて私の問題を解決するための例示的な目的のために作成された仮説またはダミーのデータです。私は、マスターデータセットからIDのサンプルデータセットのデータを抽出したいと思います。私はいくつかのidをサンプルデータセットとして提供しています。そのためには、年次情報に基づいてidごとにマスターテーブルから最後の12か月の情報を抽出する必要があります。sasを使用してIDと月ごとに過去12ヶ月間のデータを効率的に抽出します
これに似て、私は各idとyearmonthの12ヶ月のデータが必要な多くの列を持っています。
私はdoループでコードを書いてサンプルデータセットの各行を反復してから、各繰り返しの開始(年月と終了日(12月前))からマスターテーブルのデータを見つけてから、転置しますそれから、idとyearmonthを使ってデータステップマージを使ってサンプルデータセットを転置データとマージします。しかし、私が書いたコードは、サンプルデータセットの各行に対して何度もループしているため最適化されていません。 。誰もが最適化された方法でSASプログラミングを使用してこの問題を解決するために私を助けて
- 1つのサンプルデータセット(データセット名 - サンプル) 。 0
- つのマスタデータセット(データセット名<オール=「2」スタート> - 日までにアカウントを開始してから、各IDの年間マスターデータセットの巨大なデータセットを。)
ID \t YEARMONTH \t NO_OF_CUST
1 \t 200808 \t 125
1 \t 200809 \t 125
1 \t 200810 \t 111
1 \t 200811 \t 174
1 \t 200812 \t 98
1 \t 200901 \t 45
1 \t 200902 \t 74
1 \t 200903 \t 73
1 \t 200904 \t 101
1 \t 200905 \t 164
1 \t 200906 \t 104
1 \t 200907 \t 22
1 \t 200908 \t 35
1 \t 200909 \t 50
1 \t 200910 \t 77
1 \t 200911 \t 86
1 \t 200912 \t 95
1 \t 201001 \t 95
1 \t 201002 \t 87
1 \t 201003 \t 79
1 \t 201004 \t 71
1 \t 201005 \t 65
1 \t 201006 \t 66
1 \t 201007 \t 66
1 \t 201008 \t 78
1 \t 201009 \t 88
1 \t 201010 \t 54
1 \t 201011 \t 45
1 \t 201012 \t 100
1 \t 201101 \t 136
1 \t 201102 \t 111
1 \t 201103 \t 17
1 \t 201104 \t 77
1 \t 201105 \t 111
1 \t 201106 \t 95
1 \t 201107 \t 79
1 \t 201108 \t 777
1 \t 201109 \t 758
1 \t 201110 \t 32
1 \t 201111 \t 15
1 \t 201112 \t 22
2 \t 200711 \t 150
2 \t 200712 \t 150
2 \t 200801 \t 44
2 \t 200802 \t 385
2 \t 200803 \t 65
2 \t 200804 \t 66
2 \t 200805 \t 200
2 \t 200806 \t 333
2 \t 200807 \t 285
2 \t 200808 \t 265
2 \t 200809 \t 222
2 \t 200810 \t 220
2 \t 200811 \t 205
2 \t 200812 \t 185
2 \t 200901 \t 65
2 \t 200902 \t 45
2 \t 200903 \t 69
2 \t 200904 \t 546
2 \t 200905 \t 21
2 \t 200906 \t 256
2 \t 200907 \t 214
2 \t 200908 \t 14
2 \t 200909 \t 44
2 \t 200910 \t 65
2 \t 200911 \t 88
2 \t 200912 \t 79
2 \t 201001 \t 65
2 \t 201002 \t 45
2 \t 201003 \t 69
2 \t 201004 \t 54
2 \t 201005 \t 14
2 \t 201006 \t 26
2 \t 201007 \t 98
3 \t 200912 \t 77
3 \t 201001 \t 66
3 \t 201002 \t 69
3 \t 201003 \t 7
3 \t 201004 \t 7
3 \t 201005 \t 7
3 \t 201006 \t 65
3 \t 201007 \t 75
3 \t 201008 \t 85
3 \t 201009 \t 89
3 \t 201010 \t 100
3 \t 201011 \t 75
3 \t 201012 \t 75
以下は、各サンプルIDのサンプルデータセットを更新しようとしているサンプル出力です。あなたは今のところ、少しあなたが欲しいものを把握することは困難ではなく、画像ファイルのかもしれませんが、同じ結果を得るための「SAS」の方法でやろうとしていたもののサンプルコードなし
で私の答えを編集しました。例:https://meta.stackoverflow.com/questions/277716/how-to-create-table-in-so-question – Snorex
あなたの質問は、特定のプログラミングに関する質問ではなく、 https://codereview.stackexchange.com/ – Snorex
1.データとして画像を追加しました。このデータを使用するには、入力する必要があります。 2.これまでに問題を解決しようとしているコードを投稿していません。 3.これは、必要な計算のロジックを記述するために必要なデータの再フォーマットだけではありません。 4.これは有効なSOの質問ではありません。なぜなら、それは完全割り当てとあなたの仕事のようなものですからです。特定の質問をすることはできますが、これは広すぎます。 – Reeza