全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2145 8
2013-10-21

有数据集W1,W2,W3….. 每个数据集都含有相同的变量名Var1-VarN, 但每个数据集中相同变量名长度可能各异,现需要创建一个空的数据集W0,也包含变量名Var1-VarN,且W0中想同变量Var的长度是所有变量中最长的。

倘若只有一个数据集W1,则可以直接采用如下:

Create table W0 like W1

得到,当数据集W有多个时,想知道有什么好的办法得到…..

希望大神们能留个测试代码….

二维码

扫码加我 拉你入群

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

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

全部回复
2013-10-21 14:08:31
假设w1,w2,w3...都在work里,并且除了这些没有其他数据集以‘W’开头:

proc sql;
create table test1 as
select name, max(length) as len
from dictionary.columns
where libname='WORK' and memname eqt 'W'
group by 1
;
quit;

data _null_;
set test1 end=last;
length code $ 1000;
retain code;
if _n_=1 then code='data w0;length '!!strip(name)!!' $'!!strip(put(len,best.));
else code=trim(code)!!' '!!strip(name)!!' $'!!strip(put(len,best.));
if last then do;
code=trim(code)!!'; run;';
call execute(code);
end;
run;
二维码

扫码加我 拉你入群

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

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

2013-10-21 14:44:13
wwang111 发表于 2013-10-21 14:08
假设w1,w2,w3...都在work里,并且除了这些没有其他数据集以‘W’开头:

proc sql;
谢谢@wwang111
里面还有个问题就是 字段有数值型的也有字符型的  不全都是字符定义的了  
会不会复杂了点o
二维码

扫码加我 拉你入群

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

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

2013-10-21 14:56:05
DABUSHAN 发表于 2013-10-21 14:44
谢谢@wwang111
里面还有个问题就是 字段有数值型的也有字符型的  不全都是字符定义的了  
会不会复杂了 ...
proc sql;
create table test1 as
select name,type, max(length) as len
from dictionary.columns
where libname='WORK' and memname eqt 'W'
group by 1,2
;
quit;

data _null_;
set test1 end=last;
length code $ 1000;
retain code;
if _n_=1 then do;
if type=:'c' then code='data w0;length '!!strip(name)!!' $'!!strip(put(len,best.));
else code='data w0;length '!!strip(name)!!' '!!strip(put(len,best.));
end;
else do;
if type=:'c' then code=trim(code)!!''!!strip(name)!!' $'!!strip(put(len,best.));
else code=trim(code)!!''!!strip(name)!!' '!!strip(put(len,best.));;
end;
if last then do;
code=trim(code)!!'; run;';
call execute(code);
end;
run;
二维码

扫码加我 拉你入群

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

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

2013-10-21 15:41:15
wwang111 发表于 2013-10-21 14:56
proc sql;
create table test1 as
select name,type, max(length) as len
请问下  wwang111   你的
type=:'c'
中的:号是什么意思呀?
二维码

扫码加我 拉你入群

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

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

2013-10-21 15:42:51
DABUSHAN 发表于 2013-10-21 15:41
请问下  wwang111   你的
type=:'c'
中的:号是什么意思呀?
就是type的值以'c'开头,这里就相当于type='char'
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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