全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
7393 5
2014-11-14
利用data 步怎样实现开区间的Format (大于小等于)?


比如Format 目标:
0-<3 =0%
3=3%
3<-6=4%
6<-<8=6~8%





只会写以下这种包含区间段两端的程序,请教各位实现以上目标怎么改?谢谢!
(只是一个示例,实际情况是非常长的一个Format表格,需要读取外部的excel配置表格,手写proc format是不现实的,所以请教怎样编写一个可配置的程序??)

/*---------------------------
以下程序等于
0-3 =0%
4-6=3%
7-8=6%
---------------------------*/



data scale;
input begin: 8. Last: 8. amount: $char2.;
datalines;
0 3 0%
4 6 3%
7 8 6%
;
data test;
length label $ 11;
set scale(rename=(begin=start Last=end amount=label)) end=last;
retain fmtname *PercentageFormat* type *n*;
output;
run;


proc format cntlin=test;run;





二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-11-14 13:32:10
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-11-14 13:43:50
mingfeng07 发表于 2014-11-14 13:32
谢谢。

上面只是一个示例,实际情况是非常长的一个Format表格,需要读取外部的excel,手写proc format是不现实的,所以请教怎样编写一个可配置的程序??
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-11-14 17:04:29
先导入excel数据到一个数据集a中,例如你的下界变量为var1  上界变量为var2  目标格式为 var3
复制代码






二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-11-14 18:28:57
fxtxzyl 发表于 2014-11-14 17:04
先导入excel数据到一个数据集a中,例如你的下界变量为var1  上界变量为var2  目标格式为 var3
谢谢,

请问 这种形式下 怎样实现开闭区间?

比如 (var1, var2]  即 var1<x<=var2  这种形式??
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-11-15 00:35:21
You can manipulate the values of these two variable to include or exclude starting / ending values.   

sexcl='N';   ***include start value;
eexcl='Y';   ***exclue end value;
*****************************************************;
data scale;
retain fmtname 'mypct';
infile cards eof=eof;
input start: $8. end: $8. label: $char5.;

sexcl='N';   ***include start value;
eexcl='N';   ***exclue end value;

return;
eof:
start='OTHER';
label='M';
datalines;
0 3 0%
4 6 3%
7 8 6%
;

proc format cntlin=scale;
run;

data test;
   do i=-1 to 9;
      x=put(i,mypct.);
      output;
        end;
run;

proc print;run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群