SAS中文论坛

标题: 为什么用format建立数据格式后,输出的格式还是原来的? [打印本页]

作者: shiyiming    时间: 2004-4-15 23:50
标题: 为什么用format建立数据格式后,输出的格式还是原来的?
多谢各位热心帮忙!特别感谢Willon,每个问题都热心回答我。还有SAS_Dream,小猪,我按照你们的方法解决了问题。
1、对一些数据进行汇总,如年龄 age 16、20、30...建立了format 10-20 ='young' 20-30='old' ....,用proc summary .... format age age. ,在SAS中生成的表也显示 'young', 'old',但是用export 输出到excel 后还是显示 '10'  ,'16'...,为什么?如何能生成和在SAS中汇总表中一样的结果?
2、简单问题,如何把SAS格式的表保存下来?
每次用DATA XX ;
      input XXXX XX ;
         datalines;
         XX XX
         XX XX
         ;
生成的表只存在于work下,关了SAS后再想用就只能再生成一次了。
3、在work 下的表,如何调用?
比如生成了表 temp1
             name id gender
                    XX    01 M
                    XX    90 F
想把它转化成其它SAS表格式,需要处理数据,如何象原来的数据一样调用它?
作者: shiyiming    时间: 2004-4-16 01:50
1. SAS format works only for SAS software, it can not be output to EXCEL.  If you want to see the formated data in EXEL, you have to create another variable by age_catgory=put(age,age.);

2. You have to create a SAS library and write the data set to a permanent SAS data set.

3. It is trvial, set as DATA A; SET B; assume B is already in WORK library.
作者: shiyiming    时间: 2004-6-3 21:33
标题: 回复
1、对一些数据进行汇总,如年龄 age 16、20、30...建立了format 10-20 ='young' 20-30='old' ....,用proc summary .... format age age. ,在SAS中生成的表也显示 'young', 'old',但是用export 输出到excel 后还是显示 '10'  ,'16'...,为什么?如何能生成和在SAS中汇总表中一样的结果?

如上,对重复的值给不同的格式,会出错吧?
20究竟是算'young' 还是'old'?
作者: shiyiming    时间: 2004-6-3 22:51
标题: 回复
[quote:54ee4]20究竟是算'young' 还是'old'? [/quote:54ee4]
算young. 谁先被分配就算谁。

[code:54ee4]proc format ;
value agef
        10-20 ='young'
        20-30='old'
        30-40='...'
;
run;[/code:54ee4]
相当于 
[code:54ee4]proc format ;
value agef
        10-20 ='young'
        20<-30='old'
        30<-40='...'
;
run;[/code:54ee4]




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2