IDと契約ステータスが6ヶ月(01/2017 - 06/2017)の次のサンプルデータセットがあります。複数の変数の値を比較
例データ:
ID Month1 Month2 Month3 Month4 Month5 Month6**
12 5 5 5 5 5 5
34 5 5 6 6 5 5
56 6 6 6 -7 -7 -7
78 6 6 5 5 5 5
12 5 5 5 5 6 -7
ステータスが5であれば、それはキャンセルと-7「再活性化することはできない」ですよ6あればIDは、アクティブです。 5から6へのステータス変更は、私は新しいが欲しいときは6から5
に変更6 2)IDに状態5から変更 1)のID:
私は変化の2種類を確認したいです2番目のグループについては、状態が5に変わる月を含む新しい変数「再アクティブ化」が必要です。 IDが両方のグループにある場合(from 5から6から5まで)両方の変数を埋める必要があります。
私がこれまで持っていたのは、1行にいくつのステータスが一致するかを示す配列ですが、次のステップはありません。コードは次のとおりです。
data want (drop= i j);
set have (obs=100);
array stat_check {*} month1-month6;
sum=0;
do i=1 to dim(stat_check)-1;
do j=i+1 to dim(stat_check);
sum=sum(sum,stat_check(i) eq stat_check(j));
end;
end;
run;
ありがとうございます!
あなたはこれまでに何を試しましたか?あなたのデータを画像ではなくテキストとして投稿してください。そうしないと、人々はあなたのデータを入力して問題を解決するように求めています。 – Reeza
6つの列に対して配列を宣言し、条件が満たされたら 'vname'関数を使用して正しい変数名を取得します。 Reezaが示唆したように、私があなたが立ち往生していれば、さらにあなたを助けることができて嬉しく思います。 –
あなたのヒントをお寄せいただきありがとうございます。私の最初の投稿です。スクリーンショットツールを使用しました。データラインをテキストとして追加し、これまでのコードを追加しました。 – Jayque86