楼主: fankaiqing
2394 6

求助帮忙解读一段SAS codes [推广有奖]

教授

39%

还不是VIP/贵宾

-

威望
0
论坛币
53338 个
通用积分
50.7818
学术水平
132 点
热心指数
171 点
信用等级
107 点
经验
79630 点
帖子
993
精华
3
在线时间
701 小时
注册时间
2013-3-9
最后登录
2023-11-25

66论坛币
SAS Base 考试题 50题中的第21题里的SAS programs是:

data work.AreaCodes;

       Phonenumber =3125551212;
       Code='('!!substr(Phonenumber, 1, 3)!!')''
run;

里面的Code='('!!substr(Phonenumber, 1, 3)!!')''  , 谁能给出来全面的包括所有细节的解答,必有重赏!




最佳答案

zhengbo8 查看完整内容

1、首先,你的程序无逗号结束,且多了个单引号,无法运行。 2、添加逗号后。 Phonenumber是数值变量,数值长度为10位,但数值存储长度最大只能为8。 因此,SAS系统回默认采用best12.的数值格式存储 Phonenumber。 详细见 http://www.cnblogs.com/zhengbo8/archive/2013/05/18/3085850.html substr(Phonenumber, 1, 3)中 Phonenumber会先自动转换为字符,即长度12胡的字符(前面有两个空格),即' 3125551212'。 subs ...
关键词:codes ODEs code COD ODE
fankaiqing
沙发
zhengbo8 发表于 2014-9-14 13:00:55 |只看作者 |坛友微信交流群
1、首先,你的程序无逗号结束,且多了个单引号,无法运行。
2、添加逗号后。
  1. data work.AreaCodes;
  2.        Phonenumber =3125551212;
  3.        Code='('!!substr(Phonenumber, 1, 3)!!')';
  4. run;
复制代码


Phonenumber是数值变量,数值长度为10位,但数值存储长度最大只能为8。
因此,SAS系统回默认采用best12.的数值格式存储 Phonenumber。
详细见 http://www.cnblogs.com/zhengbo8/archive/2013/05/18/3085850.html


substr(Phonenumber, 1, 3)中 Phonenumber会先自动转换为字符,即长度12胡的字符(前面有两个空格),即'  3125551212'。
substr(Phonenumber, 1, 3)='  3'

!!即||,表示字符串的连。
故程序结果为'(  3)'。


已有 1 人评分论坛币 收起 理由
admin_kefu + 100 热心帮助其他会员

总评分: 论坛币 + 100   查看全部评分

使用道具

藤椅
teihohou 发表于 2014-9-14 23:55:59 |只看作者 |坛友微信交流群
delete

使用道具

板凳
fankaiqing 在职认证  发表于 2014-9-15 09:33:18 |只看作者 |坛友微信交流群
zhengbo8 发表于 2014-9-14 13:00
1、首先,你的程序无逗号结束,且多了个单引号,无法运行。
2、添加逗号后。
还不算最完整,里面的Code='('!!substr(Phonenumber, 1, 3)!!')',
'('  这个SAS 把(当做了一个character, 所以才用''来涵盖起来,')‘ 也是同样意思。
!! 就是|| 你说的没错
substr()是从字符串或者数值串里选取部分内容的function。
这样解释就完整多了。
多谢啦

我刚查了才知道了的

使用道具

报纸
zhengbo8 发表于 2014-9-15 09:38:42 |只看作者 |坛友微信交流群
{:3_44:}

使用道具

地板
fankaiqing 在职认证  发表于 2014-9-16 00:57:58 |只看作者 |坛友微信交流群
zhengbo8 发表于 2014-9-15 09:38
大神牛您拿到那66论坛币了没有呀?俺就是刚查看了一点儿材料嘚瑟一下,你的答案还是最全面的最牛逼的。

使用道具

7
fankaiqing 在职认证  发表于 2014-9-16 00:57:59 |只看作者 |坛友微信交流群
zhengbo8 发表于 2014-9-15 09:38
大神牛您拿到那66论坛币了没有呀?俺就是刚查看了一点儿材料嘚瑟一下,你的答案还是最全面的最牛逼的。

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 14:20