请选择 进入手机版 | 继续访问电脑版
楼主: liyichen17
12550 16

[问答] 如何批量将所有数值型变量转化成字符型? [推广有奖]

gaotao0727 发表于 2014-7-18 09:17:04 |显示全部楼层 |坛友微信交流群
总之,数据类型转换不可直接在原来变量上进行,要赋给一个新的变量在重新命名~~~

使用道具

jingju11 发表于 2014-7-17 23:22
他原始哪个语句根本没有搞清format的定义和类型.
另外如果某些数据型变量名以_ 起始,也有问题把.
京剧
so, you have a better idea, do you ?

使用道具

gaotao0727 发表于 2014-7-18 13:47:35 |显示全部楼层 |坛友微信交流群
freerunning_sky 发表于 2014-7-16 13:28
字符的长度根据你的需要可进行调整。
你这样做,怎么知道现在的字符变量是原来的那个数值变量呢??

使用道具

freerunning_sky 在职认证  发表于 2014-7-21 11:41:53 |显示全部楼层 |坛友微信交流群
gaotao0727 发表于 2014-7-18 13:47
你这样做,怎么知道现在的字符变量是原来的那个数值变量呢??
  1. data your_data;
  2.         array num_all(*) num1-num10;
  3.         drop i j;
  4.         do i=1 to 10000;
  5.                 do j=1 to dim(num_all);
  6.                         num_all(j)=round(10000000*ranuni(i),0.01);
  7.                 end;
  8.                                 id=put(i,12.);
  9.                 output;
  10.         end;
  11. run;


  12. %macro changetype;
  13. data _null_;
  14.         set sashelp.vtable;
  15.         where libname="WORK" & memname="YOUR_DATA";
  16.         call symput("K",left(num_numeric));
  17. run;

  18. proc sql noprint;
  19.         select name into :name_list separated by " "
  20.         from sashelp.vcolumn
  21.         where libname='WORK' & memname='YOUR_DATA' & type='num';
  22. quit;

  23. data output_data;
  24.         set your_data;
  25.         array num_all[*] &name_list;
  26.         array char_all[*] $20. char1-char&k.;
  27.         do i=1 to dim(num_all);
  28.                 char_all[i]=compress(left(num_all(i)));
  29.         end;
  30.                 %do i=1 %to &K.;
  31.                         rename char&i.=%scan(&name_list,&i," ");
  32.                 %end;
  33.         drop i &name_list;
  34. run;
  35. %mend;
  36. %changetype;
复制代码

使用道具

gaotao0727 发表于 2014-7-21 14:58:00 |显示全部楼层 |坛友微信交流群
freerunning_sky 发表于 2014-7-21 11:41
赞一个~~~

使用道具

bobguy 发表于 2014-7-28 03:54:00 |显示全部楼层 |坛友微信交流群
The answer is wrong. In SAS a variable can never be defined as both num and char type.

使用道具

bajie123 发表于 2014-8-16 09:55:40 |显示全部楼层 |坛友微信交流群
nice programming

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-29 09:59