您輸入的Payment_Amt
的數據將成爲字符變量,前面帶有$
。這將是非常尷尬的工作。我建議使用數字金額並使用dollar
格式將它們顯示爲貨幣值。
然而,如果你的數據已經是字符格式,你可以將它們轉換爲數字有:
data data1;
set data1;
Payment_Amt2 = input(substr(Payment_Amt,2),best.);
format Payment_Amt2 dollar3.;
drop Payment_Amt;
rename Payment_Amt2 = Payment_Amt;
運行;
這隻會使用substr()
字符串中的$
之後的值,然後使用input()
函數將它們轉換爲數字值。
爲了讓您彙總可以使用proc sql
,然後轉置數據:
proc sql;
create table want0 as
select distinct id, type, sum(payment_amt) as total
from data1
group by type;
quit;
proc transpose data = want0 out = want(drop = _name_) prefix = TotalAmt;
by id;
id type;
run;
的proc sql
步將通過聲明組總結特定type
的所有值。然後,您可以使用proc transpose
將數據轉換爲您想要的格式。使用prefix=
選項可讓您在變量名稱中指定"TotalAmt"
前綴。