SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 767|回复: 2
打印 上一主题 下一主题

为何stacking set a b的长度会有这样的变化?

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2012-4-10 11:32:10 | 只看该作者

为何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了之后长度还增大了?

望赐教
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2012-4-10 14:18:00 | 只看该作者

Re: 为何stacking set a b的长度会有这样的变化?

两个变量a的类别不一样,stacking怎么能运行呢?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2012-4-11 10:50:45 | 只看该作者

Re: 为何stacking set a b的长度会有这样的变化?

[quote="johnlxd007":r8fnsvve]两个变量a的类别不一样,stacking怎么能运行呢?[/quote:r8fnsvve]

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

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-5-6 21:20 , Processed in 0.068466 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表