を置き換えるために保持します。SASの問題は、次の継承された簡略化されたコードは、グループ内のエントリを欠落していない値を持つ列の欠損値を置き換えることを意図している欠落したデータ
DATA WORK.TOYDATA;
INPUT Category $ PRICE;
DATALINES;
Cat1 2
Cat1 .
Cat1 .
Cat2 .
Cat2 3
Cat2 .
;
DATA WORK.OUTTOYDATA;
SET WORK.TOYDATA;
BY Category ;
RETAIN _PRICE;
IF FIRST.Category THEN _PRICE=PRICE;
IF NOT MISSING(PRICE) THEN _PRICE=PRICE;
ELSE PRICE=_PRICE;
DROP _PRICE;
RUN;
残念ながら、これがあれば動作しません。グループ内の最初のエントリが見つかりません。どのようにこれを修正することができますか?
カテゴリは、複数の異なる価格に関連付けることができますか? – Vincent
@Vincent - 私はできると思いますが、これは私が見る別の問題です... – cs0815
もしそうなら、あなたはどの値を代用に使用するかを決めるルールが必要です(例えば、最大値/最小値、ランダムな既存の値など) – Vincent