一、
proc format;
invalue $test (default=200)
"1"=_same_
"2"="Black"
"3"="Asian"
"4","5","6"="other"
other=_error_;
run;
1.invalue也可以用來定義字符型格式
2.default的用法與length同
3._same_表示將其保持原來格式
4._error_表示將其他未列出的值都設為空值
5.可以用逗號分隔多種原始值,轉換成同一種輸出格式
二、
proc format ;
picture one
low-high='009.0%' (mult=1000);
run;
1.picture statement
2.low-high 針對所有數字
3.(mult=1000)原數字乘以1000
4.展示為009.0%這種形式,前面的0可根據實際情況去掉或者保留為原值或者去掉,小數點后的0保證顯示為一位小數。如果是000.0%,原數據為0,format之后為空,如果是009.0%,format之后為0.0%,如果是000.9%,format之后是0%。也就是說如果是9則一定會顯示出這一位,如果是前面的0則根據實際情況顯示。
三、
proc format ;
picture two (round default=10)
0="0"(noedit)
100="(100)"(noedit)
0.00000001-<10="009.9)"(prefix="( ")
10-<100="099.9)"(prefix="(")
100<-9999999999999999999="009.9)"(prefix="!!(");
run;
1.noedit保持原輸出格式不動,如果不加,0會顯示為空
2.prefix是添加前綴的選項,因為不確定數字的長度,為保證(11.1)的對齊形式,如果原數據是1.1,則應該在輸出格式前面加上前括號和一個空格,如果是11.1則不需要添加多一個括號。
3.不能有overlap的情況,即范圍重疊,可使用<或不用符號來表示小於或小於等於。
