请选择 进入手机版 | 继续访问电脑版
楼主: longgb246
16061 7

[程序分享] Cards与datalines的区别,求大神解答 [推广有奖]

  • 3关注
  • 1粉丝

讲师

62%

还不是VIP/贵宾

-

威望
0
论坛币
2490 个
通用积分
8.3672
学术水平
10 点
热心指数
16 点
信用等级
8 点
经验
1903 点
帖子
311
精华
0
在线时间
613 小时
注册时间
2013-4-26
最后登录
2023-3-18

longgb246 学生认证  发表于 2014-5-2 19:46:49 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求讲解清楚一些基本问题。
1、如题,Cards与datalines的区别?
2、@与@@的区别?
二维码

扫码加我 拉你入群

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

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

关键词:cards Lines line Data card

回帖推荐

jeozu 发表于5楼  查看完整内容

datalines和datalines4的区别在于datalines4中可以使用一些有特殊探疑的符号。同时escape用三个分号;;; 而datalines只使用一个;就可以了。 @表示的是去什么地方。 @@在这里表示的是连续的数据流,无视换行符号\n的存在。再你的程序中,表示不管长度,一直按照group, corej, group, corej, group, corej,....的顺序循环读取直到“;”的出现。(最根本上,@@阻止读取指针换行。)  

jeozu 发表于2楼  查看完整内容

1、如题,Cards与datalines的区别?==》cards是几十年前输入数据是使用的打孔卡(让我们想起了很久很久一起~~~~)。对于行的长度有限制。 datalines和datalines4都是后来为了突破行长度的限制添加的。简单说来,使用datalines和datalines4比cards好。 2、@与@@的区别?==>@是把输入指针移动到制定位置,@@是指不要移动指针到下一行,最大的作用在条件录入。比如input x @@; if x>0 then input @15 y; else input @25 y; 简单 ...
jeozu 发表于 2014-5-3 03:58:54 |显示全部楼层 |坛友微信交流群
1、如题,Cards与datalines的区别?==》cards是几十年前输入数据是使用的打孔卡(让我们想起了很久很久一起~~~~)。对于行的长度有限制。
datalines和datalines4都是后来为了突破行长度的限制添加的。简单说来,使用datalines和datalines4比cards好。
2、@与@@的区别?==>@是把输入指针移动到制定位置,@@是指不要移动指针到下一行,最大的作用在条件录入。比如input x   @@; if x>0 then input @15 y; else input @25 y; 简单说来,就是input了一半,然后说等等,我接个电话,然后继续input刚才的记录。(如果没有@@,一个input就是一次完整的录入操作).
已有 2 人评分经验 论坛币 收起 理由
eijuhz + 100 精彩帖子
admin_kefu + 100 热心帮助其他会员

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

使用道具

longgb246 学生认证  发表于 2014-5-3 10:08:12 |显示全部楼层 |坛友微信交流群
jeozu 发表于 2014-5-3 03:58
1、如题,Cards与datalines的区别?==》cards是几十年前输入数据是使用的打孔卡(让我们想起了很久很久一 ...
谢谢讲解,cards与datalines的区别懂了,你说的datalines4和datalines的用法是一样的吗?
还有就是@有定位的功能我知道,但是@与@@的有些差别,不太分得清。这个程序:
  1. data garden;
  2. input store : $13. count @;
  3. do i=1 to count;
  4.   input item : $ 10. price : 5.2 @;
  5.   output;
  6. end;
  7. drop i;
  8. datalines;
  9. Jmart 4 rake 1250 sprinkler 875 bench 12000 chair 3525
  10. ;
  11. run;
复制代码
@可以跑出结果,而@@在这个地方也可以用。但是有的地方,又有不通的时候,像这个程序:
  1. data aa;
复制代码
这个@@就不可以用@替换。

使用道具

longgb246 学生认证  发表于 2014-5-3 10:11:55 |显示全部楼层 |坛友微信交流群
jeozu 发表于 2014-5-3 03:58
1、如题,Cards与datalines的区别?==》cards是几十年前输入数据是使用的打孔卡(让我们想起了很久很久一 ...
文字有限制,第二个代码在这里,
  1. data aa;
  2. input group $ corej @@;
  3. output;
  4. datalines;
  5. p 77 p 76 p 74 p 72 p 78
  6. d 80 d 84 d 88 d 87 d 90
  7. ;
  8. run;
  9. proc print data=aa;
  10. run;
复制代码
这个@@我用@替换后结果就不一样了。不知道原因是什么。还是谢谢你!

使用道具

jeozu 发表于 2014-5-3 10:20:46 |显示全部楼层 |坛友微信交流群
longgb246 发表于 2014-5-3 10:08
谢谢讲解,cards与datalines的区别懂了,你说的datalines4和datalines的用法是一样的吗?
还有就是@有定 ...
datalines和datalines4的区别在于datalines4中可以使用一些有特殊探疑的符号。同时escape用三个分号;;;  
而datalines只使用一个;就可以了。

@表示的是去什么地方。
@@在这里表示的是连续的数据流,无视换行符号\n的存在。再你的程序中,表示不管长度,一直按照group, corej, group, corej, group, corej,....的顺序循环读取直到“;”的出现。(最根本上,@@阻止读取指针换行。)
 
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
xy_ycl + 1 + 1 + 1 + 1 精彩帖子
eric_darcy + 1 + 1 + 1 精彩帖子

总评分: 论坛币 + 1  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

使用道具

longgb246 学生认证  发表于 2014-5-3 10:28:55 |显示全部楼层 |坛友微信交流群
jeozu 发表于 2014-5-3 10:20
datalines和datalines4的区别在于datalines4中可以使用一些有特殊探疑的符号。同时escape用三个分号;;;   ...
非常感谢,谢谢了!

使用道具

zmj0216 发表于 2018-5-14 09:31:33 |显示全部楼层 |坛友微信交流群
longgb246 发表于 2014-5-3 10:11
文字有限制,第二个代码在这里,这个@@我用@替换后结果就不一样了。不知道原因是什么。还是谢谢你!
@  hold the input record for the execution of the next INPUT statement;

@@ hold the input record for the execution of the next INPUT statement ,even across iterations of the DATA step;

使用道具

15170034317 学生认证  发表于 2019-9-2 21:29:05 |显示全部楼层 |坛友微信交流群
@:读取数据时,所有变量在一行读取完之后自动读取下一行数据作为下一行的观测
@@:形成输出记录时读取所有数据,即使某一行数据个数大于变量个数也不换行

使用道具

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

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

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

GMT+8, 2024-3-29 06:05