全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
6348 3
2015-04-26

940
941  %macro getdata(sheetname,print);
942  proc import out=&sheetname datafile= Excelin  dbms =xls  replace;
943      sheet="&sheetname";
944      title "&sheetname data ";
945  %if &print=1 %then
946      proc print data=_last_(obs=25);
947      proc contents;
948  %mend getdata;
949  run;

NOTE: 由于出错,SAS 系统停止处理该步。
WARNING: 数据集 WORK.STOCKINFO 可能不完整。该步停止时,共有 0 个观测和 7 个变量。
WARNING: 数据集 WORK.STOCKINFO 由于该步已停止,而没有被替换。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间          1:00.51
      CPU 时间          5.52 秒


950
951  %getdata(sheet1,0);

NOTE: The import data set has 64147 observations and 7 variables.
NOTE: 成功创建“WORK.SHEET1”数据集。
NOTE: “PROCEDURE IMPORT”所用时间(总处理时间):
      实际时间          0.46 秒
      CPU 时间          0.43 秒


952  %getdata(sheet2,0);

NOTE: “PROCEDURE CONTENTS”所用时间(总处理时间):
      实际时间          0.35 秒
      CPU 时间          0.01 秒



NOTE: The import data set has 58047 observations and 4 variables.
NOTE: 成功创建“WORK.SHEET2”数据集。
NOTE: “PROCEDURE IMPORT”所用时间(总处理时间):
      实际时间          0.43 秒
      CPU 时间          0.43 秒


953  %getdata(sheet3,0);

NOTE: “PROCEDURE CONTENTS”所用时间(总处理时间):
      实际时间          0.10 秒
      CPU 时间          0.01 秒



NOTE: The import data set has 60530 observations and 4 variables.
NOTE: 成功创建“WORK.SHEET3”数据集。
NOTE: “PROCEDURE IMPORT”所用时间(总处理时间):
      实际时间          0.42 秒
      CPU 时间          0.42 秒


954  %getdata(sheet4,0);

NOTE: “PROCEDURE CONTENTS”所用时间(总处理时间):
      实际时间          0.07 秒
      CPU 时间          0.01 秒



NOTE: The import data set has 22026 observations and 4 variables.
NOTE: 成功创建“WORK.SHEET4”数据集。
NOTE: “PROCEDURE IMPORT”所用时间(总处理时间):
      实际时间          0.39 秒
      CPU 时间          0.39 秒


955  run;

NOTE: “PROCEDURE CONTENTS”所用时间(总处理时间):
      实际时间          0.27 秒
      CPU 时间          0.00 秒


956
957  data stockinfo;
958      set sheet1 sheet2 sheet3 sheet4;
ERROR: 变量 mcode 已定义为字符型和数值型。



宏里面怎么将变量由字符型变成数值型? 这里是mcode在sheet3里是字符型,在1,2,4里是数值型


二维码

扫码加我 拉你入群

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

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

全部回复
2015-4-26 10:52:44
data sheet3;
set sheet3;
format mcode1 best 12.;
mcode1=input(mcode,12.);
drop mcode;
rename mcode1=mcode;

自己解决了,加上以上步骤。但不知是否是最有效的办法
二维码

扫码加我 拉你入群

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

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

2015-4-27 12:55:25
宏变量解析出来的叫文本,data步内才分为字符型、数字型,例如

%let var = aaa;
%let var1 = 1;

data a;
  x = &var.;     * var被解析为变量名aaa ;
  x = "&var.";     * var被解析为字符值aaa ;
  x = &var1.;     * var1被解析为数值1 ;
run;
二维码

扫码加我 拉你入群

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

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

2015-4-30 12:24:13
Tigflanker 发表于 2015-4-27 12:55
宏变量解析出来的叫文本,data步内才分为字符型、数字型,例如

%let var = aaa;
谢谢
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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