0
は、各Codinvとクラスのために、コラムD.合計前の年の行、3グループ
に記載された前の年の値は、あなたのRigertaをありがとうございます。ここに私の新しい要求があります。 D.は、したがって、私は新しい列を希望として
Codinv Class year D NewColumn
----------------------------------------------------------
13 C08F 1977 5 5
76 C01B 1999 1 1
76 C21D 2005 2 2
76 C23C 1998 2 2
76 C23C 1999 2 4
私は変化するであろうが、以下のように今、私はクラスごとCodInvごとに1つの行がある場合には、そのことについて考えていること、それが計算されるように同じ値が表示されるはずですコードは次のように、私はオンラインで読むと、それはまだ
動作しない、私は今、私はCodinvと年だけでソートされた場所をしなければならなかったそれは別の分析でよく働い
data Want;
set Have;
by Codinv Class year;
retain NewColumn;
if first.Class then NewColumn=D; output;
if last.year NewColumn=NewColumn+D;
run;
てみました私は3つでそれをやっているのですが、私は違うバリエーションを試しましたが、miすべての行または0のデータをssing ...あなたは私を助けることができますか?永遠に感謝します
こんにちはLongfish、可用性をありがとうございました。 NewColumnコードを実行すると、列Dの累積合計がグループ化されずに表示されます。その理由は何ですか?私はそれが実際にこれであるClassという名前の方法に関連する問題かどうか疑問に思っています: '4DigitCLMN'は文字としてフォーマットされています。あなたの提案データに基づいて実行している実際のコードは以下の通りです。セットがある; codinv '4DigitCLMN'年;最初に.4DigitCLMN'n then NewColumn = 0; NewColumn + D;走る; – Luigi
BY変数のVALUESを確認してください。変数 '4DIGITCLMN'がCODINVの各値内で一意の値ごとに1つの観測値しか持たない場合、累積するものはありません。おそらくBY文の変数の順序を変更する必要はありますか?また、NewColumnが入力データセットにないことを確認してください。 SETステートメントが観測値全体で合計を保持しようとする試みを打ち負かすたびに、データセットからの値にリセットされるためです。 – Tom
こんにちはTomさん、ありがとうございました!私は各codinv内に複数の4桁のコードがあることを確認します。たとえば、掲示されたテーブルからは、グループ分けの結果として1999年のNewColumnに4のカウントを持つべきcodinv 76のための2つのC23Cがあります。新しい列は入力データセットにまだありません。もう一度おねがいします。コードが機能しない別の方法や理由があると思われる場合はお知らせください – Luigi