SAS中文论坛

标题: 为何stacking set a b的长度会有这样的变化? [打印本页]

作者: shiyiming    时间: 2012-4-10 11:32
标题: 为何stacking set a b的长度会有这样的变化?
您好,我运行如下程序
[code:jqlgg7bb]data a;
input id a $;
cards;
3 c
4 d
;
run;

data a;
set a;
length id 5;
run;


data b;
input id a;
cards;
3 c
4 d
run;

data b;
set b;
length id 7;
run;

data ab;
set a
b;
run;[/code:jqlgg7bb]
然后运行proc contents可以看到
a的长度是:
#    Variable    Type    Len

2    a           Char      8
1    id          Num       5
b的长度是:
#    Variable    Type    Len

2    a           Num       8
1    id          Num       7

但是我运行如下stacking程序:
[code:jqlgg7bb]data ab;
set a
b;
run;

proc contents data = ab;
run;[/code:jqlgg7bb]

得出的结果竟然是
#    Variable    Type    Len

2    a           Char      1
1    id          Num       8

我就奇怪了,那个a长度变成1还可以理解,因为最长只有1,但是为什么id的长度会变成8呢?我的set a和set b的id的长度分别为5和7,为什么stack了之后长度还增大了?

望赐教
作者: shiyiming    时间: 2012-4-10 14:18
标题: Re: 为何stacking set a b的长度会有这样的变化?
两个变量a的类别不一样,stacking怎么能运行呢?
作者: shiyiming    时间: 2012-4-11 10:50
标题: Re: 为何stacking set a b的长度会有这样的变化?
[quote="johnlxd007":r8fnsvve]两个变量a的类别不一样,stacking怎么能运行呢?[/quote:r8fnsvve]

我的确就是想试验变量长度不一样的时候怎么stack。结果是可以stack的,不过字段长度就让人费解一点了。




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