楼主: forwings
4334 12

[问答] 123题中的 76题我不懂 [推广有奖]

  • 0关注
  • 0粉丝

高中生

52%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
852 点
帖子
30
精华
0
在线时间
18 小时
注册时间
2016-3-15
最后登录
2018-9-20

楼主
forwings 发表于 2016-3-22 13:24:56 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
                                                                                                                                                题目如下
[size=12.000000pt]
The following SAS program is submitted:
data work.test;
Author = 'Agatha Christie';
First = substr(scan(author,1,' ,'),1,1);
run;
Which one of the following is the length of the variable FIRST in the output dataset?
[size=12.000000pt]A. 1 B. 6 C. 15 D. 200
[size=12.000000pt]Answer: D
[size=12.000000pt]

然后我跑了如下的程序:


data test;

Author = 'Agatha Christie';

First = substr(scan(author,1,' ,'),1,1);

run;


proc datasets;

contents data= test;


run;



结果如下

Alphabetic List of Variables and Attributes

#

Variable

Type

Len

1

Author

Char

15

2

First

Char

15


为什么答案说是200?

我不明白。

求解


                                
                        
               
二维码

扫码加我 拉你入群

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

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

关键词:alphabetic Attributes following Variables attribute following

沙发
孤单的我们 发表于 2016-3-22 14:28:19
scan默认字符长度为200

藤椅
920240553 发表于 2016-3-22 17:05:42
Scan函数如果没有指定变量的长度,则系统默认长度为200。另外,如果scan截取字符的长度大于被截取的字符长度,则会返回空值的。

板凳
forwings 发表于 2016-3-24 14:07:20
920240553 发表于 2016-3-22 17:05
Scan函数如果没有指定变量的长度,则系统默认长度为200。另外,如果scan截取字符的长度大于被截取的字符长度 ...
谢谢!我明白了!
但是为什么在实际运行程序中我返回的字段长度不是200呢..是调用的 Proc datasets 不对么?

报纸
forwings 发表于 2016-3-24 14:07:59
孤单的我们 发表于 2016-3-22 14:28
scan默认字符长度为200
谢谢!但是为什么在实际运行程序中我返回的字段长度不是200呢..是调用的 Proc datasets 不对么?我在一开始也没有定义变量啊。scan函数生成的变量事新的变量啊

地板
孤单的我们 发表于 2016-3-24 16:25:37
forwings 发表于 2016-3-24 14:07
谢谢!但是为什么在实际运行程序中我返回的字段长度不是200呢..是调用的 Proc datasets 不对么?我在一开 ...
  1. data a;
  2.         y="123.1";
  3.         x=scan(y,1,'.');
  4. run;

  5. proc datasets;
  6. contents data= a;
  7. run;
复制代码
你测试一下

7
forwings 发表于 2016-3-25 11:28:21
孤单的我们 发表于 2016-3-24 16:25
你测试一下
我真是x了狗了..

Engine/Host Dependent Information
Data Set Page Size 65536
Number of Data Set Pages 1
First Data Page 1
Max Obs per Page 6470
Obs in First Data Page 1
Number of Data Set Repairs 0
ExtendObsCounter YES
Filename C:\Users\PITTST~1\AppData\Local\Temp\SAS Temporary Files\_TD5448_TYSUN_\a.sas7bdat
Release Created 9.0401M2
Host Created X64_8PRO



Alphabetic List of Variables and Attributes
# Variable Type Len
2 x Char 5
1 y Char 5

这是输出

8
孤单的我们 发表于 2016-3-25 14:45:34
会不会是版本的问题?

9
dogmamongo 发表于 2016-3-26 16:04:08
in version 9.2

the answer is 200

10
forwings 发表于 2016-3-26 20:12:33
孤单的我们 发表于 2016-3-25 14:45
会不会是版本的问题?
哦哦..也是..谢谢~

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 04:49