楼主: qzuxwj138
4236 14

[原创博文] proc sql 中的问题!! [推广有奖]

11
nkwilling 发表于 2009-9-24 12:39:15
SAS SQL做不了,兄弟,好好的DATA步不玩,为啥玩SQL?

12
qzuxwj138 发表于 2009-9-24 12:49:59
我举这个例子是简单的,用data步好做。如果是上万条,用data步不好做的啊!sas 中 sql步有的命令和函数我还不太懂,看了好多书也没有,所以来这里找高人求助啦!

13
lion_li 发表于 2009-9-24 13:58:18
如果可以用data步做的话还是比较简单的,SQL俺不是很熟悉;
data temp;
  input var $ @@;
  cards;
  a b c d e f g h i j k l
  ;
  run;
proc sql noprint;
  select strip(put(count(*),best.)) into:nn from temp;
  select strip(var) into :x1-:x&nn from temp;
quit;
%macro create;
data temp;
  length var $256;
  retain var;
  var="&x1"; output;
  %do i=2 %to &nn;
  var=catx('_',var,"&&x&i"); output;
  %end;
run;
%mend;
%create;

14
xiaosanmao 发表于 2009-9-24 19:23:04
qzuxwj138 发表于 2009-9-24 12:49
我举这个例子是简单的,用data步好做。如果是上万条,用data步不好做的啊!sas 中 sql步有的命令和函数我还不太懂,看了好多书也没有,所以来这里找高人求助啦!
是不好做 还是不会做呢?


data temp;
  input var $ @@;
  cards;
  a b c d e f g h i j k l
  ;
  run;
data Temp;
set Temp;
length p$ 200.;
  retain p;
if _n_=1 then  p =var;
else p=catx('_',p,var);
proc print;
run;
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

15
qzuxwj138 发表于 2009-9-24 22:02:56
14# xiaosanmao
非常感谢你的指教啊!
你编的语句非常简洁,太漂亮了!比我自己写的好多了!虽然被你鄙视,但是今后还是希望能多教教我,我对于data步的很多语法不是太会用,函数也不太会。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 10:21