Re: [程式] 累積計數問題之2
這是不是你要用的啊?
其實我看不懂你到底要做什麼。。。
data apple;
set apple;
by ABC;
retain ij remain;
if first.ABC then do;
IJ = DEF;
remain = GH-DEF;
end;
else do;
IJ = min(remain,def);
remain = remain - IJ;
end;
run;
※ 引述《ajipon (阿蠻)》之銘言:
: ------------------------------------------------------------------------
: [軟體程式類別]:
: SAS
: [程式問題]:
: 資料處理
: [軟體熟悉度]:
: 新手(不到1個月)
: [問題敘述]:
: 大家好,不好意思又要麻煩各位幫我看看了
: 以下是關於之前計數問題的延伸
: ABC DEF GH
: A 2 8
: A 3 8
: A 2 8
: A 3 8
: B 2 2
: B 1 2
: C 1 4
: C 2 4
: C 2 4
: 原始資料如上,現在,我想要再多加一欄
: ABC DEF GH IJ remain
: A 2 8 2 6
: A 3 8 3 3
: A 2 8 2 1
: A 3 8 1 0
: B 2 2 2 0
: B 1 2 0 0
: C 1 4 1 3
: C 2 4 2 1
: C 2 4 1 0
: 這裡,我用ABC來分組,GH欄為同一群組IJ加總的個數,同一群組的IJ欄加總
: 要等於GH,且每一列的IJ值不能超過DEF值
: 其中,remain為輔助計算用,並沒有特別意義
: 以A為例 2+3+2+1=8
: 以B為例 2+0=2
: 我試著用大大之前的程式碼寫寫看,但一直跑不出來,不知道是哪裡出錯了
: 各位請看一下
: proc sort data = apple;
: by ABC;
: run;
: data apple;
: set apple;
: by ABC;
: retain ;
: if first.ABC then do;
: IJ = DEF;
: remain = GH-DEF;
: end;
: IJ = min(lag(remain),ftq);
: remain = lag1(remain) - IJ;
: run;
: 先謝謝各位啦!!
--
—
I came like Water, and like Wind I go.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 129.93.111.32
推
12/14 00:24, , 1F
12/14 00:24, 1F
討論串 (同標題文章)